{"adoption": {"forks": 54, "observed_at": "2026-08-28T04:04:18.771479+00:00", "stars": 1306}, "canonical_url": "https://ross.abutalabs.com/products/nohang", "card": {"archived": false, "artifact_type": "service", "description": "A sophisticated low memory handler for Linux", "domain": ["operating-systems", "monitoring", "performance"], "enriched": true, "function": ["monitoring", "alerting", "developer-tools"], "health_score": 94, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["hakavlad/nohang"], "name": "hakavlad/nohang", "platform": ["python", "cli"], "pushed_at": "2026-08-05T14:01:48+00:00", "repo": "hakavlad/nohang", "stars": 1306, "tags": ["oom-killer", "psi", "memory-management", "daemon", "zram", "cgroups", "system-responsiveness", "linux"], "topics": ["out-of-memory", "oom", "psi", "sigterm", "zram", "cgroups", "oom-killer"], "urls": [], "use_cases": ["prevent linux from freezing when out of memory", "avoid the kernel oom killer sending sigkill instead of sigterm", "keep the system responsive under heavy memory pressure", "monitor memory pressure with psi", "manage low memory conditions with zram and cgroups", "diagnose oom events and memory pressure logs"], "what_it_is": "nohang is a highly configurable Python daemon for Linux that prevents out-of-memory conditions and keeps the system responsive under low memory pressure, using PSI and other signals to act before the kernel OOM killer. It also ships diagnostic tools like oom-sort, psi2log, and psi-top.", "when_to_avoid": ["you are not on Linux", "you need memory management for macOS or Windows", "you prefer kernel-level solutions like earlyoom alternatives built into your init system"], "when_to_choose": ["you run Linux desktops or servers that freeze or livelock under memory pressure", "you want early, configurable OOM prevention with graceful SIGTERM termination", "you need PSI-based memory pressure monitoring and diagnostics"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nohang", "repo": "hakavlad/nohang", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "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:18.771479+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.771479+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:50:57.856079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a85322d057ff909c10f9349a7e50edc62cc41d23f97cd37ee9f19dee303d78ec", "fetched_at": "2026-08-28T04:04:18.771479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hakavlad/nohang"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 30}, "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": 3008, "days_push": 28, "days_rel": 256, "gap_med": null, "n_releases_24m": 1}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}