Популярность имеет свои минусы. Чем популярней язык программирования, тем выше его распространённость, а значит найдутся те кто поспешит воспользоваться этим.
С ростом популярности Python всё больше на PyPi появляется вредоносных пакетов. Трояны, стиллеры и доставщики более опасных вредоносов.
Команда PyPi постоянно мониторит подобные случаи но и их возможности достигли предела. В результате сервис временно закрывает возможность заливки новых пакетов и регистрации юзеров.
PyPI new user and new project registrations temporarily suspended
Возможно одной из причин большого наплыва вредоносов является резко возросшая доступность их создания. Сегодня любой, даже не программист, может попросить у ChatGPT написать необходимый код и все инструкции для атаки.
Основной тип атаки - рассчёт на опечатку в названии пакета. Если невнимательный программист случайно установит pilow или djangoo, считай что вредонос уже в системе.
Чтобы избежать подобных факапов я рекомендую:
▫️ Всегда работайте в виртуальном окружении, неизвестные проекты устанавливайте внутри контейнеров.
▫️ Используйте файл requirements.txt вместо ручной установки пакетов
▫️ Очень внимательно пишите названия пакетов, а после написания проверьте еще раз. Сверьте с названием из документации.
▫️ После успешных тестов всегда фиксируйте версию пакета. Бывали случаи когда опасный код добавляли в новые версии. К тому же и без этой опасности не рекомендуется ставить по умолчанию последнюю версию.
▫️ Используйте вспомогательные инструменты для проверки безопасности, например https://pyup.io/safety или https://github.com/PyCQA/bandit. Они помогут не только найти опасный код в чужих пакетах, но и ваш код проверит на уязвимости.
Будем надеяться что PyPi переосмыслит методы борьбы с вредоносами, например внедрит ИИ для проверки как симметричный шаг.
#offtop
#Python#Flask#APIs
🐍
REST APIs with Flask and Python in 2023
Build professional REST APIs with Python, Flask, Docker, Flask-Smorest, and Flask-SQLAlchemy
🗣️ Jose Salvatierra, Teclado by Jose Salvatierra
🌟 4.6 - 20097 votes
🔗Link
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
#public#APIs
Public APIs
A collective list of free APIs for use in software and web development
🔍#github
🔗Link
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
https://httpie.org/
#HTTPie consists of a single http command designed for painless debugging and interaction with HTTP #servers, #RESTful#APIs, and web services:
Sensible defaults
Expressive and intuitive command syntax
Colorized and formatted terminal output
Built-in JSON support
Persistent sessions
Forms and file uploads
HTTPS, proxies, and authentication support
Support for arbitrary request data and headers
Wget-like downloads
Extensions
Linux, Mac OSX, and Windows support
And more…
https://blog.miguelgrinberg.com/post/designing-a-restful-api-with-python-and-flask
In recent years #REST (REpresentational State Transfer) has emerged as the standard architectural design for #web services and web #APIs.
In this article I'm going to show you how easy it is to create a RESTful web service using Python and the Flask microframework.
What is REST?
The characteristics of a REST system are defined by six design rules:
Client-Server: There should be a separation between the #server that offers a service, and the #client that consumes it.
Stateless: Each request from a client must contain all the information required by the server to carry out the #request. In other words, the server cannot store information provided by the client in one request and use it in another request.
Cacheable: The server must indicate to the client if requests can be cached or not.
Layered System: Communication between a client and a server should be standardized in such a way that allows intermediaries to respond to requests instead of the end server, without the client having to do anything different.
Uniform Interface: The method of communication between a client and a server must be uniform.
Code on demand: Servers can provide executable code or scripts for clients to execute in their context. This constraint is the only one that is optional.
https://docs.python.org/3/library/multiprocessing.html
multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads. Due to this, the multiprocessing module allows the programmer to fully leverage multiple processors on a given machine. It runs on both Unix and Windows.
The #multiprocessing module also introduces #APIs which do not have analogs in the #threading#module. A prime example of this is the Pool object which offers a convenient means of parallelizing the execution of a function across multiple input values, distributing the input data across processes (data #parallelism). The following example demonstrates the common practice of defining such functions in a module so that child processes can successfully import that module. This basic example of data parallelism using Pool,
http://books.agiliq.com/projects/django-api-polls-tutorial/en/latest/
Building #APIs with #Django and #Django_Rest_Framework(#DRF)
Introductions
Setup, Models and Admin
A simple API with pure Django
#Serializing and Deserializing Data
Views and Generic Views
More views and viewsets
#Access_Control
#Testing and Continuous Integeration
Testing and Using API with Postman
Documenting APIs (with Swagger and more)
🚀 Gobi Partners Invests in Transak to Expand Asian Market Presence
Gobi Partners has announced its investment in Transak. According to ChainCatcher, Transak, established in 2019, offers financial institutions a single API for seamless fiat and digital asset exchanges, handling KYC, AML, risk monitoring, and local payment integration.
The investment aims to support Transak's expansion into the Asian market. Transak has already established its Asia-Pacific headquarters in Hong Kong and plans to enhance integration with payment networks and banking partners in the ASEAN region.
#GobiPartners#Transak#Investment#AsiaMarketExpansion#Fintech#DigitalAssets#KYC#AML#RiskMonitoring#APIs#PaymentIntegration#ASEAN#HongKong#FinancialInstitutions