PyPI
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このAPIを使用して、PyPIパッケージマネージャークライアントを操作します。
このAPIは、PyPIパッケージマネージャークライアントによって使用され、通常は通常は手動での使用を想定していません。
これらのエンドポイントは、標準の認証方式に準拠していません。どのヘッダーとトークンタイプがサポートされているかの詳細については、PyPIパッケージレジストリドキュメントを参照してください。記載されていない認証方法は、将来削除される可能性があります。
連邦情報処理規格モードが有効になっている場合は、Twine 3.4.2以上を推奨します。
グループからパッケージファイルをダウンロードする
PyPIパッケージファイルをダウンロードします。simpleは通常、このURLを提供します。
GET groups/:id/-/packages/pypi/files/:sha256/:file_identifier| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | グループのまたはフルパス。 |
sha256 | 文字列 | はい | PyPIパッケージファイルのsha256チェックサム。 |
file_identifier | 文字列 | はい | PyPIパッケージファイルの名前。 |
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/files/5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff/my.pypi.package-0.0.1.tar.gz"出力をファイルに書き込むには:
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/files/5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff/my.pypi.package-0.0.1.tar.gz" >> my.pypi.package-0.0.1.tar.gzこれにより、ダウンロードされたファイルが現在のディレクトリのmy.pypi.package-0.0.1.tar.gzに書き込まれます。
グループレベルのsimpleインデックス
グループ内のパッケージのリストをHTMLファイルとして返します:
GET groups/:id/-/packages/pypi/simple| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | グループのまたはフルパス。 |
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/simple"レスポンス例:
<!DOCTYPE html>
<html>
<head>
<title>Links for Group</title>
</head>
<body>
<h1>Links for Group</h1>
<a href="https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/simple/my-pypi-package" data-requires-python="">my.pypi.package</a><br><a href="https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/simple/package-2" data-requires-python="3.8">package_2</a><br>
</body>
</html>出力をファイルに書き込むには:
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/simple" >> simple_index.htmlこれにより、ダウンロードされたファイルが現在のディレクトリのsimple_index.htmlに書き込まれます。
グループレベルのsimpleエントリポイント
パッケージ記述子をHTMLファイルとして返します:
GET groups/:id/-/packages/pypi/simple/:package_name| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | グループのまたはフルパス。 |
package_name | 文字列 | はい | パッケージの名前。 |
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/simple/my.pypi.package"レスポンス例:
<!DOCTYPE html>
<html>
<head>
<title>Links for my.pypi.package</title>
</head>
<body>
<h1>Links for my.pypi.package</h1>
<a href="https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/files/5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff/my.pypi.package-0.0.1-py3-none-any.whl#sha256=5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff" data-requires-python=">=3.6">my.pypi.package-0.0.1-py3-none-any.whl</a><br><a href="https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/files/9s9w01b0bcd52b709ec052084e33a5517ffca96f7728ddd9f8866a30cdf76f2/my.pypi.package-0.0.1.tar.gz#sha256=9s9w011b0bcd52b709ec052084e33a5517ffca96f7728ddd9f8866a30cdf76f2" data-requires-python=">=3.6">my.pypi.package-0.0.1.tar.gz</a><br>
</body>
</html>出力をファイルに書き込むには:
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/simple/my.pypi.package" >> simple.htmlこれにより、ダウンロードされたファイルが現在のディレクトリのsimple.htmlに書き込まれます。
プロジェクトからパッケージファイルをダウンロードする
PyPIパッケージファイルをダウンロードします。simpleは通常、このURLを提供します。
GET projects/:id/packages/pypi/files/:sha256/:file_identifier| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | プロジェクトのまたはフルパス。 |
sha256 | 文字列 | はい | PyPIパッケージファイルsha256チェックサム。 |
file_identifier | 文字列 | はい | PyPIパッケージファイル名。 |
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/pypi/files/5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff/my.pypi.package-0.0.1.tar.gz"出力をファイルに書き込むには:
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/pypi/files/5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff/my.pypi.package-0.0.1.tar.gz" >> my.pypi.package-0.0.1.tar.gzこれにより、ダウンロードされたファイルが現在のディレクトリのmy.pypi.package-0.0.1.tar.gzに書き込まれます。
プロジェクトレベルのsimpleインデックス
プロジェクト内のパッケージのリストをHTMLファイルとして返します:
GET projects/:id/packages/pypi/simple| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | プロジェクトのまたはフルパス。 |
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/pypi/simple"レスポンス例:
<!DOCTYPE html>
<html>
<head>
<title>Links for Project</title>
</head>
<body>
<h1>Links for Project</h1>
<a href="https://gitlab.example.com/api/v4/projects/1/packages/pypi/simple/my-pypi-package" data-requires-python="">my.pypi.package</a><br><a href="https://gitlab.example.com/api/v4/projects/1/packages/pypi/simple/package-2" data-requires-python="3.8">package_2</a><br>
</body>
</html>出力をファイルに書き込むには:
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/pypi/simple" >> simple_index.htmlこれにより、ダウンロードされたファイルが現在のディレクトリのsimple_index.htmlに書き込まれます。
プロジェクトレベルのsimpleエントリポイント
パッケージ記述子をHTMLファイルとして返します:
GET projects/:id/packages/pypi/simple/:package_name| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | プロジェクトのまたはフルパス。 |
package_name | 文字列 | はい | パッケージの名前。 |
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/pypi/simple/my.pypi.package"レスポンス例:
<!DOCTYPE html>
<html>
<head>
<title>Links for my.pypi.package</title>
</head>
<body>
<h1>Links for my.pypi.package</h1>
<a href="https://gitlab.example.com/api/v4/projects/1/packages/pypi/files/5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff/my.pypi.package-0.0.1-py3-none-any.whl#sha256=5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff" data-requires-python=">=3.6">my.pypi.package-0.0.1-py3-none-any.whl</a><br><a href="https://gitlab.example.com/api/v4/projects/1/packages/pypi/files/9s9w01b0bcd52b709ec052084e33a5517ffca96f7728ddd9f8866a30cdf76f2/my.pypi.package-0.0.1.tar.gz#sha256=9s9w011b0bcd52b709ec052084e33a5517ffca96f7728ddd9f8866a30cdf76f2" data-requires-python=">=3.6">my.pypi.package-0.0.1.tar.gz</a><br>
</body>
</html>出力をファイルに書き込むには:
curl --user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/pypi/simple/my.pypi.package" >> simple.htmlこれにより、ダウンロードされたファイルが現在のディレクトリのsimple.htmlに書き込まれます。
パッケージをアップロードする
PyPIパッケージをアップロードします:
POST projects/:id/packages/pypi| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | プロジェクトのまたはフルパス。 |
requires_python | 文字列 | いいえ | PyPIに必要なバージョン。 |
curl --request POST \
--form 'content=@path/to/my.pypi.package-0.0.1.tar.gz' \
--form 'name=my.pypi.package' \
--form 'version=1.3.7' \
--user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/pypi"