Using alternative package indexes#
uvはデフォルトで公式のPython Package Index(PyPI)を使用しますが、代替パッケージインデックスもサポートしています。ほとんどの代替インデックスにはさまざまな形式の認証が必要であり、初期設定が必要です。
Azure Artifacts#
uvは、Azure DevOps Artifactsからパッケージをインストールできます。Personal Access Token(PAT)を使用してフィードを認証するか、keyringパッケージを使用して対話的に認証します。
Using a PAT#
PATが利用可能な場合(例:$(System.AccessToken)in an Azure pipeline)、"Basic"HTTP認証スキームを介して資格情報を提供できる。URLのパスワードフィールドにPATを含める。ユーザー名も含める必要があるが、任意の文字列にすることができる。
たとえば、トークンが$ADO_PAT環境変数に格納されている場合は、次のようにインデックスURLを設定します。:
$ export UV_EXTRA_INDEX_URL=https://dummy:$ADO_PAT@pkgs.dev.azure.com/{organisation}/{project}/_packaging/{feedName}/pypi/simple/
Using keyring#
PATが利用できない場合は、the artifacts-keyring pluginと共にkeyringパッケージを使用してArtifactsに認証します。これら2つのパッケージはAzure Artifactsに認証するために必要なので、Artifacts以外のソースから事前にインストールする必要があります。
the artifacts-keyring pluginは、Azure Artifacts Credential Providerツールをラップします。認証プロバイダは、対話型ログインを含むいくつかの異なる認証モードをサポートしています。設定の詳細については、the tool's documentationを参照してください。
uvは、subprocess modeでのkeyringパッケージの使用のみをサポートしています。keyring実行可能ファイルはPATHにある必要があります。つまり、グローバルにインストールされているか、アクティブな環境にインストールされている必要があります。keyringCLIではURLにユーザー名が必要なので、インデックスURLにはデフォルトのユーザー名VssSessionTokenが含まれている必要があります。
$ # Pre-install keyring and the Artifacts plugin from the public PyPI
$ uv tool install keyring --with artifacts-keyring
$ # Enable keyring authentication
$ export UV_KEYRING_PROVIDER=subprocess
$ # Configure the index URL with the username
$ export UV_EXTRA_INDEX_URL=https://VssSessionToken@pkgs.dev.azure.com/{organisation}/{project}/_packaging/{feedName}/pypi/simple/
Other indexes#
uvは、JFrogのArtifactory、Google Cloud Artifact Registry、AWS Code Artifactでも動作することが知られています。