Ultimate-NodeJs-Resources
Ultimate-NodeJs-Resources copied to clipboard
PEP621 적용
closes: #225
패키징 및 배포 도구로 선택된 uv
사용 방법
상세한 문서: 공식문서
설치
linux or mac
curl -LsSf https://astral.sh/uv/install.sh | sh
windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
pipx
를 사용한 설치
pipx install uv
개발 환경 구축
파이썬 버전 설정
uv python pin <사용하고자 하는 파이썬 버전>
ex:
uv python pin 3.12
,uv python pin 3.11.5
의존성 동기화
uv sync
동기화된 파이썬 환경 사용
- 쉘 환경 진입시
source .venv/bin/activate
- 단일 스크립트 실행시
uv run python <실행하고자 하는 스크립트>
빌드
[!NOTE]
build
명령어를 공식 지원할 예정이나, 당장은 uvx를 사용해야합니다.
wheel
, sdist
uvx --from build pyproject-build --installer uv
only wheel
uvx --from build pyproject-build --installer uv --wheel
only sdist
uvx --from build pyproject-build --installer uv --sdist
배포
[!NOTE]
publish
명령어를 공식 지원할 예정이나, 당장은 uvx를 사용해야합니다.
uvx twine upload dist/* -u __token__ -p <pypi 배포시 사용되는 토큰>
TODO:
- [x] 기존 사용중이던 패키징 관련 파일 준수(
setup.py , setup.cfg , MANIFEST.in , requirements.txt
반영 완료) - [x] 패키징 및 배포 도구 선정(
rye
로 결정됨) - [ ] 지원 파이썬 버전 구체화
pypi
의whl
파일을 확인 했을 때3.5+
로 작성되어 있으므로, 우선3.5+
로 작성하였음추가1. 3.8 이상 지원 고려중이며, 적정 버전에 대한 논의가 진행중이므로, 임시 3.9+로 변경하였음.
- [x] 의존성 목록 구체화(필수 의존성으로
plotly
,beautifulsoup4
추가)
pypi
의whl
파일을 확인 했을 때, 다음과 같은 의존성을 확인할 수 있었음Requires-Dist: pandas (>=0.19.2) Requires-Dist: requests (>=2.3.0) Requires-Dist: requests-file Requires-Dist: lxml Requires-Dist: tqdm
하지만 라이브러리를 실제로 사용할 때,
plotly
와bs4
가 필요 한 것으로 보이므로, 관련 내용 수정할 필요가 있음
목표:
- PEP621 준수
- 기존 패키징 결과물과 동일하거나, 동일하게 사용 가능한 결과물 확인