{"adoption": {"forks": 211, "observed_at": "2026-08-28T04:05:13.895924+00:00", "stars": 1629}, "canonical_url": "https://ross.abutalabs.com/products/pekko", "card": {"archived": false, "artifact_type": "framework", "description": "Build highly concurrent, distributed, and resilient message-driven applications using Java/Scala", "domain": ["microservices", "backend", "developer-tools"], "enriched": true, "function": ["concurrency", "message-queue", "streaming", "http-server", "rpc", "web-framework", "workflow-automation"], "health_score": 80, "homepage": "https://pekko.apache.org/", "language": "Scala", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["apache/pekko"], "name": "apache/pekko", "platform": ["jvm", "cross-platform"], "pushed_at": "2026-08-25T15:50:00+00:00", "repo": "apache/pekko", "stars": 1629, "tags": ["actor-model", "akka-fork", "cluster-sharding", "event-sourcing", "reactive-streams", "message-driven", "resilience", "grpc", "kafka-connectors", "real-time", "docker", "kubernetes"], "topics": ["actor-model", "cloud-native", "concurrency", "distributed-actors", "distributed-systems", "high-performance", "pekko", "reactive", "streaming", "message-driven"], "urls": [], "use_cases": ["build highly concurrent distributed applications on the JVM", "implement actor-based message-driven systems in Java or Scala", "run clustered applications with sharding and distributed data", "build event-sourced persistent services", "stream and process data reactively with backpressure", "replace Akka after its license change to BSL", "expose HTTP and gRPC APIs from actor systems"], "what_it_is": "Apache Pekko is an open-source JVM framework for building concurrent, distributed, and resilient message-driven applications using the Actor Model, with APIs for Java and Scala. It is an Apache-2.0-licensed fork of Akka 2.6.x and includes modules for persistence, streams, HTTP, gRPC, cluster sharding, and connectors such as Kafka.", "when_to_avoid": ["you prefer lightweight async models like virtual threads or coroutines over the actor model", "your project is not on the JVM", "you need Windows-first development support, which has reported build issues", "you want a framework with a larger commercial ecosystem than the fork currently has"], "when_to_choose": ["you need a permissive Apache-2.0 alternative to Akka", "you are building resilient, elastic distributed systems on the JVM", "you want actor-model concurrency with persistence, clustering, and streaming in one toolkit", "you need Java and Scala APIs for cluster sharding or Kafka integration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pekko", "repo": "apache/pekko", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "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:05:13.895924+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.895924+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:48:16.378748+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a916ea13f14d4d5feac8554da3e95644a3c173829832a0de91147d2961fa4cbe", "fetched_at": "2026-08-28T04:05:13.895924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/pekko"}, {"content_hash": "b588d71a68bfc6a71866b2842ad28a7a2f83d20070f1856e9c3191a91582ea6d", "fetched_at": "2026-08-29T11:20:51.278558+00:00", "kind": "homepage", "missing": false, "url": "https://pekko.apache.org/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "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": 1402, "days_push": 8, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}