Packaging in requests.py

Gwan Bin Park·2024년 2월 14일

Packaging 이란 모듈별로 생성한 파일을 하나로 합쳐서 배포하는 것으로 코드 뿐만 아니라 dependency, testing, lint, build, deployment 등을 포함한 포괄적인 개념이다.

requests 에서는 패키징을 위한 파일로 setup.py, setup.cfg, pyproject.toml, requirements-dev.txt, tox.ini 등이 있다. setup.py 를 통해 라이브러리의 기본적인 메타데이터를 확인할 수 있으며 requests 를 사용하기 위한 의존성이 명시된다. 만약 테스트를 원할 경우 requirements-dev.txt 를 통해 개발에 필요한 의존성을 설치한다. tox.ini 는 다양한 파이썬 버전의 가상 환경을 만들어 테스트를 돕는다. 이때 requirements-dev.txt 를 참고해 가상환경에 필요한 의존성을 자동으로 설치한다.

# development(test 등) 을 위한 의존성 설치
pip install .
pip install -r requirements-dev.txt

# 다양한 버전의 파이썬 버전으로 테스트를 하고 싶을시
pip install tox
tox

이전에는 패키징 방식으로 setup.py 와 setup.cfg 의 조합을 사용했으나, pypa 에서는 선언적으로 패키징 방식을 정의할 수 있는 pyproject.toml 을 주로 사용할 것을 권장하고 있다. requests 의 경우 14년이나 된 오래된 라이브러리이면서 추가적인 feature request를 더 이상 받고 있지 않기 때문에 아직 setup.py 를 그대로 사용하고 있다(패키징 코드를 setup.py 에서 pyproject.toml 로 완전히 이동하지 않아 pyproject.toml 만으로 패키징은 현재 불가능하다.)

0개의 댓글