{"adoption": {"forks": 111, "observed_at": "2026-08-28T04:06:08.939023+00:00", "stars": 2047}, "canonical_url": "https://ross.abutalabs.com/products/bytewax", "card": {"archived": false, "artifact_type": "framework", "description": "Python Stream Processing", "domain": ["big-data", "machine-learning"], "enriched": true, "function": ["streaming", "etl", "machine-learning", "data-science"], "health_score": 83, "homepage": "https://docs.bytewax.io/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["bytewax/bytewax"], "name": "bytewax/bytewax", "platform": ["python", "rust", "windows"], "pushed_at": "2026-06-20T02:53:41+00:00", "repo": "bytewax/bytewax", "stars": 2047, "tags": ["stream-processing", "dataflow", "event-processing", "kafka", "stateful-processing", "online-machine-learning", "data-engineering", "real-time", "docker", "kubernetes", "linux", "macos"], "topics": ["python", "stream-processing", "rust", "data-engineering", "data-processing", "data-science", "dataflow", "machine-learning", "streaming-data"], "urls": [], "use_cases": ["process kafka streams in python", "build stateful event-driven pipelines", "run online machine learning on streaming data", "aggregate and window real-time events", "join and enrich live data streams", "deploy distributed stream processing on kubernetes"], "what_it_is": "Bytewax is a Python-first framework with a Rust-based distributed engine for stateful event and stream processing, inspired by Apache Flink, Spark, and Kafka Streams. It lets developers compose dataflow pipelines with operators like map, filter, join, and fold_window, scaling from local development to multi-node Kubernetes deployments.", "when_to_avoid": ["you need a vendor-backed project with strong commercial support (the company wound down in 2025)", "you need JVM-native Flink or Kafka Streams features", "you only need simple batch ETL rather than streaming", "you require guaranteed long-term maintenance from a large team"], "when_to_choose": ["you want Flink-like stream processing but in Python", "you need stateful processing with automatic state recovery", "you want to use Python libraries directly on streaming data", "you need to scale pipelines across multiple workers or nodes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bytewax", "repo": "bytewax/bytewax", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.939023+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:57:57.980986+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1360cc4003da6f15fc174b686c388f6ec8ff028afed8538e93866080f64c27", "fetched_at": "2026-08-28T04:06:08.939023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytewax/bytewax"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 88, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1671, "days_push": 74, "days_rel": 646, "gap_med": null, "n_releases_24m": 1}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}