Skip to main content
pyx supports static IP addresses for customers who need to allowlist IP addresses in their firewall configurations. This feature uses Anycast routing to provide a stable set of IP addresses that can be used to access pyx services.
Static IP support must be enabled for your organization. Please contact us to enable this feature.

When to use static IPs

Static IPs are useful for machines running in a network-isolated environment that want to access pyx. With this feature enabled, you can allowlist a fixed set of pyx IP addresses in your firewall configurations.

IP addresses to allowlist

Once static IP support is enabled for your organization, you’ll need to allowlist the following IP addresses in your firewall:
IPv4 addresses
3.163.252.163
3.163.251.163
3.163.250.163
3.163.249.163
3.163.248.163
3.163.247.163
3.163.246.163
3.163.245.163
3.163.244.163
3.163.243.163
3.163.242.163
3.163.241.163
3.163.240.163
3.163.239.163
3.163.238.163
3.163.237.163
3.163.236.163
3.163.235.163
3.163.234.163
3.163.233.163
3.163.232.163
IPv6 addresses
2600:9000:2714:0:a100:0:4:9d02
2600:9000:2713:0:a100:0:4:9d02
2600:9000:2712:0:a100:0:4:9d02
2600:9000:2711:0:a100:0:4:9d02
2600:9000:2710:0:a100:0:4:9d02
2600:9000:270f:0:a100:0:4:9d02
2600:9000:270e:0:a100:0:4:9d02
2600:9000:270d:0:a100:0:4:9d02
2600:9000:270c:0:a100:0:4:9d02
2600:9000:270b:0:a100:0:4:9d02
2600:9000:270a:0:a100:0:4:9d02
2600:9000:2709:0:a100:0:4:9d02
2600:9000:2708:0:a100:0:4:9d02
2600:9000:2707:0:a100:0:4:9d02
2600:9000:2706:0:a100:0:4:9d02
2600:9000:2705:0:a100:0:4:9d02
2600:9000:2704:0:a100:0:4:9d02
2600:9000:2703:0:a100:0:4:9d02
2600:9000:2702:0:a100:0:4:9d02
2600:9000:2701:0:a100:0:4:9d02
2600:9000:2700:0:a100:0:4:9d02
These addresses serve content for the following static domains:
  • api-static.pyx.dev
  • files-static.astralhosted.com
  • views-static.astralhosted.com
  • conda-static.astralhosted.com

Configuration

When using static IPs, you must configure uv to use API key authentication and the static API endpoint.

Authentication

Static IP access requires API key authentication. You cannot use OAuth-based authentication (uv auth login) with static IPs. Create an API key in the pyx dashboard and set it as an environment variable:
export PYX_API_KEY=sk-pyx-...
See Authentication for more ways of authenticating with pyx.

API URL configuration

Configure uv to use the static API endpoint:
export PYX_API_URL=https://api-static.pyx.dev

Installing packages

With the static API URL configured, you can install packages using the static endpoint:
uv pip install fastapi --index https://api-static.pyx.dev/simple/pypi
For example, to install from the PyPI proxy:
uv pip install fastapi --index https://api-static.pyx.dev/simple/public/pypi
Or configure the index in your pyproject.toml:
[[tool.uv.index]]
name = "pypi"
url = "https://api-static.pyx.dev/simple/public/pypi"

Publishing packages

When publishing packages via the static interface, use the static upload endpoint:
uv publish --publish-url https://api-static.pyx.dev/v1/upload/acme/main

Limitations

The following limitations apply to the static IP feature:

Proxied public packages

If mirroring is not enabled, packages from public sources will still be served from the upstream source (e.g., PyPI) instead of pyx. If your environment does not allow access to these sources, consider turning on mirroring via the Settings tab.

Performance considerations

Due to the Anycast routing architecture, static IPs have higher latency compared to the standard dynamic IP-backed domains. You should expect package resolution to be approximately 30% slower, depending on the number of packages being resolved. Install and upload performance are effectively unchanged.

Dashboard access

The pyx dashboard is not currently available with static IPs. You can still use it from machines that are not behind a network-isolated firewall.

Getting help

If you need assistance with static IP configuration or have questions about this feature, please contact us.