프런트엔드와 백엔드
Python 프로젝트의 빌드에는 실행을 시작하고 환경을 준비하는 도구와 실제 패키지 구성을 처리하는 백엔드가 함께 작동한다. Build는 이 가운데 프런트엔드 역할이다. 백엔드에 설정을 전달할 수 있으며 하나의 특정 빌드 시스템에만 프로젝트 작성을 종속시키는 방식과는 구분된다.
두 종류의 배포 파일
기본 실행은 소스 배포본을 만든 뒤 그 소스 배포본으로부터 wheel을 생성하고 결과를 dist 디렉터리에 둔다. 소스 배포본이나 wheel만 만들도록 선택할 수도 있다. 두 결과를 모두 원본 소스에서 직접 생성하는 옵션 조합은 기본 흐름과 다르므로 구분해야 한다.
환경과 출력 제어
기본적으로 격리된 환경에서 필요한 빌드 작업을 수행한다. 출력 디렉터리와 백엔드 설정을 조정하거나 격리를 끄는 옵션도 있다. 다만 배포 파일을 생성하는 것과 PyPI에 업로드하는 것은 별도의 작업이며 생성된 파일의 설치와 실행을 확인하는 과정도 필요하다.
관련 문서
Twine / Hatch Python / PDM Python / Poetry / GoReleaser