moka-py — это Python-библиотека, созданная для взаимодействия с мощной библиотекой кэширования Moka, написанной на Rust. Теперь вы можете использовать все возможности Moka для кэширования в своих Python-проектах.
Если вашему проекту требуется высокоэффективное кэширование с богатым функционалом, moka-py — это идеальный инструмент. Легко интегрируется и повышает производительность вашего Python-кода.
#Python #Rust #MokaPy #Caching #Performance #OpenSource #SoftwareDevelopmen
https://github.com/deliro/moka-py
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - deliro/moka-py: A high performance caching library for Python written in Rust
A high performance caching library for Python written in Rust - deliro/moka-py
1🔥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
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
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
httptap — мощный CLI-инструмент для глубокого анализа HTTP-запросов
Если вы работаете с API, отлавливаете сетевые тормоза или занимаетесь перфоманс-диагностикой — httptap станет вашим новым любимым инструментом.
Он разбирает HTTP-запрос пошагово: DNS, TCP, TLS-рукопожатие, ожидание ответа сервера, передача тела. Каждый этап — с точными таймингами, диаграммами и метриками.
#python #cli #networking #devtools #http #performance #debugging #api #opensource #httptap
https://github.com/ozeranskii/httptap
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ozeranskii/httptap: Rich-powered CLI that breaks each HTTP request into DNS, connect, TLS, wait, and transfer phases with…
Rich-powered CLI that breaks each HTTP request into DNS, connect, TLS, wait, and transfer phases with waterfall timelines, compact summaries, or metrics-only output. - ozeranskii/httptap
Bengal — это быстрый статический генератор сайтов для Python 3.14+ с параллельной сборкой, автодоком и валидацией контента, ориентированный на современные проекты (блоги, документацию, лендинги и т.п.).
pip install bengal
bengal new site mysite && cd mysite && bengal serve
Первая команда создаёт каркас, вторая поднимает dev‑сервер с live‑reload.
bengal build — продакшн‑сборка.bengal serve — dev‑сервер.bengal validate — проверки и валидация. bengal fix — авто‑фикс проблем. bengal graph report — отчёт по структуре сайта.bengal new site задаёт вопросы и предлагает пресеты: blog, docs, portfolio, product, resume, blank, custom.bengal new site my-docs --template docs
bengal new site my-blog --template blog
bengal new site portfolio --template portfolio
Каждый шаблон создаёт готовые разделы (docs: getting-started, guides, reference; blog: blog + about и т.д.).
bengal init --sections docs --sections tutorials
bengal init --sections blog --with-content --pages-per-section 5
bengal init --sections api --dry-run
Тип секции выводится из имени (blog/posts → blog, docs/guides → doc, about/contact → section).
bengal project skeleton apply my-structure.yaml.[1]#Bengal #Python #StaticSiteGenerator #SSG #Python314 #FreeThreading #WebDev #Docs #Blog #Autodoc #Markdown #Jinja2 #Performance #DevTools
https://github.com/lbliii/bengal
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - lbliii/bengal: ᓚᘏᗢ Bengal — High-performance static site generator for Python 3.14+ with parallel builds, autodoc, and…
ᓚᘏᗢ Bengal — High-performance static site generator for Python 3.14+ with parallel builds, autodoc, and content validation - lbliii/bengal
2 3👍2
py2many — это Python‑транспайлер, который автоматически преобразует Python‑код в Rust, C++, Go, Zig, Julia, Kotlin, Nim, Dart и другие статически типизированные языки.
pip install py2many
# Конвертация в Rust
py2many --rust tests/cases/fib.py
# Конвертация в C++
py2many --cpp tests/cases/fib.py
# Конвертация в Go/Kotlin/Julia/Nim/Dart
py2many --go/--kotlin/--julia/--nim/--dart tests/cases/fib.py
#python #transpiler #rust #cpp #golang #performance #py2many
https://github.com/py2many/py2many
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - py2many/py2many: Transpiler of Python to many other languages
Transpiler of Python to many other languages. Contribute to py2many/py2many development by creating an account on GitHub.
👍2🔥2 1
nitro-pandas — это pandas‑обёртка поверх Polars: пишете привычный pandas‑код, а под капотом крутится Rust‑движок Polars с 5–10x ускорением.
import pandas as pd на import nitro_pandas as npd — всё остальное работает. read_csv_lazy() + .query() + .collect() оптимизируют запросы до выполнения.inplace=True: операции всегда возвращают новый DataFrame.pip install nitro-pandas
#python #pandas #polars #nitropandas #datascience #performance
https://github.com/Wassim17Labdi/nitro-pandas
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Wassim17Labdi/nitro-pandas: A lightweight pandas-compatible DataFrame API built on top of Polars for speed and simplicity
A lightweight pandas-compatible DataFrame API built on top of Polars for speed and simplicity - Wassim17Labdi/nitro-pandas
1🔥3👍2
mypyc — компилятор Python в C‑расширения: пишешь обычный код с type hints (mypy), получаешь 2–4x ускорение без Cython‑синтаксиса.
pip install mypy mypyc # В mypy repo
mypycify compile module.py # → module.cpython‑*.so
#python #mypyc #performance #types #compile
https://github.com/mypyc/mypyc
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - mypyc/mypyc: Compile type annotated Python to fast C extensions
Compile type annotated Python to fast C extensions - mypyc/mypyc
1👍5🔥2 2
OracleTrace — это легковесный Python-профайлер, созданный специально для поиска просадок производительности (регрессий), быстрого сравнения трейсов и наглядной визуализации графа вызовов.
Традиционные профилировщики часто бывают перегружены деталями и плохо подходят для простого ответа на вопрос: «А не стал ли мой скрипт работать медленнее после последних правок?». OracleTrace решает именно эту задачу.
--fail-on-regression).Под капотом используется встроенная функция
sys.setprofile() для перехвата вызовов (call) и возвратов (return). Инструмент замеряет время выполнения каждой функции и фиксирует связи между ними, не требуя тяжелой инструментации кода.pip install oracletrace(Требуется Python 3.10+)
💡 Пример использования:
Сначала сохраняем базовый трейс:
oracletrace my_app.py --json baseline.jsonЗатем сравниваем с новой версией (например, в CI):
oracletrace my_app.py --json current.json --compare baseline.json --fail-on-regression --threshold 25#Python #Profiling #Backend #DevTools #CI #OpenSource #Performance #Programming
https://github.com/KaykCaputo/oracletrace
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - KaykCaputo/oracletrace: Lightweight Python tool to detect performance regressions and compare execution traces with call…
Lightweight Python tool to detect performance regressions and compare execution traces with call graph visualization. - KaykCaputo/oracletrace
1👍3⚡2🔥2 1
Python UUID Utils — это сверхбыстрая замена стандартного модуля
uuid в Python, написанная на Rust. Инструмент разработан как полноценная альтернатива (drop-in replacement): вы можете кратно ускорить генерацию уникальных идентификаторов в вашем приложении без кардинального переписывания кодовой базы.Согласно официальным тестам на Python 3.14, ускорение получается просто космическим:
uuid4(): Стандартная библиотека — 1189 нс | uuid_utils — всего 61 нс (быстрее почти в 20 раз!).uuid7(): Стандартная библиотека — 1336 нс | uuid_utils — 84 нс (быстрее в 15 раз!).hex) или байтов работает быстрее в 4–5 раз.Некоторые крупные фреймворки строго требуют, чтобы объекты UUID были именно инстансами стандартного класса
uuid.UUID из встроенной библиотеки Python, а не сторонними сабклассами. Разработчики это учли! Для таких случаев есть специальный модуль совместимости:import uuid_utils.compat as uuid
# Возвращает родной объект stdlib uuid.UUID,
# но генерирует его в 4-5 раз быстрее стандартного модуля!
my_id = uuid.uuid4()
pip install uuid-utils
# или через conda
conda install -c conda-forge uuid-utils
#Python #Rust #Performance #UUID #Backend #Django #DevTools #Programming #OpenSource #Оптимизация
https://github.com/aminalaee/uuid-utils
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - aminalaee/uuid-utils: Fast, drop-in replacement for Python's uuid module, powered by Rust.
Fast, drop-in replacement for Python's uuid module, powered by Rust. - aminalaee/uuid-utils
3⚡2👍2 2
NumCircBuf — это высокопроизводительная библиотека для Python (реализованная на Cython), предоставляющая численные циклические буферы (circular buffers) со статистическими аккумуляторами, работающими за константное время O(1).
Инструмент разработан специально для задач обработки сигналов в реальном времени, анализа временных рядов и других сценариев, критичных к задержкам, где требуется выжать максимум из аппаратной пропускной способности процессора и памяти.
collections.deque или обычные списки при массовом добавлении данных (extend), и до 10 раз быстрее кольцевых буферов на чистом NumPy. Тесты показывают пропускную способность до 73 ГБ/с!.view() возвращает логическое read-only представление буфера без копирования данных в памяти. Оно ведет себя в коде точно так же, как стандартный одномерный NumPy-массив.fp32, fp64, int32, int64, uint32 и uint64. Привычный API с методами append, extend и clear позволяет внедрить библиотеку как drop-in замену.pip install numcircbuf
#Python #Cython #NumPy #DataScience #SignalProcessing #TimeSeries #Performance #DevTools #OpenSource #Оптимизация
https://github.com/basimali-ai/NumCircBuf
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - basimali-ai/NumCircBuf: High-performance numerical circular buffers for Python, featuring O(1) statistical accumulators.
High-performance numerical circular buffers for Python, featuring O(1) statistical accumulators. - basimali-ai/NumCircBuf
1 3👍1 1
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
Shed Skin - это экспериментальный транспайлер, который переводит программы на чистом Python 3 с неявной статической типизацией в оптимизированный код на C++.
На выходе инструмент может собирать как автономные исполняемые файлы, так и скомпилированные C++ модули расширения, которые можно импортировать в обычный Python-код в качестве ускоренных библиотек. В отличие от Cython, Shed Skin не требует ручного описания типов в C-стиле — он выводит их автоматически из логики программы.
shedskin build my_script) или в нативный модуль расширения для вызова из стандартного CPython.Shed Skin поддерживает только строго ограниченное подмножество возможностей языка Python:
random, re, math, time), произвольные тяжелые внешние зависимости подключить нельзя.*args / **kwargs).В Linux / macOS:
shedskin build test
./build/test
В Windows:
shedskin build test
build\test.exe
#Python #Cpp #ShedSkin #Transpiler #Compiler #Performance #Optimization #OpenSource #DevTools #Algorithms
https://github.com/shedskin/shedskin
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - shedskin/shedskin: Shed Skin is a restricted-Python-to-C++ transpiler. Read the introduction below to learn about the…
Shed Skin is a restricted-Python-to-C++ transpiler. Read the introduction below to learn about the restrictions. - shedskin/shedskin
🔥3 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
Fastlogging-rs - это сверхбыстрый и универсальный кросс-язычный фреймворк для логирования, написанный на Rust и предоставляющий унифицированный API для Python, Rust, C/C++, Go, Java и C#.
Главная проблема традиционных логгеров (например, стандартного модуля
logging в Python) — синхронный ввод-вывод, способный сильно просаживать производительность под высокой нагрузкой.fastlogging-rs решает это архитектурно: вызовы логов абсолютно неблокирующие (non-blocking) и потокобезопасные, а сброс данных во внешние приемники происходит в фоновых потоках. В бенчмарках на запись в файл с ротацией он оказывается быстрее стандартного Python-логгера более чем в 100 раз (0.17 с против 35.2 с).multiprocessing / child processes) в основной процесс с поддержкой глубоких уровней вложенности.JSON, XML, YAML).from fastlogging import Logging
# Инициализация и логирование
log = Logging()
log.info("Привет из fastlogging!")
# Корректное завершение фоновых потоков
log.shutdown(False)
#Fastlogging #Rust #Python #Logging #Performance #Backend #DevTools #Cpp #Golang #Java #OpenSource
https://github.com/brmmm3/fastlogging-rs
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - brmmm3/fastlogging-rs: High-performance async Rust logging library with non-blocking writers and bindings for C, C++,…
High-performance async Rust logging library with non-blocking writers and bindings for C, C++, C#, Go, Java and Python - brmmm3/fastlogging-rs
👍3⚡1
TurboPython - это опережающий (AOT) компилятор, транслирующий статически типизированный Python через современный C++23 напрямую в автономный нативный бинарник без интерпретатора, сборщика мусора и GIL.
В отличие от Cython, mypyc или Nuitka, сгенерированный код вообще не опирается на рантайм CPython и подсчет ссылок, а в отличие от Codon и Shed Skin — не использует сторонний сборщик мусора (GC). Памятью управляет строгая модель владения (Ownership) в стиле Rust, проверяемая прямо во время компиляции. При этом исходные файлы остаются синтаксически валидным кодом на Python, понятным привычным линтерам, IDE и кодинг-агентам.
@noalloc.Own[T], а неявные копирования данных подсвечиваются компилятором еще до запуска программы.spawn) нативных потоков ОС без ограничений GIL. Компилятор на этапе сборки статически проверяет контракты Send и Sync, предотвращая состояние гонки (data races). Доступ к разделяемым ресурсам идет через знакомые примитивы: Arc[Mutex[T]], RwLock, атомики и каналы.int32), литералы и функция len() по умолчанию 32-битные с проверкой переполнения на аппаратном уровне (ошибка вместо тихого заворачивания значения). Стандартный int остается длинной арифметикой произвольной точности.@native, @export(binding="C")), генерирует чистый C++ код с готовыми CMakeLists.txt и умеет компилироваться как в автономные бинарники, так и в нативные модули расширения для стандартного CPython.from dataclasses import dataclass
from tpy import Own, int32
@dataclass
class Stats:
count: int32
total: int32
longest: int32
# Функция передает владение объектом Stats вызывающей стороне
def measure(words: list[str]) -> Own[Stats]:
total, longest = 0, 0
for w in words:
total += len(w)
longest = max(longest, len(w))
return Stats(len(words), total, longest)
s = measure("the quick brown fox jumps over the lazy dog".split())
print(s.count, s.total, s.longest)
Установка компилятора (требуется Python 3.12+ и Clang 19+ / GCC 13+):
# Установка с бандлом компилятора Zig
pip install "tpy-lang[bundled]"
Компиляция и запуск:
# Запуск через JIT-подобный вызов или REPL
tpy stats.py
# Сборка в автономный нативный бинарный файл
tpyc -b stats.py
./__tpyc__/stats.d/release/stats
# Просмотр сгенерированного чистого C++ кода
tpy --dump-code stats.py
#TurboPython #Python #Cpp #Compiler #AOT #Performance #Rust #NoGIL #Multithreading #DevTools #OpenSource #SoftwareEngineering
https://github.com/trozen/tpy-lang
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - trozen/tpy-lang: TurboPython: a Python-to-C++ compiler. Typed Python to native binaries with no Python runtime, no GC…
TurboPython: a Python-to-C++ compiler. Typed Python to native binaries with no Python runtime, no GC, no GIL. - trozen/tpy-lang
👍3⚡2 2