Skip to content

Authentication#

Git authentication#

uvを使用すると、パッケージをGitからインストールでき、プライベートリポジトリで認証するための次のスキームがサポートされます。

SSHの使用:

  • git+ssh://git@<hostname>/... (e.g. git+ssh://git@github.com/astral-sh/uv)
  • git+ssh://git@<host>/... (e.g. git+ssh://git@github.com-key-2/astral-sh/uv)

SSHの設定方法の詳細については、GitHub SSH documentationを参照してください。

パスワードまたはトークンの使用:

  • git+https://<user>:<token>@<hostname>/... (e.g. git+https://git:github_pat_asdf@github.com/astral-sh/uv)
  • git+https://<token>@<hostname>/... (e.g. git+https://github_pat_asdf@github.com/astral-sh/uv)
  • git+https://<user>@<hostname>/... (e.g. git+https://git@github.com/astral-sh/uv)

GitHubパーソナルアクセストークンを使用する場合、ユーザー名は任意です。GitHubでは、パスワードを使用した直接のログインはサポートされていませんが、他のホストではサポートされています。認証情報なしでユーザー名を入力すると、入力を求められます。

URLにクレデンシャルが存在せず、認証が必要な場合は、Git credential helperが照会されます。

HTTP authentication#

uv supports credentials over HTTP when querying package registries.

uvは、パッケージレジストリを照会するときに、HTTPを介したクレデンシャルをサポートします。

認証は、優先順位に従って次のソースから行われます。

  • URL。例:https://<user>:<password>@<hostname>/...
  • Anetrc構成ファイル
  • Akeyringプロバイダ(オプトインが必要)

1つのネット位置(スキーム、ホスト、およびポート)に対して認証が検出された場合、その認証はコマンドの実行中キャッシュされ、そのネット位置に対する他の照会に使用されます。uvの呼び出しでは、認証はキャッシュされません。

なお、キーリングベースの認証を有効にするには、--keyring-provider subprocessまたはUV_KEYRING_PROVIDER=subprocessを指定する必要があります。

認証は、次のコンテキストで指定されたホストに使用できます。

  • index-url
  • extra-index-url
  • find-links
  • package @ https://...

pipとの違いの詳細については、pipcompatibility guideを参照してください。

Custom CA certificates#

デフォルトでは、uvはバンドルされたwebpki-rootsクレートから証明書をロードします。webpki-rootsはMozillaからの信頼できるトラストルートのセットであり、uvに含めることで移植性とパフォーマンスが向上します(特にmacOSでは、システムのトラストストアの読み取りに大幅な遅延が発生します)。

ただし、場合によっては、特にシステムの証明書ストアに含まれている企業の信頼ルート(必須プロキシなど)に依存している場合は、プラットフォームのネイティブ証明書ストアを使用することもできます。システムの信頼ストアを使用するようにuvに指示するには、--native-tlsコマンドラインフラグを指定してuvを実行するか、UV_NATIVE_TLS環境変数をtrueに設定します。

証明書への直接パスが必要な場合(CIなど)は、SSL_CERT_FILE環境変数を証明書バンドルのパスに設定して、システムのトラストストアの代わりにそのファイルを使用するようuvに指示します。

クライアント証明書認証(mTLS)が必要な場合は、SSL_CLIENT_CERT環境変数を、証明書とそれに続く秘密鍵を含むPEM形式のファイルのパスに設定します。

Authentication with alternative package indexes#

一般的な代替Pythonパッケージインデックスを使用した認証の詳細については、alternative indexes integration guideを参照してください。