{"adoption": {"forks": 270, "observed_at": "2026-08-28T04:08:27.760499+00:00", "stars": 3870}, "canonical_url": "https://ross.abutalabs.com/products/celluloid", "card": {"archived": false, "artifact_type": "framework", "description": "Actor-based concurrent object framework for Ruby", "domain": ["developer-tools", "backend", "microservices"], "enriched": true, "function": ["concurrency", "middleware"], "health_score": 20, "homepage": null, "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["celluloid/celluloid"], "name": "celluloid/celluloid", "platform": ["ruby"], "pushed_at": "2024-03-07T20:00:57+00:00", "repo": "celluloid/celluloid", "stars": 3870, "tags": ["actor-model", "concurrent-objects", "multithreading", "ruby-gem"], "topics": [], "urls": [], "use_cases": ["build concurrent Ruby programs with the actor model", "run Ruby objects in background threads with async calls", "replace manual thread management with actor supervision", "implement futures and promises in Ruby", "write multithreaded network services in Ruby"], "what_it_is": "Celluloid is a Ruby framework for building asynchronous, multithreaded programs using the actor model with object-oriented concepts. It lets Ruby objects run concurrently as actors with transparent asynchronous and futures-based messaging.", "when_to_avoid": ["you need a actively maintained library with strong community support", "you are starting a new project where modern alternatives like async or concurrent-ruby may fit better", "you need distributed actors across processes or machines"], "when_to_choose": ["you want actor-style concurrency in Ruby without managing threads manually", "you need supervised, fault-tolerant concurrent objects in an existing Ruby codebase"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/celluloid", "repo": "celluloid/celluloid", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "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:27.760499+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:27.760499+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:25:48.626460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6718fb84a077bcb89bd4ecc3b590cc5b76bd275fd022e30d1704b94e7b5c6404", "fetched_at": "2026-08-28T04:08:27.760499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/celluloid/celluloid"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5634, "days_push": 909, "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}}