{"adoption": {"forks": 230, "observed_at": "2026-08-28T04:04:01.164921+00:00", "stars": 1215}, "canonical_url": "https://ross.abutalabs.com/products/em-http-request", "card": {"archived": false, "artifact_type": "library", "description": "Asynchronous HTTP Client (EventMachine + Ruby)", "domain": ["web-development", "developer-tools", "networking"], "enriched": true, "function": ["http-client", "middleware"], "health_score": 20, "homepage": null, "language": "Ruby", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["igrigorik/em-http-request"], "name": "igrigorik/em-http-request", "platform": ["ruby", "cross-platform"], "pushed_at": "2024-11-10T05:42:53+00:00", "repo": "igrigorik/em-http-request", "stars": 1215, "tags": ["eventmachine", "async", "http", "parallel-requests", "streaming", "proxy-support"], "topics": [], "urls": [], "use_cases": ["make async HTTP requests in Ruby", "issue parallel HTTP requests", "stream large HTTP responses", "upload files over HTTP asynchronously", "fetch URLs through HTTP or SOCKS5 proxies", "follow redirects with gzip decoding", "use OAuth or Basic Auth in an evented HTTP client"], "what_it_is": "An asynchronous HTTP client library for Ruby built on EventMachine, supporting parallel requests, streaming, keep-alive, pipelining, proxies, and auth. It integrates with middleware and works across MRI, JRuby, and Rubinius.", "when_to_avoid": ["you want a simple synchronous HTTP client", "your project does not use an evented reactor", "you need a client with an actively maintained license and modern async ecosystem (consider async-http or Typhoeus)"], "when_to_choose": ["you already use EventMachine and need non-blocking HTTP", "you need many concurrent or parallel HTTP requests in Ruby", "you need streaming responses or uploads", "you need proxy (HTTP/SOCKS5) support in an async client"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/em-http-request", "repo": "igrigorik/em-http-request", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "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:04:01.164921+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.164921+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:17:16.413661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1390886bdb92c6c95d6405b28424087233ab0cd705e08d6aa8216f749f639b5", "fetched_at": "2026-08-28T04:04:01.164921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/em-http-request"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6585, "days_push": 661, "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}}