{"adoption": {"forks": 2134, "observed_at": "2026-08-28T04:10:44.478037+00:00", "stars": 10844}, "canonical_url": "https://ross.abutalabs.com/products/orleans", "card": {"archived": false, "artifact_type": "framework", "description": "Cloud Native application framework for .NET", "domain": ["microservices", "cloud-computing", "backend", "web-development"], "enriched": true, "function": ["microservices", "concurrency", "streaming", "caching", "middleware"], "health_score": 100, "homepage": "https://dotnet.github.io/orleans/", "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["dotnet/orleans"], "name": "dotnet/orleans", "platform": ["dotnet", "cross-platform", "cloud", "windows"], "pushed_at": "2026-08-26T23:39:18+00:00", "repo": "dotnet/orleans", "stars": 10844, "tags": ["actor-model", "virtual-actors", "grains", "distributed-actors", "cloud-native", "event-sourcing", "transactions", "reminders", "stateful-services", "linux", "macos", "docker", "kubernetes"], "topics": ["actor-model", "distributed-actors", "distributed-systems", "cloud-computing", "concurrency", "orleans", "cloud-native", "actors", "dotnet"], "urls": [], "use_cases": ["build scalable stateful cloud services in .NET", "model domain entities as virtual actors with stable identities", "add elastic scaling and load balancing to stateful services", "implement event sourcing and ACID transactions across distributed state", "run durable jobs, timers, and reminders in a cluster", "stream and process events between producers and consumers", "migrate single-server .NET apps to distributed cloud architecture"], "what_it_is": "Microsoft Orleans is a cross-platform .NET framework for building robust, scalable distributed applications using the Virtual Actor Model. It extends familiar .NET concepts like objects, interfaces, and async/await to multi-server environments, handling clustering, persistence, transactions, and fault tolerance.", "when_to_avoid": ["your stack is not .NET", "you need stateless microservices only", "you want fine-grained control over actor placement and messaging", "your team is unfamiliar with actor-model thinking", "you need a lightweight library rather than a full runtime framework"], "when_to_choose": ["you are building stateful distributed services on .NET", "you want actor-model semantics without managing actor lifecycles", "you need built-in clustering, persistence, and fault tolerance", "you want turn-based concurrency to avoid locking", "you need proven large-scale production usage (used across Microsoft)"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/orleans", "repo": "dotnet/orleans", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "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:10:44.478037+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.478037+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:17:30.260680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "48db1d29a77a26a63cf653ab002d6c59047320fdf588602eb924717297a43a77", "fetched_at": "2026-08-28T04:10:44.478037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/orleans"}, {"content_hash": "9b4401b9f26ec1b236e70d719de3a8e0f179f779a3e990175da2409266b0ed54", "fetched_at": "2026-08-29T08:16:26.856141+00:00", "kind": "homepage", "missing": false, "url": "https://dotnet.github.io/orleans/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 94}, "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": 4275, "days_push": 7, "days_rel": 43, "gap_med": 22.0, "n_releases_24m": 15}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}