picows – высокопроизводительная библиотека на Python, созданная для разработки asyncio WebSocket клиентов и серверов. Реализованная на Cython, она обеспечивает исключительную скорость и эффективность, превосходя другие популярные WebSocket библиотеки на Python.
#Python #WebSocket #Asyncio #Cython #picows #HighPerformance
https://github.com/tarasko/picows
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - tarasko/picows: Ultra-fast websocket client and server for asyncio
Ultra-fast websocket client and server for asyncio - tarasko/picows
aiopandas — это легковесное расширение для Pandas, добавляющее асинхронную поддержку в map, apply, applymap, aggregate и transform.
import aiopandas as pd
import asyncio
df = pd.DataFrame({'x': range(10)}) # Пример DataFrame
async def f(x):
await asyncio.sleep(0.1 * x) # Симуляция асинхронных операций
return x * 2
df['y'] = await df.x.amap(f, max_parallel=5) # Асинхронное преобразование
print(df)
#Python #Pandas #aiopandas #AsyncIO #BigData #DataScience #ParallelProcessing #AsyncProgramming
https://github.com/telekinesis-inc/aiopandas
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - telekinesis-inc/aiopandas: Lightweight Pandas monkey-patch that adds async support to map, apply, applymap, aggregate…
Lightweight Pandas monkey-patch that adds async support to map, apply, applymap, aggregate, and transform, enabling seamless handling of async functions with controlled max_parallel execution. - te...
1🔥3👍2
PynneX — минималистичная альтернатива тяжелым signal-slot и concurrency-фреймворкам в Python!
#PynneX #PythonAsync #EventDriven #SignalSlot #PubSub #ThreadSafe #PythonConcurrency #Asyncio #PythonDecorators #DevTools #PythonMinimalism #OpenSourcePython
https://github.com/nexconnectio/pynnex
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - nexconnectio/pynnex: PynneX provides a modern emitter-listener (signal-slot) pattern with thread safety, async support…
PynneX provides a modern emitter-listener (signal-slot) pattern with thread safety, async support, and dynamic connection detection. Build decoupled architectures without heavy frameworks. It’s pur...
1👍2🔥2
pyftpdlib — асинхронная библиотека на Python для создания быстрых, масштабируемых и совместимых с RFC-959 FTP-серверов.
#Python #pyftpdlib #FTP #PythonNetwork #AsyncIO #PythonDev #FTPLibrary #PythonTools #OpenSource #DevOps #PythonServer #Программирование
https://github.com/giampaolo/pyftpdlib/
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - giampaolo/pyftpdlib: Extremely fast and scalable Python FTP server library
Extremely fast and scalable Python FTP server library - giampaolo/pyftpdlib
2 4👍1
Samps — современная, безопасная и лёгкая Python-библиотека для работы с последовательным портом (serial port) без внешних зависимостей!
from samps import SerialCommonInterface as Serial
with Serial(port="/dev/tty.usbserial-0001", baudrate=9600) as serial:
print("Порт открыт?", "Да" if serial.is_open() else "Нет")
line = serial.readline()
print(line.decode("utf-8").strip())
print("Порт закрыт")
#Python #SerialPort #samps #AsyncIO #DevTools #PythonLibrary #SerialCommunication #Программирование #PythonDev #OpenSource #TechTools
https://github.com/michealroberts/samps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - michealroberts/samps: Modern, type-safe, zero-dependency Python library for serial port I/O access
Modern, type-safe, zero-dependency Python library for serial port I/O access - michealroberts/samps
2🔥4 3
pyleak — это инструмент для обнаружения утечек asyncio задач, потоков и блокировок event loop в Python.
import asyncio
from pyleak import no_task_leaks, no_thread_leaks, no_event_loop_blocking
async def main():
async with no_task_leaks():
asyncio.create_task(asyncio.sleep(10)) # Эта задача будет обнаружена
await asyncio.sleep(0.1)
def sync_main():
with no_thread_leaks():
threading.Thread(target=lambda: time.sleep(10)).start() # Этот поток будет обнаружен
async def async_main():
with no_event_loop_blocking():
time.sleep(0.5) # Это блокирование будет обнаружено
#Python #AsyncIO #pyleak #Разработка #Тестирование #Программирование #PythonTools #AsyncTasks #Threads #EventLoop #Debugging #OpenSource
https://github.com/deepankarm/pyleak
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - deepankarm/pyleak: Detect leaked asyncio tasks, threads, and event loop blocking with stack trace in Python. Inspired…
Detect leaked asyncio tasks, threads, and event loop blocking with stack trace in Python. Inspired by goleak. - deepankarm/pyleak
1 5⚡2
DripDrop — это библиотека для Python, которая добавляет поддержку прогрессивного стриминга JSON в веб-API.
#Python #FastAPI #Streaming #JSON #WebAPI #AsyncIO #BackendDev #OpenSource #DripDrop #DevTools #ProgressiveJSON #DanAbramov #PoC #ReactIdeas #APIInnovation
https://github.com/macieyng/dripdrop
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - macieyng/dripdrop: Server support for Progressive JSON.
Server support for Progressive JSON. Contribute to macieyng/dripdrop development by creating an account on GitHub.
2⚡5 4👍3🔥2
aiosqlitepool — пул соединений для SQLite в asyncio-приложениях.
aiosqlitepool — это высокопроизводительный пул соединений для асинхронных SQLite-приложений. Он устраняет издержки на создание/закрытие соединений и ускоряет работу с БД за счёт повторного использования «горячих» соединений.
async with pool.connection() as conn:
await conn.execute("INSERT INTO users VALUES (?)", ("Alice",))
await conn.commit()
#Python #SQLite #AsyncIO #FastAPI #aiosqlite #aiosqlitepool #Backend #Performance #DevTools #WebDev #DataEngineering #Database
https://github.com/slaily/aiosqlitepool
Please open Telegram to view this post
VIEW IN TELEGRAM
Transfunctions — это Python-библиотека, которая позволяет из одного шаблона создавать синхронные, асинхронные и генераторные функции.
С помощью шаблонов вы пишете логику один раз и генерируете сразу несколько версий:
@transfunction
def template():
print('so, ', end='')
with sync_context:
print("it's just usual function!")
with async_context:
print("it's an async function!")
with generator_context:
print("it's a generator function!")
yield
template.get_usual_function()
template.get_async_function()
template.get_generator_function()
#Python #AsyncIO #Generators #CodeQuality #DevTools #Backend #Transfunctions #Refactoring #CodeReuse #PythonTips
https://github.com/pomponchik/transfunctions
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - mutating/transfunctions: Say NO to Python fragmentation on sync and async
Say NO to Python fragmentation on sync and async. Contribute to mutating/transfunctions development by creating an account on GitHub.
1🔥3👍2 2
Subprocesslib — это лёгкая библиотека для Python, которая делает работу с subprocess такой же удобной, как с путями в pathlib.
from subprocesslib import Command
cmd = Command('tail', '-n', 5, '/var/log/syslog')
print(cmd) # tail -n 5 /var/log/syslog
cmd.run() # subprocess.run(...)
cmd.output() # subprocess.check_output(...)
cmd.spawn() # subprocess.Popen(...)
await cmd.spawn_async() # asyncio.create_subprocess_exec(...)
#Python #Asyncio #Subprocess #CLI #pathlib #DevTools #PythonTips
https://gitlab.com/chwitlabs/subprocesslib
Please open Telegram to view this post
VIEW IN TELEGRAM
GitLab
Chwitlabs / subprocesslib · GitLab
subprocesslib is a Python library that aims to be like pathlib but for the subprocess module.
1👍4⚡3
Wove — это новая библиотека, делающая асинхронный Python красивым и понятным.
Она позволяет писать асинхронный код линейно, без множества вложенных async/await и колбэков.
Пиши красиво, выполняй параллельно.
#Python #AsyncIO #Concurrency #DevTools #OpenSource #Wove #Multithreading #AsyncProgramming
https://github.com/curvedinf/wove
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - curvedinf/wove: Beautiful Python async
Beautiful Python async. Contribute to curvedinf/wove development by creating an account on GitHub.
1🔥3⚡2👍2
qCrawl — это быстрый асинхронный фреймворк для веб‑краулинга и скрейпинга на Python, заточенный под извлечение структурированных данных с сайтов и высокую нагрузку.
qCrawl позволяет писать пауков на asyncio, параллельно обходить тысячи страниц и сразу выгружать данные в удобные форматы (JSON, CSV, XML). Фреймворк крутится вокруг очередей, пайплайнов и плагиноподобных компонентов, так что архитектура получается ближе к Scrapy, но с современным асинхронным стеком.
Если ты пишешь свои краулеры, сейчас на Scrapy/playwright/обычный aiohttp и хочешь более современную, асинхронную и расширяемую основу — qCrawl выглядит как мощный кандидат. Плюс он кроссплатформенный и ставится через pip или conda, так что порог входа минимальный.
#python #asyncio #webscraping #crawler #qcrawl #pythondeveloper
https://github.com/crawlcore/qcrawl
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - crawlcore/qcrawl: qcrawl - fast async web crawling & scraping framework for Python.
qcrawl - fast async web crawling & scraping framework for Python. - crawlcore/qcrawl
2🔥3👍2⚡1
Embar — это новый ORM для Python с сильной типизацией и SQL‑образным синтаксисом, вдохновлённый Drizzle и рассчитанный на Python 3.14 и выше.
Embar ставит целью сделать работу с БД в Python максимально типобезопасной: ваш type checker знает валидные аргументы и точные типы результатов, а LSP подсказывает, как собрать нужный запрос. Запросы пишутся в SQL‑подобном стиле, но при этом вы всегда можете просто использовать сырой SQL, когда нужно.
Сейчас Embar поддерживает три клиента: SQLite 3 через стандартную библиотеку, Postgres через psycopg3 и Postgres через async‑клиент psycopg3 (рекомендуется именно async‑вариант). Для валидации используется Pydantic, а дизайн библиотеки хорошо ложится на привычные сценарии с FastAPI.
Embar активно использует новые template strings (t‑строки), поэтому поддерживает только Python 3.14. Есть CLI для генерации миграций с помощью LLM и ANTHROPIC_API_KEY, но корректный diff миграций пока в разработке.
#python #orm #asyncio #postgres #sqlite #typing #pydantic #python314 #fastapi #drizzleinspired
https://github.com/carderne/embar
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - carderne/embar: A Python ORM with types
A Python ORM with types. Contribute to carderne/embar development by creating an account on GitHub.
1👍2🔥1
silkworm-rs — async‑first фреймворк для веб‑скрейпинга на Python с «двигателем» на Rust: HTTP‑клиент rnet (имперсонация браузера) + быстрый HTML‑парсер scraper-rs, минимальная модель Spider/Request/Response, middlewares и pipelines без тонны бойлерплейта. Он сразу даёт конкурентный движок с backpressure (очередь по умолчанию
concurrency * 10), таймаутами на запрос, дедупликацией по URL и структурированным логгированием со статистикой по RPS, памяти, количеству URL и ошибок.request.meta["proxy"].Request; HTMLResponse даёт удобные селекторы (select, select_first) и response.follow() для переходов.SkipNonHTMLMiddleware для отбрасывания не‑HTML.run_spider), uvloop на *nix, winloop на Windows и trio‑бэкенд (run_spider_trio) — для I/O‑bound задач это даёт 2–4x прирост.fetch_html_cdp, CDPClient и spider‑примеры). pip install silkworm-rs
# или (рекомендуется)
uv pip install --prerelease=allow silkworm-rs
Дальше — наследуете
Spider, реализуете async def parse(...), yield’ите словари или Request, а run_spider(...) берёт на себя конкурентный движок, middleware’ы и выгрузку данных в нужные пайплайны.#Python #Rust #WebScraping #AsyncIO #silkworm #rnet #scraperRS #DataEngineering #ETL #uvloop
https://github.com/BitingSnakes/silkworm
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - BitingSnakes/silkworm: Async web scraping framework on top of Rust. Works with Free-threaded Python (`PYTHON_GIL=0`).
Async web scraping framework on top of Rust. Works with Free-threaded Python (`PYTHON_GIL=0`). - BitingSnakes/silkworm
Oxyde ORM — асинхронный type‑safe ORM с Pydantic v2 и быстрым Rust‑ядром, сделанный в духе Django ORM, но с современным API и предсказуемым поведением.
User.objects.filter(...), аннотации полей и Meta‑класс для таблиц.oxyde-core), что даёт высокий ops/sec в бенчмарках против популярных ORM.asyncio, с поддержкой PostgreSQL, SQLite и MySQL, транзакций и nested transaction.atomic().db.lifespan(...) для подключения БД на уровне приложения. pip install oxyde
from oxyde import Model, Field
class User(Model):
id: int | None = Field(default=None, db_pk=True)
name: str
email: str = Field(db_unique=True)
#python #orm #asyncio #pydantic #rust #fastapi #postgresql #sqlite #mysql
https://github.com/mr-fatalyst/oxyde
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - mr-fatalyst/oxyde: Oxyde ORM is a type-safe, Pydantic-centric asynchronous ORM with a high-performance Rust core designed…
Oxyde ORM is a type-safe, Pydantic-centric asynchronous ORM with a high-performance Rust core designed for clarity, speed, and reliability. - mr-fatalyst/oxyde
⚡2👍2 2
rsloop — это альтернативный event loop для
asyncio, написанный на Rust через PyO3.Каждый
rsloop.Loop держит выделенный Rust‑поток для координации цикла и I/O, при этом ваши Python‑корутины продолжают выполняться в том же потоке, откуда вы вызываете run_forever() / run_until_complete() (обычно main‑поток).pip install rsloop
# или
uv add rsloop
import rsloop
async def main():
...
rsloop.run(main())
Или вручную:
import asyncio, rsloop
loop = rsloop.new_event_loop()
asyncio.set_event_loop(loop)
try:
loop.run_until_complete(...)
finally:
asyncio.set_event_loop(None)
loop.close()
compio с io_uring), Python‑колбэки и таски остаются на Python‑потоке.run_in_executor, TCP/Unix сокеты, пайпы, сабпроцессы, сигналы, Windows‑пайпы и subprocess‑workflow.rsloop патчит asyncio.open_connection() и asyncio.start_server() для использования нативных быстрых стримов, когда запущен rsloop.Loop и не используется TLS; поведение можно отключить через RSLOOP_USE_FAST_STREAMS=0.with rsloop.profile(): rsloop.run(main()) или ручное start_profiler()/stop_profiler() при сборке с фичей profiler.asyncio и близок к uvloop, иногда чуть медленнее по задачам, но выигрывает по p99‑латентности в реальных API‑нагрузках.#python #asyncio #rust #rsloop #eventloop #io_uring #fastapi #uvloop #PyO3 #profiling
https://github.com/RustedBytes/rsloop
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - RustedBytes/rsloop: An event loop for asyncio written in Rust
An event loop for asyncio written in Rust. Contribute to RustedBytes/rsloop development by creating an account on GitHub.
1🔥4👍3
Pywho — удобный CLI‑инспектор для Python‑окружения: одной командой показывает, какой интерпретатор и venv запущены, куда смотрит
sys.path, куда реально резолвятся импорты.pywho выводит интерпретатор (путь, версия, архитектура), активный venv (тип: venv/virtualenv/uv/conda/poetry/pipenv и т.п.), пути site-packages, менеджер пакетов (pip/uv/conda/poetry/pipenv/pyenv) и полный sys.path.Есть режим
pywho --json и pywho --packages (список установленных пакетов с версиями и путями) для CI/issue‑репортов.pywho trace <module> показывает, из какого файла реально грузится модуль, его тип (stdlib/third-party/local), кэширован ли он и какой порядок поиска по sys.path был использован.- Поиск шадоу‑модулей по проекту
pywho scan . проходит дерево проекта и находит файлы, которые шадовят модули stdlib или установленные пакеты, с градацией по важности: HIGH (stdlib), MEDIUM (third-party).Стандартные мусорные директории вроде
.venv, __pycache__, node_modules, dist, build, .git автоматически игнорируются.Можно использовать как библиотеку:
-
inspect_environment() — объект с инфой про интерпретатор, venv, менеджер пакетов, пути, плюс to_dict() для JSON. -
trace_import("name") — программный аналог pywho trace с полями resolved_path, module_type, is_cached, shadows. -
scan_path(Path(".")) — результаты сканирования на шадоу с уровнем серьёзности.- “Works on my machine” debug: попросить пользователя выполнить
pywho --json --packages и приложить результат к issue или в чат.- Онбординг:
pywho для быстрой проверки, что окружение настроено как надо. - CI:
pywho --json --packages > env.json как снимок окружения сборки.#python #pywho #debugging #virtualenv #asyncio #packagemanagement #devtools #cli #stdlib #import #shadowing
https://github.com/AhsanSheraz/pywho
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - AhsanSheraz/pywho: One command to explain your Python environment, trace imports, and detect shadows.
One command to explain your Python environment, trace imports, and detect shadows. - AhsanSheraz/pywho
1🔥3 2👍1
Kubex — это современный и невероятно быстрый клиент Kubernetes для Python, вдохновленный rust-библиотекой
kube.rs.Если вы писали K8s-операторы на Python, то наверняка сталкивались с медлительностью и прожорливостью стандартного
kubernetes-asyncio.Kubex меняет правила игры, предоставляя инструмент по-настоящему энтерпрайз-уровня!
dict[str, Any]. Все ресурсы K8s, поля spec и status строго типизированы. IDE сама подскажет нужные параметры, а mypy защитит от ошибок еще до запуска.asyncio (aiohttp/httpx) и trio (httpx). Никакого вендор-лока.exec), подключение к потокам (attach) и проброс портов (portforward) работают прямо из кода, как в kubectl.from kubex.api import Api
from kubex.client import create_client
from kubex.k8s.v1_35.core.v1.pod import Pod
async with await create_client() as client:
api: Api[Pod] = Api(Pod, client=client, namespace="default")
pod = await api.get("my-pod")
# pod.spec и pod.status полностью типизированы!
#Kubernetes #Python #DevOps #Pydantic #OpenSource #K8s #Asyncio #Backend
https://github.com/codemageddon/kubex
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - codemageddon/kubex: Python asynchronous client for Kubernetes
Python asynchronous client for Kubernetes. Contribute to codemageddon/kubex development by creating an account on GitHub.
2🔥5👍2⚡1
Kademlia-dynamic - это легковесная асинхронная реализация распределенной хэш-таблицы (DHT) на базе алгоритма Kademlia, написанная на чистом Python и не имеющая никаких внешних зависимостей.
В отличие от классического пакета
kademlia с PyPI, данный модуль спроектирован с упором на современный asyncio (импортируется как kademlia_dynamic), работает из коробки без сторонних библиотек и поддерживает тонкую настройку параметров сети.set() и get() нативно принимают и возвращают как обычные строки (str), так и бинарные файлы (bytes).JSON (удобен для отладки) и компактный Bencode в стиле BitTorrent (BEP 5).verify_response_source сбрасывает пакеты, пришедшие с неисходных IP/портов, защищая узел от спуфинга.max_dispatch_tasks) защищает узел от перегрузки при высоком сетевом трафике.Установка из PyPI:
pip install kademlia-dynamic
Пример создания и запуска DHT-узла:
import asyncio
from kademlia_dynamic import KademliaServer
async def main():
# Создаем сервер (можно выбрать serialization="bencode")
server = KademliaServer(serialization="json")
# Слушаем UDP-порт (для работы в LAN/WAN можно передать ip="0.0.0.0")
await server.listen(port=8000)
# Подключаемся к существующему узлу
await server.bootstrap([("192.168.1.100", 8000)])
# Сохраняем текстовые или бинарные данные в сеть
await server.set("my_key", "Hello, P2P!")
await server.set("my_bytes", b"\x00\x01\x02\x03")
# Читаем данные из DHT
value = await server.get("my_key")
print("Результат:", value)
server.stop()
asyncio.run(main())
#Python #P2P #Kademlia #DHT #AsyncIO #Networking #OpenSource #DevTools #Decentralized
https://github.com/f4rsantos/kademlia_dynamic
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - f4rsantos/kademlia_dynamic
Contribute to f4rsantos/kademlia_dynamic development by creating an account on GitHub.
1⚡3👍3 1
Tortoise ORM - это простая и производительная асинхронная ORM (Object-Relational Mapper) для Python 3.10+, созданная под сильным вдохновением от Django ORM.
Библиотека разработана специально для
asyncio и сочетает привычный, выразительный синтаксис моделей Django с нативной асинхронностью, избавляя от бойлерплейта и необходимости писать «сырые» SQL-запросы в асинхронных микросервисах.async/await) без блокировки event loop.Model, строгая типизация полей (fields), поддержка связей ForeignKeyField / ManyToManyField и удобный QuerySet (filter, annotate, prefetch_related).asyncpg, psycopg)asyncmy, aiomysql)aiosqlite)asyncodbc)tortoise makemigrations, tortoise migrate, tortoise sqlmigrate) для автоматического отслеживания изменений схем и генерации миграций.1. Определение моделей:
from tortoise import fields
from tortoise.models import Model
class Tournament(Model):
id = fields.IntField(primary_key=True)
name = fields.CharField(max_length=50)
class Event(Model):
id = fields.BigIntField(primary_key=True)
name = fields.TextField()
tournament = fields.ForeignKeyField('models.Tournament', related_name='events')
2. Инициализация и работа с данными:
import asyncio
from tortoise import Tortoise
async def main():
# Подключение к БД
await Tortoise.init(
db_url='sqlite://db.sqlite3',
modules={'models': ['__main__']}
)
# Генерация таблиц (для dev-режима)
await Tortoise.generate_schemas()
# Создание записей
tournament = await Tournament.create(name='Cyber Cup 2026')
await Event.create(name='Final Match', tournament=tournament)
# Выборка с подгрузкой связанных связей
events = await Event.filter(tournament=tournament).prefetch_related('tournament')
for event in events:
print(f"Событие: {event.name}, Турнир: {event.tournament.name}")
await Tortoise.close_connections()
asyncio.run(main())
# Базовая версия (SQLite):
pip install tortoise-orm
# С драйвером для PostgreSQL:
pip install "tortoise-orm[asyncpg]"
# С драйвером для MySQL:
pip install "tortoise-orm[asyncmy]"
#Python #TortoiseORM #ORM #AsyncIO #FastAPI #PostgreSQL #MySQL #Database #Backend #DevTools #OpenSource
https://github.com/tortoise/tortoise-orm
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - tortoise/tortoise-orm: Familiar asyncio ORM for python, built with relations in mind
Familiar asyncio ORM for python, built with relations in mind - tortoise/tortoise-orm