--- id: faust-streaming version: "0.13.2" license: Copyright (c) 2017-2020, Robinhood Markets, Inc. All rights reserved. Faust is licensed under The BSD License (3 Clause, also known as the new BSD license). The license is an OSI approved Open Source… (full text in the JSON record) license_treatment: permissive maintenance: active --- # faust-streaming — Python Stream Processing. A Faust fork License: permissive · Maintenance: active · Downloads: 387.9K/mo ## What it is and what it does Faust-streaming is a fork of the original Faust project that brings Kafka Streams semantics to Python using async/await and static typing. It lets you write stream processors as simple Python functions decorated with @app.agent(), consuming from Kafka topics and processing events asynchronously. The library handles distributed state through Tables—persistent, replicated key-value stores backed by RocksDB—allowing you to maintain aggregate counts, windowed metrics, and other stateful computations across a cluster of worker instances. The package is designed for high-throughput, low-latency event processing pipelines. It supports windowing (tumbling, hopping, sliding), automatic failover via standby replicas, and changelog topics for durability. Unlike other stream frameworks, Faust requires only Kafka and Python—no DSL, no separate cluster manager—making it straightforward to integrate with existing Python libraries like NumPy, Pandas, or Django. Use it for: - Count page views or events by URL/key using windowed tables and Kafka topic partitioning - Process order streams with stateful validation, enrichment, and async side effects like email notifications - Build real-time dashboards by aggregating metrics into tables that are replicated across worker nodes - Implement event-driven microservices that react to Kafka events with custom business logic - Migrate from Kafka Streams (Java) to Python while preserving stream topology and state semantics ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Faust-streaming is a Python library for building stream processing applications that consume from Kafka topics, perform stateful transformations, and persist distributed key-value state using RocksDB. Yes, if you need to build distributed stream processing applications in Python with Kafka. The fork is actively maintained, supports modern Python versions (3.10–3.14), has no known vulnerabilities, and offers a permissive license. Install friction is moderate due to multiple dependencies, but pre-built wheels reduce friction. Not recommended if you need a simpler event queue or if your team lacks async/await experience. ## Install pip install faust-streaming uv add faust-streaming poetry add faust-streaming ## Installing faust-streaming Before you install: Medium install friction due to 12 runtime dependencies including aiokafka, aiohttp, and mode-streaming. The package is actively maintained with a recent release (4 days old) and supports Python 3.10–3.14 across macOS, Linux, and Windows with pre-built wheels. License in practice: BSD 3-Clause license is permissive and GPL-compatible, allowing use in proprietary and open-source projects without requiring derivative works to be open-sourced. Documentation is separately licensed under CC BY-SA 4.0. Quickstart: pip install faust-streaming import faust app = faust.App('myapp', broker='kafka://localhost') class Order(faust.Record): account_id: str amount: int @app.agent(value_type=Order) async def process_orders(orders): async for order in orders: print(f'Order: {order.account_id} - {order.amount}') Requires a running Kafka broker; Python 3.10 or later; familiarity with async/await syntax recommended. Verify before relying: - Whether RocksDB is bundled or requires separate system installation - Performance characteristics (throughput, latency) for production workloads - Compatibility guarantees with specific Kafka versions ## Package facts - License: Copyright (c) 2017-2020, Robinhood Markets, Inc. All rights reserved. Faust is licensed under The BSD License (3 Clause, also known as the new BSD license). The license is an OSI approved Open Source… (full text in the JSON record) (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 387.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags kafka stream processing python, async event processing library, distributed stream processing, kafka consumer with state, real-time data pipeline, python streaming framework, event-driven async processing, kafka-streaming, async-processing, stateful-computation [View on SkillFed](https://skillfed.io/packages/faust-streaming) · [View on PyPI](https://pypi.org/project/faust-streaming/)