Skip to main content
pyx includes two modes for serving packages from public sources, like PyPI and the PyTorch index: mirroring and proxying. You can enable or disable the mirror in the Settings tab.

Mirroring

When the mirror is enabled, pyx will serve packages from its own CDN, replicating packages from PyPI (or another public index) continuously and in real-time, and serving them from the same infrastructure as is used for private package delivery. Concretely, when the mirror is enabled, PyPI packages will be served from https://files.astralhosted.com, rather than https://files.pythonhosted.org.

Proxying

When the proxy is enabled, pyx will serve packages from the public source directly, without any additional replication or caching. Concretely, when the proxy is enabled, PyPI packages will be served from https://files.pythonhosted.org, rather than https://files.astralhosted.com.

Choosing a delivery mode

When the mirror is enabled, pyx can serve its own optimized artifacts to the uv client, enabling faster installation times. For example, the PyTorch wheels served by the mirror are up to 40% smaller than those served by https://download.pytorch.org. Enabling the mirror also reduces your points of failure, as all downloads are served from pyx’s infrastructure, creating resilience against outages at the public source. Downloads through the mirror will also be tracked in the pyx dashboard, enabling monitoring of package download counts and other team-wide analytics. Importantly, though, downloads through the mirror count towards your team’s bandwidth usage, while downloads from the proxy do not. As such, the proxy can be a better choice for teams looking to minimize bandwidth usage and focus their pyx usage on private package hosting. Regardless of which mode is enabled, the pyx API endpoints remain unchanged (e.g., https://api.pyx.dev/simple/pypi for PyPI, or https://api.pyx.dev/simple/acme/main for your team’s private index); custom views are also supported in both modes.

Toggling delivery modes

You can enable or disable the mirror in the Settings tab. After enabling or disabling the mirror, refresh your access token (uv auth token pyx.dev) in the uv client for the changes to take immediate effect, and refresh your lockfile (uv lock --refresh) to replace the cached file URLs without modifying the selected versions.
I