{"adoption": {"forks": 633, "observed_at": "2026-08-28T04:08:41.092829+00:00", "stars": 4277}, "canonical_url": "https://ross.abutalabs.com/products/eventmachine", "card": {"archived": false, "artifact_type": "library", "description": "EventMachine: fast, simple event-processing library for Ruby programs", "domain": ["networking", "developer-tools", "backend"], "enriched": true, "function": ["concurrency", "networking", "http-server", "websocket"], "health_score": 76, "homepage": null, "language": "Ruby", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["eventmachine/eventmachine"], "name": "eventmachine/eventmachine", "platform": ["ruby", "cross-platform", "windows"], "pushed_at": "2026-07-24T05:03:45+00:00", "repo": "eventmachine/eventmachine", "stars": 4277, "tags": ["reactor-pattern", "event-driven-io", "async", "ruby-gem", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["build a scalable event-driven server in Ruby", "write asynchronous HTTP clients for REST APIs", "create efficient network proxies with custom logic", "monitor files and networks reactively", "implement custom network protocols in Ruby", "build real-time messaging or chat servers"], "what_it_is": "EventMachine is an event-driven I/O and lightweight concurrency library for Ruby based on the Reactor pattern. It enables building highly scalable network servers, asynchronous clients, and proxies without complex threaded network programming.", "when_to_avoid": ["you're using modern async/await Ruby code with the async gem ecosystem", "your use case is simple synchronous I/O without concurrency needs", "you prefer Fibers or Ractors-based concurrency models"], "when_to_choose": ["you need high-performance event-driven I/O in Ruby", "you're building servers, proxies, or async clients on the Reactor pattern", "you need cross-platform support including Windows and JRuby", "you want a mature, battle-tested library"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/eventmachine", "repo": "eventmachine/eventmachine", "role": "main", "score": 65}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "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:41.092829+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:41.092829+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:21:59.883950+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e60e224317f1bd464266cd19122f10d58bae87d23fb02186a27152dfd10defd4", "fetched_at": "2026-08-28T04:08:41.092829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eventmachine/eventmachine"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6590, "days_push": 40, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 65, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}