Repolode
pypa

pypa/setuptools-scm

Git 또는 Mercurial 태그에서 패키지 버전을 가져와 setuptools와 연동하는 Python 도구입니다.

스타
954
포크
251
열린 이슈
26
마지막 커밋
17시간 전

어떤 프로젝트인가요?

setuptools-scm은 프로젝트의 버전 관리 시스템 메타데이터(주로 Git 또는 Mercurial 태그)에서 Python 패키지 버전을 추출합니다. setup 파일에 버전 문자열을 직접 관리하는 대신, 빌드 시점에 가장 최근 태그와 커밋 상태를 바탕으로 버전을 계산하므로 릴리스와 개발 빌드가 저장소 기록과 일관성을 유지합니다.

이 패키지는 setuptools에 연동되며, 자체 도구를 통해 단독으로 사용할 수도 있습니다. 이 저장소는 두 프로젝트를 담은 모노레포입니다. 하나는 setuptools-scm 자체이고, 다른 하나는 setuptools와 별개로 사용할 수 있는 핵심 VCS 버전 관리 라이브러리인 vcs-versioning입니다.

저장소는 의존성 관리에 uv를 사용합니다. 모든 패키지와 의존성 그룹을 설치하고, 각 프로젝트의 pytest 테스트 모음을 실행하며, 공통 mkdocs 문서를 빌드하는 명령이 포함되어 있습니다.

핵심 기능

  • 01빌드 시점에 Git 또는 Mercurial 태그에서 버전 번호를 가져옵니다.
  • 02Python 패키지 빌드를 위해 setuptools와 연동됩니다.
  • 03setuptools 없이도 사용할 수 있는 독립 라이브러리 vcs-versioning을 제공합니다.
  • 04pytest로 실행하는 테스트 모음과 mkdocs로 빌드하는 문서가 포함되어 있습니다.

활용 사례

  • 버전 문자열을 직접 수정하지 않고 Python 패키지 버전을 Git 태그에 맞춰 관리합니다.
  • Git 또는 Mercurial로 관리되는 Python 프로젝트의 버전을 지정합니다.
  • setuptools를 사용하지 않는 도구에서 VCS 기반 버전 감지를 재사용합니다.

빠른 시작

  1. 1

    uv로 모든 패키지와 종속성 그룹을 설치합니다

    uv sync --all-packages --all-groups
  2. 2

    테스트 스위트를 실행합니다

    uv run pytest -n12

토픽

자주 묻는 질문

setuptools-scm은(는) 무엇인가요?
Git 또는 Mercurial 태그에서 패키지 버전을 가져와 setuptools와 연동하는 Python 도구입니다. setuptools-scm은 프로젝트의 버전 관리 시스템 메타데이터(주로 Git 또는 Mercurial 태그)에서 Python 패키지 버전을 추출합니다. setup 파일에 버전 문자열을 직접 관리하는 대신, 빌드 시점에 가장 최근 태그와 커밋 상태를 바탕으로 버전을 계산하므로 릴리스와 개발 빌드가 저장소 기록과 일관성을 유지합니다.
setuptools-scm은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
setuptools-scm에는 명시된 라이선스가 없습니다. 코드는 공개되어 있지만 라이선스가 없으면 재사용 허가가 명확하지 않으므로, 사용 전에 작성자에게 문의하는 것이 좋습니다.
setuptools-scm은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. setuptools-scm의 마지막 커밋은 2026년 11월 6일입니다.
setuptools-scm은(는) 어디에 사용할 수 있나요?
버전 문자열을 직접 수정하지 않고 Python 패키지 버전을 Git 태그에 맞춰 관리합니다. Git 또는 Mercurial로 관리되는 Python 프로젝트의 버전을 지정합니다. setuptools를 사용하지 않는 도구에서 VCS 기반 버전 감지를 재사용합니다.
setuptools-scm는 어떻게 설치하나요?
uv로 모든 패키지와 종속성 그룹을 설치합니다: uv sync --all-packages --all-groups 테스트 스위트를 실행합니다: uv run pytest -n12
setuptools-scm은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/pypa/setuptools-scm

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트