{"adoption": {"forks": 108, "observed_at": "2026-08-28T04:04:13.285668+00:00", "stars": 1277}, "canonical_url": "https://ross.abutalabs.com/products/graceful", "card": {"archived": true, "artifact_type": "library", "description": "Graceful is a Go package enabling graceful shutdown of an http.Handler server.", "domain": ["web-development", "backend", "developer-tools"], "enriched": true, "function": ["http-server", "middleware"], "health_score": 10, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["tylerstillwater/graceful"], "name": "tylerstillwater/graceful", "platform": ["go", "cross-platform"], "pushed_at": "2018-11-18T19:14:43+00:00", "repo": "tylerstillwater/graceful", "stars": 1277, "tags": ["graceful-shutdown", "http-server", "signal-handling", "zero-downtime", "go-library"], "topics": [], "urls": [], "use_cases": ["gracefully shut down a Go HTTP server on SIGTERM", "handle in-flight requests during server restart", "avoid dropped connections when deploying Go web services", "add graceful shutdown to older Go versions before 1.8", "close listening socket immediately so another process can bind the port"], "what_it_is": "Graceful is a Go package that enables graceful shutdown of http.Handler servers by handling SIGINT/SIGTERM signals, closing listening sockets, and giving active requests a timeout window to complete. It predates Go 1.8's built-in http.Server.Shutdown() method and provides similar functionality for older Go versions.", "when_to_avoid": ["you are on Go 1.8 or later - use the standard library's http.Server.Shutdown() instead", "you need active maintenance or recent updates - the last release was in 2018"], "when_to_choose": ["you are on Go 1.3-1.7 and need graceful HTTP server shutdown", "you want signal-based shutdown with configurable timeout for active requests", "you need the listening socket released immediately for zero-downtime restarts"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/graceful", "repo": "tylerstillwater/graceful", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "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:13.285668+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.285668+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:02:52.415176+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed5a115578874eaf07b5822bbd911497628ba08455b383aa063b356e0802c48", "fetched_at": "2026-08-28T04:04:13.285668+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tylerstillwater/graceful"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4485, "days_push": 2845, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}