{"adoption": {"forks": 100, "observed_at": "2026-08-28T04:05:09.072869+00:00", "stars": 1595}, "canonical_url": "https://ross.abutalabs.com/products/throttled-throttled", "card": {"archived": false, "artifact_type": "library", "description": "Package throttled implements rate limiting access to resources such as HTTP endpoints.", "domain": ["web-development", "backend", "apis"], "enriched": true, "function": ["rate-limiting", "middleware", "http-server"], "health_score": 80, "homepage": null, "language": "Go", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "stable", "member_repos": ["throttled/throttled"], "name": "throttled/throttled", "platform": ["go", "windows", "cross-platform"], "pushed_at": "2026-04-13T13:16:05+00:00", "repo": "throttled/throttled", "stars": 1595, "tags": ["gcra", "http-rate-limiting", "redis-store", "memstore", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["rate limit http endpoints in go", "throttle api requests per client", "limit requests per path per minute", "add burst allowance to rate limiting", "rate limit using redis as shared store", "protect http handler from abuse"], "what_it_is": "Throttled is a Go library that implements rate limiting using the generic cell rate algorithm (GCRA) to limit access to resources such as HTTP endpoints. It provides an HTTPLimiter wrapper for http.Handler plus pluggable in-memory and Redis-backed stores.", "when_to_avoid": ["you need rate limiting outside Go", "you need distributed token bucket with complex quotas or sliding windows beyond GCRA", "you need a standalone rate-limiting proxy"], "when_to_choose": ["you need GCRA-based rate limiting in a Go HTTP service", "you want a shared rate limit store across instances via Redis", "you need per-path or per-key throttling with burst control"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/throttled-throttled", "repo": "throttled/throttled", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "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:05:09.072869+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.072869+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:54:09.371177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda56860f2cb8cf904609dacf321b397ed7a32ee4c745f9262163c4eac9d1d4a", "fetched_at": "2026-08-28T04:05:09.072869+00:00", "kind": "readme", "missing": false, "url": "https://github.com/throttled/throttled"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 77, "longevity": 100, "rhythm": 20}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4578, "days_push": 142, "days_rel": 375, "gap_med": 105.5, "n_releases_24m": 3}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}