{"adoption": {"forks": 235, "observed_at": "2026-08-28T04:04:24.326595+00:00", "stars": 1331}, "canonical_url": "https://ross.abutalabs.com/products/curb", "card": {"archived": false, "artifact_type": "library", "description": "Ruby bindings for libcurl", "domain": ["web-development", "developer-tools", "apis"], "enriched": true, "function": ["http-client", "web-scraping"], "health_score": 77, "homepage": null, "language": "Ruby", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["taf2/curb"], "name": "taf2/curb", "platform": ["ruby", "windows"], "pushed_at": "2026-07-31T15:03:40+00:00", "repo": "taf2/curb", "stars": 1331, "tags": ["libcurl", "ftp", "curl-bindings", "native-extension", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["make http requests from ruby", "download files over ftp in ruby", "upload files via ftp", "perform concurrent http requests with curl multi", "fetch urls with strict timeouts without threads", "use ftp through an http proxy tunnel"], "what_it_is": "Curb provides Ruby-language bindings for libcurl, the fully-featured client-side URL transfer library, supporting both easy and multi modes. It offers HTTP GET/POST, FTP upload/download, and proxy tunneling with the advantage of handling timeouts without threads.", "when_to_avoid": ["you want a pure-Ruby dependency-free HTTP client", "you only need simple REST calls and prefer a higher-level API like faraday or httparty", "you need libcurl features beyond easy and multi modes"], "when_to_choose": ["you need libcurl's protocol breadth (http, ftp, proxies) in Ruby", "you need reliable request timeouts without spawning threads", "you need high-performance native HTTP transfers in Ruby"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/curb", "repo": "taf2/curb", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "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:24.326595+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.326595+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:45:21.584639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d4407127757403f13bd9ea0990c7fe2263ebe5f30fd9999b3852e6bba031f4a", "fetched_at": "2026-08-28T04:04:24.326595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taf2/curb"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+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": 6623, "days_push": 33, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}