uv/Document 과 uv/Using uv in Docker 등을 참고하여 환경에 맞게 설치를 합니다. 이번 페이지는 파이썬 패키지와 관련한 내용을 정리해 보겠습니다.
UV
uv 를 활용하여 파이썬을 보다 효율적을 사용할 수 있습니다. uv 패키지를 활용하여 실행가능한 명령들로는 다음의 내용들이 있습니다.
A single tool to replace
pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more.
패키지와 관련하여 twine 를 실행하는 경우에는 $ uv twine ~ 으로 명령을 실행하면 됩니다.ㅕㅍ ㅑ
Package
package with uv locally
우선 작업을 진행할 Host 운영체계에서 작업을 진할 내용을 정리해 보겠습니다.
# package_name 을 정의하고 파이썬 버젼을 특정 합니다
$ uv init --lib package_name -p 3.13
$ cd package_name
# 패키지 작업을 진행합니다
$ tree -L 3
.
├── dist
├── pyproject.toml
├── README.md
├── src
│ └── package_name
│ ├── __init__.py
│ ├── data
│ │ ├── __init__.py
│ │ ├── base.py
│ │ └── web.py
│ ├── py.typed
│ └── tools
│ ├── base.py
│ ├── __init__.py
│ └── tools.py
└── uv.lock
Publishing Package to PyPI
작업진행 과정을 살펴보면 다음과 같습니다.
- 사용자 로그인 ->
Account Setting > API tokens > Add API token Create API Token내용값 입력- 발급된 token 값을
~/.pypirc파일로 생성 $ uv build빌드작업 진행하여./dist/*.whl생성$ uv run pip install --upgrade twine업로드
$ uv add twine
$ uv run twine upload --verbose dist/*
INFO Using configuration from /home/buffet/.pypirc
Uploading distributions to https://upload.pypi.org/legacy/
INFO dist/pytip-0.0.17-py3-none-any.whl (28.9 KB)
INFO dist/pytip-0.0.17.tar.gz (21.5 KB)
INFO username set by command options
INFO password set from config file
INFO username: __token__
INFO password: <hidden>
Uploading pytip-0.0.17-py3-none-any.whl
100% ━━━━━━━━━━━━━━━━━━━ 33.1/33.1 kB • 00:00 • 123.2 MB/s
INFO Response from https://upload.pypi.org/legacy/:
200 OK
INFO <html>
<body>
<h1>200 OK</h1>
</body>
</html>
Uploading pytip-0.0.17.tar.gz
100% ━━━━━━━━━━━━━━━━━━━ 33.1/33.1 kB • 00:00 • 123.2 MB/s
INFO Response from https://upload.pypi.org/legacy/:
200 OK
INFO <html>
<body>
<h1>200 OK</h1>
</body>
</html>
View at:
https://pypi.org/project/pytip/0.0.17/