You can configure your uv project to use Gemfury as the primary
source of Python packages. To start, add Gemfury as an index to
your project’s pyproject.toml configuration:
[[tool.uv.index]]
name = "fury"
url = "https://pypi.fury.io/ACCOUNT/"
With this configuration, uv will resolve packages from your Gemfury
account first, falling back to the public index
for any names it doesn’t find.
Accessing private packages
To authenticate into your private repository, mark the index as requiring credentials on every request:
[[tool.uv.index]]
name = "fury"
url = "https://pypi.fury.io/ACCOUNT/"
authenticate = "always"
Then populate the index-specific environment variables with a
Gemfury deploy token before running uv:
$ export UV_INDEX_FURY_USERNAME=USER
$ export UV_INDEX_FURY_PASSWORD=TOKEN
$ uv sync
The variable name suffix (FURY) matches the uppercased name
of the index defined in pyproject.toml. Setting authenticate = "always" ensures uv always sends credentials to authenticate
into your private repository.