{"adoption": {"forks": 151, "observed_at": "2026-08-28T04:04:01.600741+00:00", "stars": 1218}, "canonical_url": "https://ross.abutalabs.com/products/devpi", "card": {"archived": false, "artifact_type": "service", "description": "Python PyPi staging server and packaging, testing, release tool", "domain": ["developer-tools", "self-hosted"], "enriched": true, "function": ["package-manager", "http-server", "search-engine", "cli", "testing"], "health_score": 78, "homepage": "https://doc.devpi.net", "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["devpi/devpi"], "name": "devpi/devpi", "platform": ["python", "cli", "self-hosted"], "pushed_at": "2026-08-10T06:13:34+00:00", "repo": "devpi/devpi", "stars": 1218, "tags": ["pypi", "package-index", "package-mirror", "release-tool", "tox", "caching-proxy", "devops", "command-line", "web-server"], "topics": ["pypi", "server", "python", "packaging", "testing"], "urls": [], "use_cases": ["run a private pypi server for my team", "cache pypi packages locally to speed up installs", "stage and test python packages before releasing to pypi", "upload python packages to an internal index", "mirror pypi behind a corporate firewall", "manage per-team python package indexes with inheritance", "test packages against an index with tox before release"], "what_it_is": "devpi is a self-hosted PyPI server that provides a caching proxy for pypi.org plus user/team-based package indexes with inheritance, along with a web/search interface plugin. It also includes a command-line client for creating users, managing indexes, uploading, installing, and running tests via tox.", "when_to_avoid": ["you only need to install packages from public PyPI without caching or private indexes", "you need a package index for non-python ecosystems like npm or maven", "you want a fully managed hosted solution without self-hosting"], "when_to_choose": ["you need a private or staging PyPI server with index inheritance", "you want a caching proxy to reduce pypi.org dependency and bandwidth", "you need integrated upload, install, and testing workflows for python packaging"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/devpi", "repo": "devpi/devpi", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "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:04:01.600741+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.600741+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:17:03.379941+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fecc1f2a1df25b5e308e3777f31b11d2128967e446b734a303d46bd7b2a81578", "fetched_at": "2026-08-28T04:04:01.600741+00:00", "kind": "readme", "missing": false, "url": "https://github.com/devpi/devpi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3442, "days_push": 23, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}