{"adoption": {"forks": 566, "observed_at": "2026-08-28T04:10:23.353166+00:00", "stars": 8530}, "canonical_url": "https://ross.abutalabs.com/products/japronto", "card": {"archived": false, "artifact_type": "library", "description": " Screaming-fast Python 3.5+ HTTP toolkit integrated with pipelining HTTP server based on uvloop and picohttpparser.", "domain": ["web-development", "backend", "apis", "performance"], "enriched": true, "function": ["http-server", "web-framework", "routing", "concurrency"], "health_score": 20, "homepage": null, "language": "C", "license": "MIT", "license_family": "permissive", "maturity": "experimental", "member_repos": ["squeaky-pl/japronto"], "name": "squeaky-pl/japronto", "platform": ["python"], "pushed_at": "2023-08-14T21:42:00+00:00", "repo": "squeaky-pl/japronto", "stars": 8530, "tags": ["asyncio", "uvloop", "picohttpparser", "http-pipelining", "high-performance", "c-extension", "micro-framework", "alpha", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["build a high-performance http server in python", "handle millions of requests per second with python", "fast asyncio web framework for hello-world benchmarks", "pipelining http server based on uvloop", "serve http faster than go stdlib from python", "minimal async http toolkit for speed enthusiasts"], "what_it_is": "Japronto is a screaming-fast asynchronous HTTP toolkit with an integrated pipelining HTTP server for Python 3.5+, implemented in hand-tuned C on top of uvloop and picohttpparser. It remains an early alpha preview with provisional APIs, receives no active development (though not formally abandoned), and explicitly warns against production use.", "when_to_avoid": ["Any production or serious use - the project is alpha quality with provisional APIs and explicitly warns against production deployment", "You need a stable, well-maintained framework with an ecosystem - consider aiohttp, Starlette, or FastAPI instead", "You are a novice Python programmer or uncomfortable working with C extensions", "You need long-term support, new features, or Windows support - development has stalled and uvloop targets Unix-like systems"], "when_to_choose": ["You need maximum raw HTTP throughput in Python and are comfortable with C-level plumbing and alpha-quality APIs", "You want to experiment with pipelined request parsing and uvloop-based asynchronous I/O", "You are benchmarking Python HTTP servers against Go or Node.js implementations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/japronto", "repo": "squeaky-pl/japronto", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "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:10:23.353166+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.353166+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:26:39.938096+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b2bd62da72c8f0dc83168613961a54c4348d145f7a3ecf6cef950f5b0f34b08", "fetched_at": "2026-08-28T04:10:23.353166+00:00", "kind": "readme", "missing": false, "url": "https://github.com/squeaky-pl/japronto"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3598, "days_push": 1115, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}