Skip to content

Open-source templates and libraries for building production-ready Python applications — web services, microservices, and the dependency injection that wires them together.

  • Project templates


    Dockerized, batteries-included starting points for new web apps.

    Browse templates

  • Dependency injection


    The modern-di and that-depends DI frameworks.

    Browse DI

  • Microservices, HTTP & messaging


    Bootstrapping, HTTP clients, and FastStream broker tooling.

    Browse services

  • Utilities


    Small, focused helpers for everyday Python projects.

    Browse utilities

The stack

The modern-python projects fit together into one coherent stack for building production Python services. Use one piece or all of them — each is independent.

  • Start from a template. fastapi-sqlalchemy-template and litestar-sqlalchemy-template give you a dockerized, batteries-included app — FastAPI or Litestar, SQLAlchemy 2, PostgreSQL, with dependency injection already wired.
  • Wire your dependencies with modern-di — typed, scoped dependency injection with one wiring shared across web frameworks (FastAPI, Litestar, Starlette, Flask, aiohttp), task queues (Celery, arq, taskiq), RPC and messaging (gRPC, FastStream, aiogram), and CLIs (Typer). (that-depends, the older DI framework, is still maintained.)
  • Call other services reliably with httpware — an httpx-based client with typed errors, typed response bodies, and a composable resilience chain (retry, bulkhead, circuit breaker).
  • Publish events reliably with faststream-outbox — the transactional outbox pattern for FastStream + PostgreSQL: write your domain row and outbox row in one transaction, relay to any broker with one decorator.
  • Instrument everything with lite-bootstrap — OpenTelemetry, Prometheus, Sentry, and structlog wired into FastAPI, Litestar, or FastStream in a few lines.

Every project is built with the same tooling (uv, ruff, ty) under the MIT license, to one shared standard. Browse the full catalog below.

Project templates

Dependency injection

Which one should I use?

Start new projects on modern-di — a minimal core plus framework integrations, listed in its docs.

that-depends is the earlier, async-first sibling and stays maintained. modern-di has migration guides from that-depends and from dependency-injector.

  • modern-di: Powerful dependency-injection framework with IoC container and scopes
  • that-depends: Simple, typed dependency-injection framework for Python

Microservices, HTTP & messaging

  • lite-bootstrap: Lightweight bootstrap for production-ready Python microservices
  • httpware: Typed, resilient HTTP clients for Python, sync and async
  • jwks-client: Async JWKS client for verifying JWTs, with key caching, resilient fetching, and Litestar and FastAPI integrations
  • faststream-redis-timers: FastStream integration for Redis-backed distributed timer scheduling
  • faststream-concurrent-aiokafka: Concurrent message-processing middleware for FastStream + aiokafka
  • faststream-outbox: FastStream transactional-outbox integration backed by a Postgres table

Utilities

  • compose2pod: Convert a Docker Compose file into a script that runs its services as a single Podman pod
  • db-retry: Retry helpers for PostgreSQL / SQLAlchemy database operations
  • eof-fixer: CLI tool that ensures text files end with exactly one newline
  • release-scope: Collect what sits between production and the default branch across GitLab services: tags, MRs, Jira keys, failed jobs
  • semvertag: Auto-tag GitHub & GitLab repos with semantic version tags from CI

Built with uv, ruff, and ty.