faststream
FastStream: the simplest way to work with a messaging queues
Decision gist · record as of 2026-08-14
Yes. FastStream is actively maintained, permissively licensed under Apache-2.0, has low install friction, and addresses a real need for simplified event-driven development across multiple brokers. It is production-stable with no known vulnerabilities. Install it if you are building message-driven microservices and want to reduce boilerplate.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a running message broker instance and Python 3.10 or later.
- Low install friction with a pure-Python wheel distribution.
- Actively maintained with a recent release 7 days ago and strong community engagement (5304 GitHub stars).
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most production and proprietary projects.
last release 2026-08-07 (7 days) · last repo commit 2026-08-13 · 5,304 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,431,199 downloads/mo, #3,913 on PyPI
Alternatives
Verify before relying
pip install 'faststream[kafka]'
from faststream import FastStream
from faststream.kafka import KafkaBroker
broker = KafkaBroker("localhost:9092")
app = FastStream(broker)
@broker.subscriber("in")
@broker.publisher("out")
async def handle_msg(user: str, user_id: int) -> str:
return f"User: {user_id} - {user} registered"- Performance characteristics and throughput limits under production load.
- Compatibility matrix details with specific broker versions.
- Overhead of the dependency injection and validation layers compared to raw broker clients.
What it is and what it does
FastStream is a framework for building asynchronous, event-driven applications that consume and produce messages across multiple brokers. It provides a unified decorator-based interface that handles message parsing, serialization, and networking automatically. The framework integrates dependency injection, validation via Pydantic or Msgspec, and AsyncAPI documentation generation to reduce boilerplate while keeping underlying broker capabilities accessible.
Typical use cases include building streaming microservices, message queue consumers and producers, and data pipeline components. It supports Kafka, RabbitMQ, NATS, Redis, and MQTT out of the box with optional extras for each broker. The framework works with modern async Python (3.10+) and integrates with HTTP frameworks, making it suitable for hybrid synchronous-asynchronous architectures.
Use it for
- Build microservices with minimal boilerplate using decorators and type annotations for message handling.
- Create real-time data pipelines that consume from one broker topic and publish to another with automatic validation.
- Generate AsyncAPI documentation automatically from your message handlers without manual schema definition.
- Test message-driven services in-memory without spinning up broker instances in your CI/CD pipeline.
- Integrate event-driven logic into applications using the built-in plugin support.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
FastStream is actively maintained, permissively licensed under Apache-2.0, has low install friction, and addresses a real need for simplified event-driven development across multiple brokers. It is production-stable with no known vulnerabilities. Install it if you are building message-driven microservices and want to reduce boilerplate.
Install
faststream on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release 7 days ago and strong community engagement (5304 GitHub stars). Requires Python 3.10 or later.
Requires a running message broker instance and Python 3.10 or later.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most production and proprietary projects.
Quickstart
pip install 'faststream[kafka]'
from faststream import FastStream
from faststream.kafka import KafkaBroker
broker = KafkaBroker("localhost:9092")
app = FastStream(broker)
@broker.subscriber("in")
@broker.publisher("out")
async def handle_msg(user: str, user_id: int) -> str:
return f"User: {user_id} - {user} registered"
Verify before relying
- Performance characteristics and throughput limits under production load.
- Compatibility matrix details with specific broker versions.
- Overhead of the dependency injection and validation layers compared to raw broker clients.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesfast-dependstyping-extensionsanyio |
| Maintenance | Actively maintained 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,431,199 / month, #3,913 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: AsyncIOFramework :: PydanticFramework :: Pydantic :: 1Framework :: Pydantic :: 2Intended Audience :: DevelopersIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Application FrameworksTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Distributed ComputingTopic :: System :: NetworkingTyping :: Typed |
Evidence: faststream-0.7.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “message broker framework”
- faststreamAn asynchronous Python framework for building event-driven…
- fedora-messagingProvides tools and APIs for publishing and consuming messages on AMQP…
- celeryCelery is a distributed task queue that lets you run Python functions…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also broadcaster · quixstreams · kafka · taskiq · nats-py · faust-streaming · nameko · taskiq-redis · kafka-python-ng · port-ocean