BlackSheep — это асинхронный веб-фреймворк для создания событийных веб-приложений на Python. Он вдохновлён Flask, ASP.NET Core и работами Юрия Селиванова.
from datetime import datetime
from blacksheep import Application, get
app = Application()
@get("/")
async def home():
return f"Hello, World! {datetime.utcnow().isoformat()}"
BlackSheep предоставляет CLI для быстрого создания проектов.
#Python #WebDevelopment #Async #BlackSheep #Разработка #ВебФреймворк
https://github.com/Neoteroi/BlackSheep
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Neoteroi/BlackSheep: Fast ASGI web framework for Python
Fast ASGI web framework for Python. Contribute to Neoteroi/BlackSheep development by creating an account on GitHub.
1⚡3👍2
Kreuzberg — это библиотека для простого и удобного извлечения текста из PDF-файлов, изображений и офисных документов без лишней возни.
PDF, DOCX, PPTX, ODT, RTF, JPEG, PNG, TIFF, BMP, GIF, WebP, CSV, TSV, HTML, TXT, Markdown, LaTeX и др.
🎯Планы развития:
#Python #PDF #OCR #TextExtraction #Kreuzberg #Async #OpenSource #DevTools
https://github.com/Goldziher/kreuzberg
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - xberg-io/xberg: A polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured…
A polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information from PDFs, Office documents, images, and 97+ formats. Available for Rust, Pyt...
1🔥3👍2
Pydoll — это инновационная библиотека Python, которая переосмысляет автоматизацию браузера Chromium! В отличие от других решений, Pydoll полностью исключает необходимость в веб-драйверах, обеспечивая более плавный и надежный процесс автоматизации.
#Python #Pydoll #Automation #WebAutomation #Async #Chromium #CaptchaBypass #SeleniumAlternative
https://github.com/thalissonvs/pydoll
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - autoscrape-labs/pydoll: Pydoll is a library for automating chromium-based browsers without a WebDriver, offering realistic…
Pydoll is a library for automating chromium-based browsers without a WebDriver, offering realistic interactions. - autoscrape-labs/pydoll
1⚡4👍3🔥1
Clypi — это легковесный, асинхронный и типобезопасный Python-фреймворк для создания CLI-приложений.
from clypi import Command
class MyCli(Command):
name: str # Аргумент автоматически парсится как `--name <NAME>`
async def run(self):
print(f"Привет, {self.name}!")
cli = MyCli.parse()
cli.run()
🔘Сравнение с другими библиотеками:
🔺Argparse – встроенный, но устаревший и ограниченный.
🔺Click – удобный, но не поддерживает асинхронность и строгую типизацию.
🔺Typer – мощный, но зависит от Click и не дает гибкости в аргументах.
🔺Rich – хорош для UI, но сложный для интеграции в CLI.
🔺Clypi – объединяет лучшее от всех: типизация, асинхронность, красивый UI и удобные команды!
#Python #CLI #Clypi #Automation #Async
https://github.com/danimelchor/clypi
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - danimelchor/clypi: Your all-in-one for beautiful, prod-ready CLIs
Your all-in-one for beautiful, prod-ready CLIs. Contribute to danimelchor/clypi development by creating an account on GitHub.
1👍2👎2🔥2
Multiplex — мощный CLI-мультиплексор и Python API для параллельного запуска процессов.
Запустить сервер, подождать 2 сек, затем выполнить бенчмарк и завершить всё:
multiplex "SERVER|silent=python3 -m http.server" "+2s|end=ab -n1000 http://localhost:8000/"
#Python #DevTools #CLI #Async #Multiprocessing #Automation #DevOps #Multiplex #OpenSource #Параллелизм #Скрипты #PythonTools #Разработка
https://github.com/sebastien/multiplex
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - sebastien/multiplex: Command-line process multiplexer
Command-line process multiplexer. Contribute to sebastien/multiplex development by creating an account on GitHub.
2👍3⚡2🔥1
robinzhon — это высокопроизводительная Python-библиотека для быстрых и параллельных загрузок объектов из S3(Amazon Simple Storage Service, облачное хранилище от AWS).
from robinzhon import S3Downloader
client = S3Downloader("us-east-1")
client.download_file("bucket", "object", "./object")
#python #aws #s3 #async #aio #performance #opensource #devtools #cloud #robinzhon
https://github.com/rohaquinlop/robinzhon
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - rohaquinlop/robinzhon: Minimal, high-performance Python helpers for concurrent S3 object transfers
Minimal, high-performance Python helpers for concurrent S3 object transfers - rohaquinlop/robinzhon
1👍2🔥1
Trio — это современная библиотека для Python (3.9+), которая упрощает работу с асинхронным кодом и параллельным I/O.
#Python #Async #Concurrency #IOLibrary #StructuredConcurrency #Trio #OpenSource #Backend #AsyncAwait #PyPI
https://github.com/python-trio/trio
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - python-trio/trio: Trio – a friendly Python library for async concurrency and I/O
Trio – a friendly Python library for async concurrency and I/O - python-trio/trio
AuthTuna — современный асинхронный фреймворк безопасности для Python.
pip install authtuna fastapi uvicorn[standard] asyncpg aiosqlite python-dotenv
from fastapi import FastAPI, Depends
from authtuna.middlewares.session import DatabaseSessionMiddleware
from authtuna.integrations.fastapi_integration import get_current_user
app = FastAPI()
app.add_middleware(DatabaseSessionMiddleware)
@app.get("/me")
async def me(user=Depends(get_current_user)):
return {"id": user.id, "username": user.username}
#Python #FastAPI #Security #Auth #RBAC #SSO #MFA #Async #DevTools #OpenSource
https://github.com/shashstormer/authtuna
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - shashstormer/AuthTuna: This is a plug and play auth library with features enough for all purposes from simple auth to…
This is a plug and play auth library with features enough for all purposes from simple auth to SSO, RBAC and passkeys while the core is framework agnostic it is specialized for fastapi. - shashsto...
1⚡3🔥2 2
Logly — это высокопроизводительная библиотека логирования, вдохновлённая Loguru, но построенная на Rust.
pip install logly
#Python #Rust #Logging #Loguru #Performance #PyO3 #Maturin #Async #DevTools
https://github.com/muhammad-fiaz/logly
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - muhammad-fiaz/logly: Logly is a Rust-powered, Loguru-like logging library for Python that combines the familiarity of…
Logly is a Rust-powered, Loguru-like logging library for Python that combines the familiarity of Python’s standard logging API with high-performance logging capabilities. - muhammad-fiaz/logly
1🔥4👍2
FastScheduler — это простой, лёгкий планировщик задач для Python с поддержкой async, учётом часовых поясов, cron‑выражениями и удобным дашбордом.
@scheduler.every(10).seconds, @scheduler.daily.at("09:00"), @scheduler.cron("*/15 * * * *") вешаются прямо на функции (sync или async). .timeout(30), ретраи .retries(5) с экспоненциальным backoff, отключение догоняющих запусков .no_catch_up(), pause/resume/cancel по ID или имени функции. базово:
pip install fastscheduler.с дашбордом:
pip install fastscheduler[fastapi]. с cron:
pip install fastscheduler[cron]. всё сразу:
pip install fastscheduler[all]. from fastscheduler import FastScheduler
scheduler = FastScheduler(quiet=True)
@scheduler.every(10).seconds
def task():
print("Task executed")
@scheduler.daily.at("14:30")
async def daily_task():
print("Daily task at 2:30 PM")
scheduler.start()
#FastScheduler #Python #Async #TaskScheduler #Cron #FastAPI #BackgroundJobs #DevTools #Monitoring #DeadLetterQueue
https://github.com/MichielMe/fastscheduler
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - MichielMe/fastscheduler: Decorator-first Python scheduler — cron/interval/at jobs with simple persistence and built-in…
Decorator-first Python scheduler — cron/interval/at jobs with simple persistence and built-in run history. - MichielMe/fastscheduler
1 2⚡1👍1
WebRockets — это высокопроизводительный WebSocket-сервер для Python с нативной поддержкой Django. Ядро написано на Rust (PyO3 + axum + fastwebsockets) для максимальной скорости — до 10x быстрее Daphne в бенчмарках.
runwebsockets.from webrockets import WebsocketServer
server = WebsocketServer(host="0.0.0.0", port=8080)
echo = server.create_route("ws/echo/", "echo")
@echo.connect("before")
def on_connect(conn): print(f"Connected: {conn.path}")
@echo.receive
def on_message(conn, data): conn.send(f"You said: {data}")
server.start()
Django (websockets.py в app):
from webrockets.django import server
from webrockets.django.auth import SessionAuthentication
chat = server.create_route("ws/chat/", "chat", authentication_classes=[SessionAuthentication()])
@chat.connect("before")
def on_connect(conn): print(f"User {conn.user} joined")
@chat.receive(match=Match("type", "message"), schema=ChatMessage)
def on_message(conn, data: ChatMessage): conn.broadcast([data.room], data.content)
# Запуск: python manage.py runwebsockets
pip install webrockets[django,schema].#WebRockets #WebSocket #Django #Rust #Python #Async #HighPerformance #WebDev #OpenSource
https://github.com/ploMP4/webrockets
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ploMP4/webrockets: High-performance rust powered websockets for python
High-performance rust powered websockets for python - ploMP4/webrockets
2👍6🔥2 2
Runloom - это библиотека для Python, которая позволяет запускать сотни тысяч задач одновременно, не усложняя при этом код.
Если говорить простыми словами: обычно, чтобы сделать программы в Python быстрыми и параллельными, разработчикам приходится переписывать весь проект под
async и await. Runloom позволяет писать самый обычный, понятный код (без асинхронной «лапши»), но выполняет его так же быстро и эффективно, как язык Go (Golang).async и await: Вы пишете привычные функции, а библиотека сама незаметно переключает задачи в фоновом режиме, пока одна из них ждет ответа от сети или диска.runloom.monkey.patch() умеет на лету превращать стандартные «медленные» библиотеки (например, urllib или socket) в параллельные без переписывания вашего кода.import threading
import runloom
from urllib.request import urlopen
# Делаем стандартные сетевые запросы параллельными
runloom.monkey.patch()
def download(url):
# Код выглядит так, будто он блокирует программу и ждет ответа...
# Но Runloom не дает ему зависнуть и скачивает всё одновременно!
body = urlopen(url).read()
print("Скачано байт:", len(body))
def main():
# Запускаем 64 скачивания параллельно
for _ in range(64):
runloom.fiber(download, "http://example.com")
# Распределяем работу на 8 ядер процессора
runloom.run(8, main)
pip install runloom
#Python #Runloom #Performance #Async #Concurrency #Go #Golang #DevTools #OpenSource #Программирование
https://github.com/robertsdotpm/runloom
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - robertsdotpm/runloom: (Still experimental) Real Goroutines for Python 3.13t+ free-threaded.
(Still experimental) Real Goroutines for Python 3.13t+ free-threaded. - robertsdotpm/runloom
1👍2🔥2 1
TonIO - это многопоточный асинхронный рантайм для free-threaded Python (сборки без GIL), написанный на Rust поверх крейта
mio и вдохновленный архитектурой Tokio, Trio и TinyIO.В отличие от стандартного
asyncio, чей цикл событий (event loop) жестко привязан к одному системному потоку, TonIO спроектирован под реалии современного многопоточного Python 3.13+ (PEP 703): рантайм автоматически распределяет и исполняет корутины параллельно на нескольких ядрах процессора.tonio.colored предоставляет привычный синтаксис async / await.tonio позволяет писать асинхронный код через обычные генераторы и yield, полностью избавляя от проблемы «цветных функций».mio: Высокопроизводительный неблокирующий системный I/O (epoll, kqueue, IOCP) и планировщик задач прямо под капотом Python.tonio.scope() гарантирует корректную отмену и сбор всех дочерних корутин при выходе из контекста или возникновении исключений.tonio.select() для конкурентных гонок задач (отменяет оставшиеся корутины при первом завершении).Event и комбинируемые ожидатели Waiter через операторы пересечения и объединения (w1 & w2, w1 | w2).Lock, Semaphore, Barrier и каналы передачи сообщений (bounded и unbounded) с неблокирующими методами send_nowait / receive_nowait.open_tcp_stream, serve_tcp).tonio.io для подключения любых файловых дескрипторов ОС к системному поллеру.tonio.fs и управление подпроцессами (run_process, open_process).@pytest.mark.tonio и авто-режимом для тестирования асинхронного кода.С классическим синтаксисом
async / await:import tonio.colored as tonio
async def fetch_data(task_id: int):
await tonio.sleep(0.5)
return f"Результат {task_id}"
@tonio.main
async def main():
# Параллельный запуск задач в пуле потоков рантайма
parallel = tonio.spawn(
fetch_data(1),
fetch_data(2)
)
extra = await fetch_data(3)
res1, res2 = await parallel
print([res1, res2, extra])
main()
С синтаксисом на чистом
yield (без async/await):import tonio
def fetch_data(task_id: int):
yield tonio.sleep(0.5)
return f"Результат {task_id}"
@tonio.main
def main():
parallel = tonio.spawn(fetch_data(1), fetch_data(2))
extra = yield fetch_data(3)
res1, res2 = yield parallel
print([res1, res2, extra])
main()
⚠️ Важно: Проект находится в активной разработке (WIP), не совместим напрямую с объектами asyncio (для интеграций доступен проект-патчер TonIO-Monkey) и рассчитан исключительно на free-threaded Python без GIL.
#Python #Rust #TonIO #Async #NoGIL #FreeThreaded #Tokio #Concurrency #Multithreading #Performance #DevTools #OpenSource
https://github.com/gi0baro/tonio
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - gi0baro/tonio: A multi-threaded async runtime for Python
A multi-threaded async runtime for Python. Contribute to gi0baro/tonio development by creating an account on GitHub.
👍3🔥3