依存関係ソース
新機能 in 0.2.0
通常、Rye は PyPI からのみパッケージを読み込みます。しかし、他のインデックスからもパッケージを読み込むように指示することも可能です。
ソースの追加
インデックスは、プロジェクトまたはワークスペース(`pyproject.toml` を介して)、またはグローバル設定に追加できます。Rye は常に両方のファイルを参照しますが、`pyproject.toml` ファイルがグローバル設定よりも優先されます。
各ソースには一意の名前が必要です。デフォルトのソースは常に `default` と呼ばれ、すぐに PyPI を指します。
`~/.rye/config.toml` にこれを追加します
[[sources]]
name = "company-internal"
url = "https://company.internal/simple/"
`pyproject.toml` にこれを追加します
[[tool.rye.sources]]
name = "company-internal"
url = "https://company.internal/simple/"
変更 in 0.4.0
グローバル設定のソースも、ツールのインストールに考慮されます。
インデックスタイプ
Rye はさまざまなタイプのソースをサポートしており、`default` PyPI インデックスを上書きすることもできます。別のソースに `default` という名前を付けると、PyPI は解決に使用されなくなります。
[[sources]]
name = "company-internal"
url = "https://company.internal/simple/"
type = "index" # this is implied
[[sources]]
name = "company-internal"
url = "https://company.internal/"
type = "find-links"
[[sources]]
name = "default"
url = "https://company.internal/simple/"
警告
デフォルトインデックスは `find-links` タイプにはできないことに注意してください。
ソースタイプ
2 つのソースタイプ(`index` と `find-links`)は、基礎となる pip インフラストラクチャによって決定されます。
インデックス
これは、PyPI や devpi などのツールによって提供される、PEP 503 タイプのインデックスです。これは、pip の `--index-url` または `--extra-index-url` 引数に対応します。
注:複数のインデックスの使用の詳細については、`uv` ドキュメントを参照してください。
find-links
これは、さまざまなタイプのソースであり、パッケージへのリンクを示すファイルパスまたはホストされた HTML ページを指している必要があります。これは `--find-links` 引数に対応します。HTML ページの形式はやや不十分に指定されていますが、一般的に ` .tar.gz` または ` .whl` ファイルを指すすべての HTML リンクが考慮されます。
インデックス認証
HTTP 基本認証は、インデックス認証でサポートされています。設定には 2 つの方法があります。`username` と `password` を設定に直接埋め込むか、環境変数で指定できます。
[[sources]]
name = "company-internal"
url = "https://company.internal/simple/"
username = "username"
password = "super secret"
[[sources]]
name = "company-internal"
url = "https://${INDEX_USERNAME}:${INDEX_PASSWORD}@company.internal/simple/"
SSL/TLS 検証
デフォルトでは、ソースは SSL/TLS で保護されている必要があります。そうでない場合、rye はソースを拒否します。`verify-ssl` を `false` に設定することで、これを上書きできます。
[[sources]]
name = "company-internal"
url = "http://company.internal/simple/"
verify-ssl = false