Перейти к содержанию
СТРОИТЕЛЬНЫЕ БЛОКИ / БИБЛИОТЕКИ

Небольшие части.
Надёжная основа.

Двенадцать библиотек Python для инфраструктуры вашего сервиса. Выбирайте нужное: общие принципы позволяют частям работать вместе.

Строгая типизацияОпциональные зависимостиApache 2.0
Выбрать компоненты
СОБЕРИТЕ СВОЙ СТЕК

Каталог пакетов

12 библиотек Bedrock и полезные проекты сообщества
01

Жизненный цикл и протоколы

4

Запускайте сервисы и связывайте их между собой.

servicewright

Один Host и несколько Entrypoint: FastAPI, Litestar, gRPC, планировщик, демон или разовая задача с единым жизненным циклом, корректным для Kubernetes.

Python 3.12+ядро без зависимостей
uv add servicewright

clientwright

Общее ядро отказоустойчивости и наблюдаемости под публичным API httpx, aiohttp, requests и urllib3 — вы получаете привычный клиент выбранной библиотеки.

Python 3.12+ядро без зависимостей
uv add clientwright

grpc-server-kit

Серверы grpc.aio без шаблонного кода: фасад GrpcApp, TLS/mTLS, корректное завершение, проверки состояния и перехватчики с поддержкой потоковых вызовов.

Python 3.12+только grpcio
uv add grpc-server-kit

grpc-client-kit

Клиентская сторона: пул каналов с учётом всех параметров, балансировка нагрузки, мониторинг состояния и повторы в рамках общего дедлайна вызова.

Python 3.12+только grpcio
uv add grpc-client-kit
02

Данные и обмен сообщениями

3

Postgres, Redis, Kafka — клиенты для повседневных задач сервиса.

redis-client-kit

Асинхронные и синхронные клиенты redis-py: кластеры, пул соединений, проверки состояния и повторы. Настройки Pydantic, Prometheus и Dishka подключаются отдельно.

Python 3.10+
uv add redis-client-kit
03

Отказоустойчивость

3

Однократные эффекты и ограниченное время выполнения.

omni-box

Транзакционные Outbox и Inbox: событие сохраняется в одной транзакции с бизнес-данными, отправляется в Kafka фоновым процессом и принимается с дедупликацией.

Python 3.12+
uv add omni-box

idempotency-kit

Одно выполнение операции на ключ идемпотентности: координатор и декоратор поверх Redis, обработка коллизий, управляемая деградация и метрики.

Python 3.11+
uv add idempotency-kit

deadline-budget

Общий бюджет времени запроса с ограничением на каждый вызов и запасом на завершение. Его передают между сервисами clientwright, grpc-client-kit и servicewright.

Python 3.10+без зависимостей
uv add deadline-budget
04

Эксплуатация и тестирование БД

2

Планируйте секции. Проверяйте миграции.

pg-partsmith

Управление секциями PostgreSQL с просмотром плана до выполнения. RANGE, LIST и HASH с любой глубиной вложенности — библиотека, CLI и контейнер.

Python 3.11+стабильная версия
uv add pg-partsmith

alembic-gauntlet

Плагин pytest для проверки миграций Alembic: пошаговые upgrade и downgrade, расхождения моделей, единственная головная ревизия, полный откат и правила именования.

Python 3.10+плагин pytest
uv add alembic-gauntlet
05

Создайте свою библиотеку

1

Каждая из этих библиотек начиналась здесь.

ШАБЛОН ПРОЕКТА

python-library-template

Шаблон Copier: uv, hatchling, ruff, mypy, модульные и интеграционные тесты pytest, документация Zensical, Release Please с доверенной публикацией на PyPI и общие настройки репозитория.

шаблон Copier

Метки версий ведут на PyPI и обновляются при загрузке страницы.