Asynchronous Python framework for building event-driven services across Kafka, RabbitMQ, NATS, Redis, and MQTT.
FastStream gives you one API for several message brokers, plus typed messages, dependency injection, testing helpers, and generated AsyncAPI docs. The libraries, integrations, and templates below build on top of it.
- Official Resources
- Brokers and Transports
- Dependency Injection
- Patterns and Reliability
- Observability
- Templates and Examples
- Community
- FastStream - The core framework, with one consistent API over Kafka, RabbitMQ, NATS, Redis, and MQTT.
- Documentation - Guides, tutorials, and the full API reference.
- FastStream Community - Organization that collects community plugins, framework bridges, and templates.
- faststream-celery - FastStream broker that speaks the Celery protocol, so handlers interoperate with existing Celery producers and workers.
- faststream-mq - Standalone IBM MQ broker adapter for FastStream.
- faststream-sqlbroker - Broker that uses a SQL database as the message transport, via SQLAlchemy.
- kubemq-faststream - KubeMQ broker adapter for FastStream.
- stompman - STOMP 1.2 client that also works as a FastStream broker.
- zMQTT - Pure asyncio MQTT 3.1.1 and 5.0 client that FastStream's MQTT broker is built on.
- dishka-faststream - Wires the Dishka container into FastStream handlers.
- FastDepends - Lightweight dependency-injection system, by FastStream's author, that powers FastStream's own dependency injection.
- faststream_fastapi - Brings FastAPI's
Depends, request parameters, and dependency overrides into FastStream handlers; replaces FastStream's deprecated built-in FastAPI integration.
- faststream-outbox - Transactional outbox that uses a PostgreSQL table as the queue, so messages publish only after the surrounding transaction commits.
- faststream-redis-timers - Schedules delayed and recurring messages with Redis-backed distributed timers.
- faststream-concurrent-aiokafka - Processes Kafka messages concurrently within a partition via aiokafka middleware.
- python-cqrs - CQRS and event-driven framework that uses FastStream brokers to publish and consume domain events.
- taskiq-faststream - Adds Taskiq task scheduling to FastStream, for cron and delayed message publishing.
- fast-healthchecks - Health checks for PostgreSQL, Redis, Kafka, RabbitMQ, and more, served as health routes through a FastStream integration.
- lite-bootstrap - Wires OpenTelemetry, Prometheus, Sentry, and health checks into FastStream and web services with little setup.
- microbootstrap - Bootstraps microservices with Sentry, Prometheus, and OpenTelemetry preconfigured, including for FastStream services.
- clean-architecture-fastapi-project-template - Cookiecutter template for clean-architecture FastAPI services, with optional Kafka, RabbitMQ, or NATS messaging through FastStream.
- fastapi-dishka-faststream - Starter project pairing FastAPI and FastStream with Dishka, SQLAlchemy, and Pydantic.
- faststream-monitoring - Example OpenTelemetry and Prometheus monitoring setup for a FastStream service.
- Discord - Chat with the FastStream community in English.
- Telegram - Russian-speaking FastStream chat.
Contributions are welcome! Please read the contribution guidelines first.
Curator disclosure: I maintain the modern-python entries in this list - faststream-outbox, faststream-redis-timers, faststream-concurrent-aiokafka, and lite-bootstrap. I also contribute to microbootstrap and stompman, which are maintained by others.