{"adoption": {"forks": 572, "observed_at": "2026-08-28T04:08:04.060610+00:00", "stars": 3432}, "canonical_url": "https://ross.abutalabs.com/products/actor-framework", "card": {"archived": false, "artifact_type": "framework", "description": "An Open Source Implementation of the Actor Model in C++", "domain": ["microservices", "developer-tools", "backend"], "enriched": true, "function": ["concurrency", "rpc", "http-server", "websocket", "message-queue", "middleware"], "health_score": 93, "homepage": "http://actor-framework.org/", "language": "C++", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "stable", "member_repos": ["actor-framework/actor-framework"], "name": "actor-framework/actor-framework", "platform": ["cpp", "cross-platform", "windows", "embedded"], "pushed_at": "2026-08-26T08:24:38+00:00", "repo": "actor-framework/actor-framework", "stars": 3432, "tags": ["actor-model", "caf", "pattern-matching", "distributed-actors", "async", "concurrent-programming", "real-time", "linux", "macos"], "topics": ["actor-model", "caf", "pattern-matching", "actors", "async"], "urls": [], "use_cases": ["build concurrent applications in C++ without data races", "implement distributed systems with network-transparent messaging", "write an HTTP or WebSocket server using actors", "scale actors across machines in a data center or cloud", "build low-footprint async software for IoT or embedded devices", "model message-passing systems with pattern matching on messages"], "what_it_is": "CAF (C++ Actor Framework) is an open-source implementation of the Actor Model in C++, providing lightweight actors, network-transparent messaging, pattern matching, and HTTP/WebSocket support. It enables building scalable, concurrent, and distributed applications with native performance and low memory overhead.", "when_to_avoid": ["your project is in another language or requires a managed runtime", "you need a simple single-threaded application with no concurrency", "you want batteries-included web frameworks rather than a messaging runtime", "your team is unfamiliar with actor-model thinking and cannot invest in learning it"], "when_to_choose": ["you need high-performance, low-overhead concurrency in native C++", "you want to scale an application from a single machine to distributed deployment", "you prefer the actor model over threads and locks", "you need resilient distributed systems with failover-friendly design"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/actor-framework", "repo": "actor-framework/actor-framework", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "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:08:04.060610+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.060610+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:37:44.716934+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7f7a6b918c99a26a0542d70bbb070869d3ba05327cfe14ff56a4f671c8f1f687", "fetched_at": "2026-08-28T04:08:04.060610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/actor-framework/actor-framework"}, {"content_hash": "fb6b88b1734cfc7213c1c322c1b0796526e6c652c7c2ced5aa6e559b2925bac5", "fetched_at": "2026-08-29T09:31:52.465745+00:00", "kind": "homepage", "missing": false, "url": "http://actor-framework.org/"}, {"content_hash": "7396b8ec069c0b861d43bba37aac8e428052bcbd437dc0e4816d664f99081e51", "fetched_at": "2026-08-29T09:31:52.474751+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/index.html"}, {"content_hash": "4817b3579ea222c1341c1a24a6ac9533016c351122b55cbf1168691e0067af33", "fetched_at": "2026-08-29T09:31:52.476687+00:00", "kind": "site_page", "missing": false, "url": "https://www.actor-framework.org/doxygen"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5661, "days_push": 7, "days_rel": 434, "gap_med": 238, "n_releases_24m": 2}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}