# faust-streaming/faust

Python Stream Processing. A Faust fork

Repository: https://github.com/faust-streaming/faust
Canonical: https://ross.abutalabs.com/products/faust-streaming-faust
Homepage: https://faust-streaming.github.io/faust/
Language: Python
License: NOASSERTION
License Family: other
Topics: asyncio, python-streaming, kafka, redis, distributed-systems
Last push: 2026-08-23T06:42:05+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 99, longevity 100
- inputs: {"age_days": 2141, "days_push": 10, "days_rel": 10, "gap_med": 1.0, "n_releases_24m": 11}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1884, forks 205 (observed 2026-08-28T04:05:48.911160+00:00)

## What it is
Faust-streaming is a Python stream processing library that ports Kafka Streams ideas to Python using asyncio, letting developers build distributed real-time data pipelines and event processors with plain Python code. It is a community-maintained fork of the original Robinhood Faust project with continued releases, Kafka transaction support, and updated aiokafka drivers.

## Use cases
- process kafka streams in python
- build real-time event processing pipelines
- consume and transform infinite event streams
- maintain durable in-memory key/value tables from event streams
- implement windowed aggregations like click counts
- build high-performance distributed systems with asyncio
- process billions of events per day in python

## When to choose
- you want Kafka Streams-style processing in pure Python without a DSL
- you need to use Python libraries like NumPy, Pandas, or PyTorch inside stream processors
- you want asyncio-native agents consuming from Kafka topics
- you need persistent, windowed state tables backed by RocksDB

## When to avoid
- you need heavy-duty exactly-once semantics at massive scale where Flink or Spark Streaming are proven
- your team prefers JVM-based stream processing ecosystems
- you don't already operate a Kafka (or compatible) broker
- you need a maintained fork guarantee — the original project's release process was the reason for this fork

## Facets
- artifact type: library
- maturity: active
- function: streaming, message-queue, serialization, etl
- domain: microservices, big-data
- platform: python
- tags: kafka, asyncio, stream-processing, kafka-streams, rocksdb, event-processing, redis, data-engineering, real-time, linux, macos, docker, kubernetes

## Member repositories
- faust-streaming/faust (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:48.911160+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:13:39.133620+00:00, confidence not recorded.
  - readme: https://github.com/faust-streaming/faust (fetched 2026-08-28T04:05:48.911160+00:00, sha 8c2959219d6a)
  - homepage: https://faust-streaming.github.io/faust/ (fetched 2026-08-29T10:52:45.224910+00:00, sha bf2de6798655)
- Data as of 2026-08-30T08:39:29.467469+00:00.
