An asynchronous Python framework for building services that interact with Apache Kafka, RabbitMQ, NATS, and Redis event streams.
FastStream is an asynchronous Python framework for building services that interact with event streams like Apache Kafka, RabbitMQ, NATS, and Redis. It simplifies writing producers and consumers by handling parsing, networking, and documentation generation automatically, making it easier to develop streaming microservices.
Python developers building asynchronous microservices that need to process data from message queues or event streams, especially those working with Kafka, RabbitMQ, NATS, or Redis.
Developers choose FastStream for its easy-to-use API, automatic AsyncAPI documentation, built-in serialization with Pydantic/Msgspec, and seamless integration with multiple message brokers, reducing boilerplate and accelerating development.
FastStream is a powerful and easy-to-use asynchronous Python framework for building asynchronous services interacting with event streams such as Apache Kafka, RabbitMQ, NATS, MQTT and Redis.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a consistent interface for Kafka, RabbitMQ, NATS, and Redis, reducing the learning curve and allowing easy switching between brokers without code rewrites.
Generates comprehensive AsyncAPI specs automatically, eliminating manual documentation efforts and ensuring accuracy for event-driven architectures.
Integrates with Pydantic or Msgspec for serialization, using Python type annotations to validate and parse messages, catching errors early in development.
Offers a built-in plugin for FastAPI, enabling developers to combine HTTP endpoints and streaming consumers in a single application effortlessly.
Includes TestBroker for CI/CD, allowing fast, reliable testing without external broker dependencies, as shown in the pytest examples.
The unified API omits some broker-specific functionalities, requiring fallback to native clients for advanced operations like Kafka partitions or RabbitMQ DLQs.
Minor updates before version 1.0 may introduce breaking changes despite deprecation warnings, affecting long-term project stability.
Heavily relies on Pydantic or Msgspec, which may not fit teams using other serialization methods or wanting minimal library bloat.
Adds layers that can impact latency and throughput compared to raw broker clients, especially in high-throughput streaming scenarios.