{"adoption": {"forks": 535, "observed_at": "2026-08-28T04:09:45.723263+00:00", "stars": 6611}, "canonical_url": "https://ross.abutalabs.com/products/brython", "card": {"archived": false, "artifact_type": "framework", "description": "Brython (Browser Python) is an implementation of Python 3 running in the browser", "domain": ["web-development", "frontend", "programming-languages", "compilers", "cross-platform"], "enriched": true, "function": ["interpreter", "compiler", "frontend-framework", "programming-language", "developer-tools"], "health_score": 99, "homepage": null, "language": "Python", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["brython-dev/brython"], "name": "brython-dev/brython", "platform": ["browser"], "pushed_at": "2026-08-26T13:04:48+00:00", "repo": "brython-dev/brython", "stars": 6611, "tags": ["python-in-browser", "python-to-javascript", "transpiler", "dom-manipulation", "javascript-interop", "client-side-python", "html5", "python3", "cdn-usage", "script-tag"], "topics": [], "urls": [], "use_cases": ["run python code in the browser", "replace javascript with python for a web frontend", "write client-side web apps in python", "embed python scripts directly in html pages", "manipulate dom elements and events using python", "use python standard library modules in the browser", "teach python with zero-install browser examples", "interface python with javascript libraries like jquery or d3"], "what_it_is": "Brython is an implementation of Python 3 that runs entirely in the web browser, loaded as a JavaScript file and executing Python code embedded in HTML via <script type=\"text/python\"> tags. It provides bindings to the DOM, events, HTML5/CSS3, and interop with existing JavaScript libraries like jQuery and D3, and ships a Python standard library subset usable client-side.", "when_to_avoid": ["you need maximum frontend performance, as interpreted-in-browser Python is slower than native JavaScript", "you are building a large production SPA that benefits from the mature JavaScript/TypeScript ecosystem and tooling", "you need server-side execution or filesystem access, which Brython's browser context excludes", "your project depends on C extension packages (numpy, etc.) that Brython cannot run", "you need strong typing and npm-based tooling for team development"], "when_to_choose": ["you want to build browser-based interfaces in Python instead of JavaScript", "you need a zero-install or no-build-toolchain way to run Python client-side (e.g., education, demos)", "you want to reuse Python code or stdlib modules in the browser", "you need DOM/event handling in Python with access to existing JS libraries", "you want to avoid compiling to JavaScript and just add a script tag"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/brython", "repo": "brython-dev/brython", "role": "main", "score": 92}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "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:09:45.723263+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.723263+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:43:30.694907+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50a68d7c952d2f6a579e150fed30d0d2a428c16a406a6ca493501027710a104f", "fetched_at": "2026-08-28T04:09:45.723263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/brython-dev/brython"}, {"content_hash": "7bc787d8ab03d4f9d6aa03fb2ffed811eda52d9406eb14cf568f96494d530303", "fetched_at": "2026-08-29T08:39:41.236575+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/brython/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 77}, "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": 4370, "days_push": 7, "days_rel": 75, "gap_med": 84, "n_releases_24m": 8}, "score": 92, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}