{"adoption": {"forks": 265, "observed_at": "2026-08-28T04:03:21.325261+00:00", "stars": 1044}, "canonical_url": "https://ross.abutalabs.com/products/mod_wsgi", "card": {"archived": false, "artifact_type": "library", "description": "Source code for Apache/mod_wsgi.", "domain": ["web-development", "backend", "developer-tools"], "enriched": true, "function": ["http-server", "middleware", "monitoring"], "health_score": 99, "homepage": null, "language": "C", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["GrahamDumpleton/mod_wsgi"], "name": "GrahamDumpleton/mod_wsgi", "platform": ["windows", "python", "cpp", "c"], "pushed_at": "2026-08-19T08:17:36+00:00", "repo": "GrahamDumpleton/mod_wsgi", "stars": 1044, "tags": ["wsgi", "apache", "python-hosting", "mod-wsgi-express", "deployment", "linux", "macos", "web-server"], "topics": [], "urls": [], "use_cases": ["deploy a Flask or Django app under Apache", "host WSGI Python applications in production", "run a Python web app with mod_wsgi-express without manual Apache config", "add Apache-based process/thread management for Python web apps", "collect telemetry from WSGI application processes"], "what_it_is": "mod_wsgi is an Apache HTTP Server module, written in C, for hosting Python web applications that implement the WSGI specification (PEP 3333). It has been used in production for over 15 years and also ships PyPI packages including a mod_wsgi-express CLI wrapper and an optional telemetry ingester with a live UI.", "when_to_avoid": ["you prefer ASGI or async Python apps (use an ASGI server instead)", "you want a lightweight standalone Python server without Apache", "you are on Python older than 3.10", "you deploy primarily in containers with a minimal server footprint"], "when_to_choose": ["you already run Apache and want to serve Python WSGI apps through it", "you need a battle-tested, production-proven WSGI hosting solution", "you want a simple single-app deployment via mod_wsgi-express", "you need integrated telemetry for WSGI processes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mod_wsgi", "repo": "GrahamDumpleton/mod_wsgi", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "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:03:21.325261+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.325261+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.283434+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7437703a4e018e0764f0d76de6f0f1f6b58094b875bf014b9daab99f0ea3d3d4", "fetched_at": "2026-08-28T04:03:21.325261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrahamDumpleton/mod_wsgi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 98}, "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": 4623, "days_push": 14, "days_rel": 14, "gap_med": 7, "n_releases_24m": 12}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}