- グループからのパッケージファイルのダウンロード
- グループレベルのシンプルAPIインデックス
- グループレベルのシンプルなAPIエントリーポイント
- プロジェクトからのパッケージファイルのダウンロード
- プロジェクトレベルのシンプルAPIインデックス
- プロジェクトレベルのシンプルAPIエントリーポイント
- パッケージのアップロード
PyPI API
PyPI PackagesのAPIドキュメントです。
GitLab パッケージレジストリから PyPI パッケージをアップロードしてインストールする方法については、PyPI パッケージレジストリのドキュメントを参照してください。
グループからのパッケージファイルのダウンロード
GitLab 13.12 で導入されました。
PyPIパッケージファイルをダウンロードします。シンプルな APIは通常この URL を提供します。
GET groups/:id/-/packages/pypi/files/:sha256/:file_identifier
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | グループのIDまたはフルパス。 |
sha256 | 文字列です。 | yes | PyPI パッケージファイルの sha256 チェックサム。 |
file_identifier | 文字列です。 | yes | PyPI パッケージファイルの名前。 |
curl --user <username>:<personal_access_token> "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> "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
に書き込みます。
グループレベルのシンプルAPIインデックス
GitLab 15.1で導入されました。
グループ内のパッケージの一覧を HTML ファイルとして返します:
GET groups/:id/-/packages/pypi/simple
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | グループのIDまたはフルパス。 |
curl --user <username>:<personal_access_token> "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> "https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/simple" >> simple_index.html
ダウンロードしたファイルをカレントディレクトリのsimple_index.html
に書き込みます。
グループレベルのシンプルなAPIエントリーポイント
GitLab 13.12 で導入されました。
パッケージディスクリプタを HTML ファイルとして返します:
GET groups/:id/-/packages/pypi/simple/:package_name
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | グループのIDまたはフルパス。 |
package_name | 文字列です。 | yes | パッケージ名。 |
curl --user <username>:<personal_access_token> "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> "https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/simple/my.pypi.package" >> simple.html
ダウンロードしたファイルをカレントディレクトリのsimple.html
に書き込みます。
プロジェクトからのパッケージファイルのダウンロード
GitLab 12.10で導入されました。
PyPIパッケージファイルをダウンロードします。シンプルな APIは通常この URL を提供します。
GET projects/:id/packages/pypi/files/:sha256/:file_identifier
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | プロジェクトのIDまたはフルパス。 |
sha256 | 文字列です。 | yes | PyPI パッケージファイルの sha256 チェック合計。 |
file_identifier | 文字列です。 | yes | PyPI パッケージのファイル名。 |
curl --user <username>:<personal_access_token> "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> "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
に書き込みます。
プロジェクトレベルのシンプルAPIインデックス
GitLab 15.1で導入されました。
プロジェクト内のパッケージの一覧を HTML ファイルとして返します:
GET projects/:id/packages/pypi/simple
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | プロジェクトのIDまたはフルパス。 |
curl --user <username>:<personal_access_token> "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> "https://gitlab.example.com/api/v4/projects/1/packages/pypi/simple" >> simple_index.html
ダウンロードしたファイルをカレントディレクトリのsimple_index.html
に書き込みます。
プロジェクトレベルのシンプルAPIエントリーポイント
GitLab 12.10で導入されました。
パッケージディスクリプタを HTML ファイルとして返します:
GET projects/:id/packages/pypi/simple/:package_name
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | プロジェクトのIDまたはフルパス。 |
package_name | 文字列です。 | yes | パッケージ名。 |
curl --user <username>:<personal_access_token> "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> "https://gitlab.example.com/api/v4/projects/1/packages/pypi/simple/my.pypi.package" >> simple.html
ダウンロードしたファイルをカレントディレクトリのsimple.html
に書き込みます。
パッケージのアップロード
PyPIパッケージをアップロードします:
PUT projects/:id/packages/pypi
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | プロジェクトの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> \
"https://gitlab.example.com/api/v4/projects/1/packages/pypi"