{"adoption": {"forks": 350, "observed_at": "2026-08-28T04:06:33.773681+00:00", "stars": 2280}, "canonical_url": "https://ross.abutalabs.com/products/winpython", "card": {"archived": false, "artifact_type": "application", "description": "A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.", "domain": ["developer-tools", "data-science", "windows"], "enriched": true, "function": ["package-manager", "developer-tools", "data-science"], "health_score": 99, "homepage": "https://winpython.github.io/", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["winpython/winpython"], "name": "winpython/winpython", "platform": ["windows", "python", "cli"], "pushed_at": "2026-08-23T14:41:10+00:00", "repo": "winpython/winpython", "stars": 2280, "tags": ["portable-python", "scientific-python", "python-distribution", "wheelhouse", "spyder", "jupyterlab", "usb-portable", "no-install"], "topics": [], "urls": [], "use_cases": ["run python from a usb stick on windows without installing", "get a prebuilt scientific python environment with spyder and jupyter", "keep multiple python versions side by side on windows", "install python on a machine without admin rights", "reproduce an exact scientific python package set with pinned wheels", "build a custom python distribution from a wheel list"], "what_it_is": "WinPython is a free, portable Python distribution for Windows that bundles Python with the scientific stack (Spyder, JupyterLab, NumPy, etc.) and runs from any folder without installation or registry changes. This repository contains the WPPM package manager and the build toolchain used to assemble the distribution, including GitHub Actions-based builds.", "when_to_avoid": ["you are on Linux or macOS - it is Windows-only", "you prefer managing packages with conda or a system Python", "you need a minimal Python and are comfortable installing packages yourself with pip", "you need the very latest binary wheels for free-threaded builds, where some packages are still missing"], "when_to_choose": ["you need a zero-install, portable Python on Windows", "you want a batteries-included scientific Python stack without setup", "you cannot write to the registry or need admin-free installs", "you want reproducible pinned package sets via pylock or hashed requirements"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/winpython", "repo": "winpython/winpython", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "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:06:33.773681+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.773681+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:41:23.177271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c03d2b179a41f1cdd37b7240a09038457267298f81a5b77462a5e254d1e8dbe", "fetched_at": "2026-08-28T04:06:33.773681+00:00", "kind": "readme", "missing": false, "url": "https://github.com/winpython/winpython"}, {"content_hash": "f10108b976ee2e68398cf3560c7283cb64b5f2b078ac15e8138a1924a9c78dfb", "fetched_at": "2026-08-29T10:21:42.356528+00:00", "kind": "homepage", "missing": false, "url": "https://winpython.github.io/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 87}, "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": 4365, "days_push": 10, "days_rel": 10, "gap_med": 67, "n_releases_24m": 12}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}