Модуль gevent позволяет писать асинхронные сетевые приложение использую синхронный API.
Установка
Особенности:
- Быстрый цикл обработки событий на основе
- Облегченные исполнительные модули на основе
- API, который повторно использует концепции из стандартной библиотеки Python (в качестве примеров можно привести
- Совместные сокеты с поддержкой SSL
- Совместные DNS-запросы, выполняемые через
- Утилита Monkey, исправляющая ошибки модулей сторонних производителей для совместной работы
- Серверы TCP / UDP / HTTP
- Поддержка подпроцессов (через
- Пулы потоков
https://pypi.org/project/gevent/
Установка
pip install gevent
Особенности:
- Быстрый цикл обработки событий на основе
libev
или libuv
.- Облегченные исполнительные модули на основе
greenlets
.- API, который повторно использует концепции из стандартной библиотеки Python (в качестве примеров можно привести
events
и queues
).- Совместные сокеты с поддержкой SSL
- Совместные DNS-запросы, выполняемые через
threadpool
, dnspython
или c-ares
.- Утилита Monkey, исправляющая ошибки модулей сторонних производителей для совместной работы
- Серверы TCP / UDP / HTTP
- Поддержка подпроцессов (через
gevent.subprocess
)- Пулы потоков
https://pypi.org/project/gevent/
PyPI
gevent
Coroutine-based network library
👍1
Модуль JMESPath (произносится как "джеймс пат") позволяет декларативно указать, как извлекать элементы из документа JSON.
Установка:
Примеры использования:
Имеем следующий json:
Выражение jmespath
JMESPath также поддерживает ссылки на элементы в списке.
Имеются данные:
Выражение:
Выражение:
Звездочку
Выражение:
В модуле есть функция
Функция
https://github.com/jmespath/jmespath.py
Установка:
pip install jmespath
Примеры использования:
Имеем следующий json:
{"foo": {"bar": "baz"}}
Выражение jmespath
foo.bar
вернет "baz"
.JMESPath также поддерживает ссылки на элементы в списке.
Имеются данные:
{"foo": {"bar": ["one", "two"]}}
Выражение:
foo.bar[0]
вернет "one"
. Также можно ссылаться на все элементы в списке, используя символ звездочки *
, синтаксис:{"foo": {"bar": [{"name": "one"}, {"name": "two"}]}}
Выражение:
foo.bar[*].name
вернет ["one", "two"]
. также поддерживается отрицательная индексация (-1 относится к последнему элементу в списке). Учитывая данные выше, выражение foo.bar[-1].name
вернет "two"
.Звездочку
*
также можно использовать для типов хэшей:{"foo": {"bar": {"name": "one"}, "baz": {"name": "two"}}}
Выражение:
foo.*.name
вернет ["one", "two"]
.В модуле есть функция
jmespath.search
, которая работает со структурами данных python.import jmespath
path = jmespath.search('foo.bar', {'foo': {'bar': 'baz'}})
# 'baz'
Функция
search
в качестве аргумента принимает экземпляр jmespath.Options
для управления тем, как оценивается выражение JMESPath. Наиболее распространенный сценарий использования Options для вывода ключей словаря в нужном порядке:import jmespath
# искомую структуру можно
# скомпилировать, подобно модулю `re`
parsed = jmespath.compile('{a: a, b: b}')
parsed.search(mydata,
jmespath.Options(dict_cls=collections.OrderedDict))
https://github.com/jmespath/jmespath.py
GitHub
GitHub - jmespath/jmespath.py: JMESPath is a query language for JSON.
JMESPath is a query language for JSON. Contribute to jmespath/jmespath.py development by creating an account on GitHub.
👍4❤2
🔁⚡Изменение информации.
👉 Класс time() модуля datetime в Python.
📝 Класс time() модуля datetime представляет собой (локальное) время дня, независимое от какого-либо конкретного дня и подлежащее настройке с помощью объекта datetime.tzinfo().
🌐 https://docs-python.ru/standart-library/modul-datetime-python/klass-time-modulja-datetime/
👉 Класс time() модуля datetime в Python.
📝 Класс time() модуля datetime представляет собой (локальное) время дня, независимое от какого-либо конкретного дня и подлежащее настройке с помощью объекта datetime.tzinfo().
🌐 https://docs-python.ru/standart-library/modul-datetime-python/klass-time-modulja-datetime/
👍2
🔁⚡Изменение информации.
👉 Функция starmap() модуля itertools в Python.
📝 Функция starmap() модуля itertools создает итератор, который вычисляет функцию function, используя аргументы, полученные из кортежей в итерируемой последовательности iterable.
🌐 https://docs-python.ru/standart-library/modul-itertools-python/funktsija-starmap-modulja-itertools/
👉 Функция starmap() модуля itertools в Python.
📝 Функция starmap() модуля itertools создает итератор, который вычисляет функцию function, используя аргументы, полученные из кортежей в итерируемой последовательности iterable.
🌐 https://docs-python.ru/standart-library/modul-itertools-python/funktsija-starmap-modulja-itertools/
👍2
Robyn - это высокопроизводительный, ориентированный на сообщество и удобный для новаторов веб-фреймворк с поддержкой Rust.
Для установки можно просто использовать Pip:
Производительность
Пример использования:
Ознакомьтесь с примерами маршрутов в этом файле.
Robyn совместим со следующими версиями Python:
Python >= 3.9
Рекомендуется использовать последнюю версию Python для достижения наилучшей производительности.
Ссылка: https://robyn.tech/
Для установки можно просто использовать Pip:
pip install robyn
Производительность
Пример использования:
from robyn import Robyn
app = Robyn(file)
@app.get("/")
async def h(request):
return "Hello, world!"
app.start(port=8080)
Ознакомьтесь с примерами маршрутов в этом файле.
Robyn совместим со следующими версиями Python:
Python >= 3.9
Рекомендуется использовать последнюю версию Python для достижения наилучшей производительности.
Ссылка: https://robyn.tech/
Robyn Framework
Robyn - A Fast, Innovator Friendly, and Community Driven Python Web Framework.
Robyn is a fast, innovator-friendly, and community-driven Python web framework.
❤2👍2🔥2
🆕🔥Новый материал.
👉 Строки шаблонов, t-строки в Python
📝 Новое в Python 3.14 Шаблонные строковые литералы (t-строки) являются обобщением f-строк, и используют префикс t вместо префикса f. T-строки вычисляются с новым типом string.templatelib.Template, а не как f-строки в типе str
🌐 https://docs-python.ru/tutorial/operatsii-tekstovymi-strokami-str-python/stroki-shablonov/
👉 Строки шаблонов, t-строки в Python
📝 Новое в Python 3.14 Шаблонные строковые литералы (t-строки) являются обобщением f-строк, и используют префикс t вместо префикса f. T-строки вычисляются с новым типом string.templatelib.Template, а не как f-строки в типе str
🌐 https://docs-python.ru/tutorial/operatsii-tekstovymi-strokami-str-python/stroki-shablonov/
🔥5👍4
🔁⚡Изменение информации.
👉 Метод logger.patch() модуля loguru в Python.
📝 Метод logger.patch() применяет функцию patcher для изменения записи (словарь record), созданной каждым вызовом ведения журнала.
🌐 https://docs-python.ru/packages/modul-loguru-python/funktsiia-logger-patch/
👉 Метод logger.patch() модуля loguru в Python.
📝 Метод logger.patch() применяет функцию patcher для изменения записи (словарь record), созданной каждым вызовом ведения журнала.
🌐 https://docs-python.ru/packages/modul-loguru-python/funktsiia-logger-patch/
👍3
🆕🔥Новый материал.
👉 Как использовать подсказку типа @overload в Pythobn
📝 Иногда аргументы и типы в функции зависят друг от друга таким образом, что это невозможно зафиксировать с помощью типов объединения. Базовые подсказки типов не могут описать такие отношения В описанной ситуации можно использовать декоратор @typing.overload
🌐 https://docs-python.ru/standart-library/modul-typing-python/ispolzovat-podskazku-tipa-overload/
👉 Как использовать подсказку типа @overload в Pythobn
📝 Иногда аргументы и типы в функции зависят друг от друга таким образом, что это невозможно зафиксировать с помощью типов объединения. Базовые подсказки типов не могут описать такие отношения В описанной ситуации можно использовать декоратор @typing.overload
🌐 https://docs-python.ru/standart-library/modul-typing-python/ispolzovat-podskazku-tipa-overload/
👍3❤🔥2🔥1🤡1
🆕🔥Новый материал.
👉 Функция monitoring модуля sys в Python.
📝 Пространство имен sys.monitoring обеспечивает доступ к функциям и константам, необходимым для активации и управления мониторингом событий.
🌐 https://docs-python.ru/standart-library/modul-sys-python/funktsiia-monitoring-modulia-sys/
👉 Функция monitoring модуля sys в Python.
📝 Пространство имен sys.monitoring обеспечивает доступ к функциям и константам, необходимым для активации и управления мониторингом событий.
🌐 https://docs-python.ru/standart-library/modul-sys-python/funktsiia-monitoring-modulia-sys/
👍3🔥3🥰2
🔁⚡Изменение информации.
👉 Обработка/перехват исключений try/except в Python.
📝 Приемы перехвата ошибок конструкцией try/except. Оператор try может содержать несколько предложений except, чтобы указать обработчики для различных исключений. В этом случае будет выполнен только один обработчик.
🌐 https://docs-python.ru/tutorial/oshibki-iskljuchenija-python/obrabotka-iskljuchenij/
👉 Обработка/перехват исключений try/except в Python.
📝 Приемы перехвата ошибок конструкцией try/except. Оператор try может содержать несколько предложений except, чтобы указать обработчики для различных исключений. В этом случае будет выполнен только один обработчик.
🌐 https://docs-python.ru/tutorial/oshibki-iskljuchenija-python/obrabotka-iskljuchenij/
👍2
🔁⚡Изменение информации.
👉 Обработка группы исключений, оператор except* в Python.
📝 Новое в Python 3.11. Группы исключений используются try/except, как и со всеми другими исключениями. Кроме того, они распознаются оператором except*, которое соответствует их подгруппам на основе типов содержащихся исключений.
🌐 https://docs-python.ru/tutorial/oshibki-iskljuchenija-python/gruppy-iskliuchenii-except/
👉 Обработка группы исключений, оператор except* в Python.
📝 Новое в Python 3.11. Группы исключений используются try/except, как и со всеми другими исключениями. Кроме того, они распознаются оператором except*, которое соответствует их подгруппам на основе типов содержащихся исключений.
🌐 https://docs-python.ru/tutorial/oshibki-iskljuchenija-python/gruppy-iskliuchenii-except/
👍3
🔁⚡Изменение информации.
👉 Аннотации типов в Python
📝 Аннотации типов в Python 3.x являются полностью необязательной информацией метаданных о типах, используемых пользовательскими функциями.Аннотации хранятся в атрибуте функции __annotations__ как словарь и не влияют ни на какую другую часть функции.
🌐 https://docs-python.ru/tutorial/annotatsii-tipov-python/
👉 Аннотации типов в Python
📝 Аннотации типов в Python 3.x являются полностью необязательной информацией метаданных о типах, используемых пользовательскими функциями.Аннотации хранятся в атрибуте функции __annotations__ как словарь и не влияют ни на какую другую часть функции.
🌐 https://docs-python.ru/tutorial/annotatsii-tipov-python/
👍3🔥1
🆕🔥Новый материал.
👉 Улучшения сообщений об ошибках в Python 3.14.
📝 Новое в Python 3.14. Подсказки на ошибки при распаковке, полезные подсказки при обнаружении опечаток в ключевых словах, обнаружении неправильно заковыченных строк, elif операторы, следующие за блоком else. Улучшены сообщения об ошибках при использовании as с несовместимыми целями и т.д.
🌐 https://docs-python.ru/tutorial/oshibki-iskljuchenija-python/uluchsheniia-soobshchenii-oshibkakh-14/
👉 Улучшения сообщений об ошибках в Python 3.14.
📝 Новое в Python 3.14. Подсказки на ошибки при распаковке, полезные подсказки при обнаружении опечаток в ключевых словах, обнаружении неправильно заковыченных строк, elif операторы, следующие за блоком else. Улучшены сообщения об ошибках при использовании as с несовместимыми целями и т.д.
🌐 https://docs-python.ru/tutorial/oshibki-iskljuchenija-python/uluchsheniia-soobshchenii-oshibkakh-14/
👍5🔥2
🔁⚡Изменение информации.
👉 Замена try/finally менеджером контекста.
📝 Класс contextlib.ExitStack() позволяет вместо этого зарегистрировать обратный вызов для выполнения в конце оператора with, а затем позднее принять решение, что с этим обратным вызовом делать.
🌐 https://docs-python.ru/standart-library/modul-contextlib-python/zamena-try-finally-flaga-prodolzhenija-menedzherom-konteksta/
👉 Замена try/finally менеджером контекста.
📝 Класс contextlib.ExitStack() позволяет вместо этого зарегистрировать обратный вызов для выполнения в конце оператора with, а затем позднее принять решение, что с этим обратным вызовом делать.
🌐 https://docs-python.ru/standart-library/modul-contextlib-python/zamena-try-finally-flaga-prodolzhenija-menedzherom-konteksta/
❤1👍1
🔁⚡Изменение информации.
👉 Инструкция finally, очистка внешних ресурсов в Python.
📝 В Python блок finally используется в конструкции try...except...finally для выполнения кода, который должен быть выполнен вне зависимости от того, произошло ли исключение или нет. Он часто применяется для освобождения ресурсов, таких как файлы, сетевые соединения и т.п.
🌐 https://docs-python.ru/tutorial/oshibki-iskljuchenija-python/ispolzovanie-finally-konstruktsii-try/
👉 Инструкция finally, очистка внешних ресурсов в Python.
📝 В Python блок finally используется в конструкции try...except...finally для выполнения кода, который должен быть выполнен вне зависимости от того, произошло ли исключение или нет. Он часто применяется для освобождения ресурсов, таких как файлы, сетевые соединения и т.п.
🌐 https://docs-python.ru/tutorial/oshibki-iskljuchenija-python/ispolzovanie-finally-konstruktsii-try/
🔥3👍1
🆕🔥Новый материал.
👉 Функция pairwise модуля itertools в Python
📝 Функция itertools.pairwise - это удобный инструмент из модуля itertools, появившийся в Python 3.10, который позволяет итерироваться по парам последовательных элементов переданной последовательности.
🌐 https://docs-python.ru/standart-library/modul-itertools-python/funktsiia-pairwise-modulia-itertools/
👉 Функция pairwise модуля itertools в Python
📝 Функция itertools.pairwise - это удобный инструмент из модуля itertools, появившийся в Python 3.10, который позволяет итерироваться по парам последовательных элементов переданной последовательности.
🌐 https://docs-python.ru/standart-library/modul-itertools-python/funktsiia-pairwise-modulia-itertools/
🔥3👍1
🔁⚡Изменение информации.
👉 Функция tee() модуля itertools в Python.
📝 Функция tee() модуля itertools возвращает n одинаковых, независимых итераторов из одной итерации.
🌐 https://docs-python.ru/standart-library/modul-itertools-python/funktsija-tee-modulja-itertools/
👉 Функция tee() модуля itertools в Python.
📝 Функция tee() модуля itertools возвращает n одинаковых, независимых итераторов из одной итерации.
🌐 https://docs-python.ru/standart-library/modul-itertools-python/funktsija-tee-modulja-itertools/
👍1🔥1
🔁⚡Изменение информации.
👉 Режимы интерфейса интерпретатора Python.
📝 Конструкция python3 -c <command> - выполняет код в command (может быть одним или несколькими операторами). Конструкция python3 -m <module-name> выполнит содержимое модуля, расположенное в __main__. Конструкция python3 -i <script> выполняет код в script и перейдет в интерактивный режим.
🌐 https://docs-python.ru/tutorial/zapusk-skriptov-python3-komandnoj-stroki/varianty-interfejsa-komandnoj-stroki/
👉 Режимы интерфейса интерпретатора Python.
📝 Конструкция python3 -c <command> - выполняет код в command (может быть одним или несколькими операторами). Конструкция python3 -m <module-name> выполнит содержимое модуля, расположенное в __main__. Конструкция python3 -i <script> выполняет код в script и перейдет в интерактивный режим.
🌐 https://docs-python.ru/tutorial/zapusk-skriptov-python3-komandnoj-stroki/varianty-interfejsa-komandnoj-stroki/
👍2
🔁⚡Изменение информации.
👉 Общие параметры/флаги командной строки Python.
📝 Материал содержит справочную информацию по всем имеющимся параметром командной строки интерпретатора Python, который включает подробное описание каждой из них.
🌐 https://docs-python.ru/tutorial/zapusk-skriptov-python3-komandnoj-stroki/obschie-parametry-flagi-komandnoj-stroki/
👉 Общие параметры/флаги командной строки Python.
📝 Материал содержит справочную информацию по всем имеющимся параметром командной строки интерпретатора Python, который включает подробное описание каждой из них.
🌐 https://docs-python.ru/tutorial/zapusk-skriptov-python3-komandnoj-stroki/obschie-parametry-flagi-komandnoj-stroki/
🔥1
🔁⚡Изменение информации.
👉 Переменные среды окружения Python.
📝 В разделе описанные переменные среды влияют на поведение Python, они обрабатываются перед параметрами/флагами командной строки, отличными от -E или -I.
🌐 https://docs-python.ru/tutorial/zapusk-skriptov-python3-komandnoj-stroki/peremennye-sredy-okruzhenija/
👉 Переменные среды окружения Python.
📝 В разделе описанные переменные среды влияют на поведение Python, они обрабатываются перед параметрами/флагами командной строки, отличными от -E или -I.
🌐 https://docs-python.ru/tutorial/zapusk-skriptov-python3-komandnoj-stroki/peremennye-sredy-okruzhenija/
🔥2👍1