Repolode
pypa

pypa/setuptools-scm

Ferramenta Python que obtém a versão de pacotes a partir de tags do Git ou Mercurial e se integra ao setuptools.

Estrelas
955
Forks
251
Issues abertas
26
Último commit
há 14 horas

O que é?

setuptools-scm extrai as versões de pacotes Python dos metadados do sistema de controle de versão de um projeto, normalmente das tags do Git ou Mercurial. Em vez de manter uma string de versão manualmente nos arquivos de configuração, a versão é calculada durante o build com base na tag mais recente e no estado dos commits, mantendo releases e builds de desenvolvimento alinhados ao histórico do repositório.

O pacote se integra ao setuptools e também pode ser usado de forma independente por meio de suas próprias ferramentas. O repositório é um monorepo que contém dois projetos: o próprio setuptools-scm e o vcs-versioning, uma biblioteca central de versionamento baseado em VCS que pode ser usada sem o setuptools.

O repositório usa uv para gerenciar dependências e inclui comandos para instalar todos os pacotes e grupos de dependências, executar as suítes de testes de cada projeto com pytest e gerar a documentação compartilhada com mkdocs.

Recursos principais

  • 01Obtém versões a partir de tags do Git ou Mercurial durante o build.
  • 02Integra-se ao setuptools para gerar builds de pacotes Python.
  • 03Inclui o vcs-versioning como biblioteca independente, que pode ser usada sem o setuptools.
  • 04Inclui suítes de testes executadas com pytest e documentação gerada com mkdocs.

Casos de uso

  • Manter as versões de pacotes Python vinculadas às tags do Git sem editar strings de versão manualmente.
  • Definir a versão de um projeto Python controlado pelo Git ou Mercurial.
  • Reutilizar a detecção de versões baseada em VCS em ferramentas que não usam setuptools.

Início rápido

  1. 1

    Instale todos os pacotes e grupos de dependências com uv

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

    Execute a suíte de testes

    uv run pytest -n12

Tópicos

Perguntas frequentes

O que é setuptools-scm?
Ferramenta Python que obtém a versão de pacotes a partir de tags do Git ou Mercurial e se integra ao setuptools. setuptools-scm extrai as versões de pacotes Python dos metadados do sistema de controle de versão de um projeto, normalmente das tags do Git ou Mercurial. Em vez de manter uma string de versão manualmente nos arquivos de configuração, a versão é calculada durante o build com base na tag mais recente e no estado dos commits, mantendo releases e builds de desenvolvimento alinhados ao histórico do repositório.
setuptools-scm é gratuito? Qual é a licença?
setuptools-scm não declara licença. O código é público, mas sem licença você não tem permissão explícita para reutilizá-lo; fale com o autor antes de depender dele.
setuptools-scm ainda é mantido?
Manutenção ativa. O último commit de setuptools-scm foi em 7 de nov. de 2026.
Para que posso usar setuptools-scm?
Manter as versões de pacotes Python vinculadas às tags do Git sem editar strings de versão manualmente. Definir a versão de um projeto Python controlado pelo Git ou Mercurial. Reutilizar a detecção de versões baseada em VCS em ferramentas que não usam setuptools.
Como instalar setuptools-scm?
Instale todos os pacotes e grupos de dependências com uv: uv sync --all-packages --all-groups Execute a suíte de testes: uv run pytest -n12
Onde consigo setuptools-scm?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pypa/setuptools-scm

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados