Package mirror · npm · PyPI · OCI
Your builds should not queue behind a public registry.
ParcelGrid mirrors the packages your pipelines resolve, verifies every digest and serves the result from edge caches inside the EU. When an upstream registry slows down, rate-limits or becomes unreachable, CI keeps building.
How the mirror works
- Point package managers at your mirrorOne registry URL per ecosystem — npm, PyPI or OCI. Access is scoped to a workspace, so a token issued for one team never reads another team's cache.
- The first request warms the cacheParcelGrid fetches the artifact upstream, validates the published digest, stores an immutable copy and records its provenance next to it.
- Later builds read from the edgeCache hits never leave our network. An upstream outage becomes one status-page entry instead of fifty failed pipelines.
What you get
Immutable artifacts
A version is stored once and never rewritten: yesterday's lockfile resolves to the same bytes today.
Digest verification
Every object is checked against the digest published by the upstream registry before it is served to a build.
Signed downloads
Artifacts are handed out as short-lived URLs bound to the requesting workspace; unsigned requests are rejected.
Retention controls
Choose how long cold package versions stay cached, and pin the ones your releases depend on.
Usage reports
Egress, cache-hit ratio and top packages per workspace, exported as CSV or read from the API.
Audit trail
Token creation, revocation and configuration changes are recorded for 90 days.
Two lines to switch a pipeline
Create a workspace token in the console, then point the package manager at your mirror. Both examples
assume the token is exported as PARCELGRID_TOKEN.
# npm npm config set registry https://api.parcelgrid.mywire.org/v1/npm/ npm config set //api.parcelgrid.mywire.org/v1/npm/:_authToken "$PARCELGRID_TOKEN" # pip pip config set global.index-url https://cdn.parcelgrid.mywire.org/simple/
Full configuration, retry policy and error codes: documentation.
Built for pipelines, not for browsing
- Deterministic builds. Lockfiles resolve against cache entries that are addressed by digest, not by tag or pointer.
- Retries that respect upstream limits. When a public registry answers
429, the mirror backs off on your behalf and serves the cached copy in the meantime. - No silent substitution. A digest mismatch is an error, never a warning: the build fails before it installs anything.
- Data stays in the EU. Caches, metadata and usage reports live in EU regions; artifacts are not forwarded to third parties.