Getting started on Gemfury with Python

Install packages with uv

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.


Next