{"adoption": {"forks": 391, "observed_at": "2026-08-28T04:03:53.013085+00:00", "stars": 1178}, "canonical_url": "https://ross.abutalabs.com/products/killrweather", "card": {"archived": false, "artifact_type": "application", "description": "KillrWeather is a reference application (work in progress) showing how to easily integrate streaming and batch data processing with Apache Spark Streaming, Apache Cassandra, Apache Kafka and Akka for fast, streaming computations on time series data in asynchronous event-driven environments. ", "domain": ["big-data", "time-series", "microservices"], "enriched": true, "function": ["streaming", "etl", "data-science", "database", "message-queue"], "health_score": 20, "homepage": null, "language": "Scala", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["killrweather/killrweather"], "name": "killrweather/killrweather", "platform": ["jvm"], "pushed_at": "2017-01-05T09:43:35+00:00", "repo": "killrweather/killrweather", "stars": 1178, "tags": ["apache-spark", "apache-kafka", "apache-cassandra", "akka", "time-series", "reference-application", "stream-processing", "data-engineering", "linux", "macos", "docker"], "topics": [], "urls": [], "use_cases": ["process streaming time series data with spark kafka and cassandra", "learn how to integrate spark streaming with cassandra and akka", "build an event-driven streaming analytics pipeline", "run real-time computations on high-velocity time series data", "reference architecture for lambda-style streaming and batch processing", "query historical time series data for predictive modeling"], "what_it_is": "KillrWeather is a Scala reference application demonstrating integration of Apache Spark Streaming, Apache Kafka, Apache Cassandra, and Akka for fast streaming and batch computations on time series data. It serves as an example architecture for asynchronous, event-driven big data processing.", "when_to_avoid": ["you need a production-ready, actively maintained streaming framework", "you are not working on the JVM with Scala", "you need up-to-date compatibility with current Spark, Kafka, or Cassandra versions"], "when_to_choose": ["you want a worked example of Spark Streaming, Kafka, and Cassandra working together", "you need a reference design for time series data models in Cassandra", "you are learning Akka-based event-driven streaming architectures on the JVM"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/killrweather", "repo": "killrweather/killrweather", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "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:03:53.013085+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:53.013085+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:26:06.891910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b6283209629ae9a2429af9dfa7c6f6055a302ea77ec22f193c847967b95968f", "fetched_at": "2026-08-28T04:03:53.013085+00:00", "kind": "readme", "missing": false, "url": "https://github.com/killrweather/killrweather"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4348, "days_push": 3527, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}