{"adoption": {"forks": 119, "observed_at": "2026-08-28T04:05:38.964654+00:00", "stars": 1805}, "canonical_url": "https://ross.abutalabs.com/products/fake-bpy-module", "card": {"archived": false, "artifact_type": "library", "description": "Fake Blender Python API module collection for the code completion.", "domain": ["developer-tools", "graphics"], "enriched": true, "function": ["developer-tools", "sdk"], "health_score": 98, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["nutti/fake-bpy-module"], "name": "nutti/fake-bpy-module", "platform": ["python", "cross-platform"], "pushed_at": "2026-08-09T13:30:55+00:00", "repo": "nutti/fake-bpy-module", "stars": 1805, "tags": ["blender", "bpy", "code-completion", "type-stubs", "ide-support", "3d-graphics", "game-development"], "topics": ["blender-addon", "blender-scripts", "blender", "blender3d", "python", "b3d"], "urls": [], "use_cases": ["get bpy autocompletion in VS Code or PyCharm when writing Blender addons", "enable type hints for the Blender Python API", "develop Blender scripts outside of Blender's bundled Python", "install bpy stubs for a specific Blender version via pip", "fix missing intellisense for large bpy modules in PyCharm"], "what_it_is": "A collection of fake Blender Python API (bpy) modules that provide code completion and type hints in IDEs without requiring a Blender installation. Packages are published on PyPI for specific Blender versions as well as a latest daily-build variant.", "when_to_avoid": ["you need to actually run or execute Blender Python code", "you want a runtime bpy implementation rather than editor stubs", "you are not working with Blender's Python API"], "when_to_choose": ["you are developing Blender addons or scripts in an external IDE", "you want static type hints and autocomplete for the bpy API", "you need stubs matching a particular Blender release"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fake-bpy-module", "repo": "nutti/fake-bpy-module", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "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:05:38.964654+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:38.964654+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:21:34.238517+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fda0ba02a5bf43c64a4b7581d9b04e9203592c8551caf2c2552d64cf4bf0319f", "fetched_at": "2026-08-28T04:05:38.964654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nutti/fake-bpy-module"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 63}, "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": 3258, "days_push": 24, "days_rel": 34, "gap_med": 182, "n_releases_24m": 4}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}