{"adoption": {"forks": 222, "observed_at": "2026-08-28T04:03:54.872180+00:00", "stars": 1185}, "canonical_url": "https://ross.abutalabs.com/products/procgen", "card": {"archived": false, "artifact_type": "library", "description": "Procgen Benchmark: Procedurally-Generated Game-Like Gym-Environments", "domain": ["reinforcement-learning", "machine-learning", "gaming-tools"], "enriched": true, "function": ["simulation", "machine-learning", "reinforcement-learning", "game-engine"], "health_score": 65, "homepage": "https://openai.com/blog/procgen-benchmark/", "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["openai/procgen"], "name": "openai/procgen", "platform": ["python", "windows", "cpp"], "pushed_at": "2026-03-27T02:52:42+00:00", "repo": "openai/procgen", "stars": 1185, "tags": ["gym-environments", "procedural-generation", "rl-benchmark", "openai", "research", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["benchmark reinforcement learning generalization", "measure RL sample efficiency", "train RL agents on procedurally generated levels", "run fast gym environments for RL research", "compare RL agents against overfitting to fixed levels", "build custom RL environments from source"], "what_it_is": "A benchmark of 16 procedurally-generated, game-like Gym environments for measuring how quickly reinforcement learning agents learn generalizable skills. Environments run at thousands of steps per second on a single core and are customizable when built from source.", "when_to_avoid": ["You need actively developed features or new environments", "You require GPU-accelerated or vectorized-only environments", "You need environments beyond Python 3.10 or without AVX CPU support"], "when_to_choose": ["You need fast, randomized Gym environments to test RL generalization", "You want a standard benchmark comparable to published Procgen results", "You need environments that are easy to modify for RL experiments"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/procgen", "repo": "openai/procgen", "role": "main", "score": 56}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "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:54.872180+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.872180+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:24:08.309111+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63437dfe9cb5a2f309018ca4d90714ffe8e916c72129049b5d58ee917a8c09ed", "fetched_at": "2026-08-28T04:03:54.872180+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openai/procgen"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 74, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2477, "days_push": 159, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 56, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}