{"adoption": {"forks": 281, "observed_at": "2026-08-28T04:07:01.348453+00:00", "stars": 2570}, "canonical_url": "https://ross.abutalabs.com/products/js2py", "card": {"archived": false, "artifact_type": "library", "description": "JavaScript to Python Translator & JavaScript interpreter written in 100% pure Python🚀 Try it online:", "domain": ["programming-languages", "parsers", "developer-tools"], "enriched": true, "function": ["interpreter", "parser", "compiler"], "health_score": 20, "homepage": "http://piter.io/projects/js2py", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["PiotrDabkowski/Js2Py"], "name": "PiotrDabkowski/Js2Py", "platform": ["python", "cross-platform"], "pushed_at": "2024-05-06T12:15:15+00:00", "repo": "PiotrDabkowski/Js2Py", "stars": 2570, "tags": ["javascript", "transpiler", "ecmascript", "pure-python", "js-execution"], "topics": [], "urls": [], "use_cases": ["run javascript code from python", "translate a js file to a python module", "execute node modules like crypto-js inside python", "evaluate javascript expressions without node installed", "embed a js interpreter in a python app"], "what_it_is": "Js2Py is a pure Python JavaScript translator and interpreter that can evaluate JavaScript code from Python or translate JS files into Python modules. It fully supports ECMAScript 5.1 with experimental ES6 support via Babel translation.", "when_to_avoid": ["you need full, reliable ES6+ support or modern JS features", "performance matters - translated code is slow", "you need to run huge JS codebases with edge cases like very high argument counts"], "when_to_choose": ["you need to run small-to-medium JavaScript snippets or libraries from Python with no external runtime", "you want a pure-Python, pip-installable JS engine", "you need to convert a JS library into importable Python code"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/js2py", "repo": "PiotrDabkowski/Js2Py", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "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:07:01.348453+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.348453+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:23:18.587401+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d7a211374cb4d4a0dab6f57f4d35e73c31446e6658a36588fac6a46d91343b09", "fetched_at": "2026-08-28T04:07:01.348453+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PiotrDabkowski/Js2Py"}], "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": 4353, "days_push": 849, "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}}