- 그룹에서 패키지 파일 다운로드
 - 그룹 수준 간단한 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
 | 문자열 | 예 | 그룹의 ID 또는 전체 경로 | 
sha256
 | 문자열 | 예 | PyPI 패키지 파일의 sha256 체크섬 | 
file_identifier
 | 문자열 | 예 | 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
 | 문자열 | 예 | 그룹의 ID 또는 전체 경로 | 
curl --user <username>:<personal_access_token> "https://gitlab.example.com/api/v4/groups/1/-/packages/pypi/simple"
예시 응답:
<!DOCTYPE html>
<html>
  <head>
    <title>그룹 링크</title>
  </head>
  <body>
    <h1>그룹 링크</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
 | 문자열 | 예 | 그룹의 ID 또는 전체 경로 | 
package_name
 | 문자열 | 예 | 패키지 이름 | 
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>my.pypi.package 링크</title>
  </head>
  <body>
    <h1>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
 | 문자열 | 예 | 프로젝트의 ID 또는 전체 경로입니다. | 
sha256
 | 문자열 | 예 | PyPI 패키지 파일 sha256 체크섬입니다. | 
file_identifier
 | 문자열 | 예 | 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
 | 문자열 | 예 | 프로젝트의 ID 또는 전체 경로입니다. | 
curl --user <username>:<personal_access_token> "https://gitlab.example.com/api/v4/projects/1/packages/pypi/simple"
예시 응답:
<!DOCTYPE html>
<html>
  <head>
    <title>프로젝트 링크</title>
  </head>
  <body>
    <h1>프로젝트 링크</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
 | 문자열 | 예 | 프로젝트의 ID 또는 전체 경로입니다. | 
package_name
 | 문자열 | 예 | 패키지의 이름입니다. | 
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>my.pypi.package 링크</title>
  </head>
  <body>
    <h1>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
 | 문자열 | 예 | 프로젝트의 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"
도움말