Repolode
pypa

pypa/setuptools-scm

Herramienta de Python que obtiene las versiones de los paquetes a partir de etiquetas de Git o Mercurial y se integra con setuptools.

Estrellas
955
Forks
251
Issues abiertos
26
Último commit
hace 14 horas

¿Qué es?

setuptools-scm obtiene las versiones de los paquetes de Python a partir de los metadatos del sistema de control de versiones de un proyecto, normalmente etiquetas de Git o Mercurial. En lugar de mantener manualmente una cadena de versión en los archivos de configuración, la versión se calcula durante la compilación a partir de la etiqueta más reciente y el estado de los commits, para que las versiones publicadas y las compilaciones de desarrollo sean coherentes con el historial del repositorio.

El paquete se integra con setuptools y también puede usarse por separado mediante sus propias herramientas. El repositorio es un monorepo que contiene dos proyectos: setuptools-scm y vcs-versioning, una biblioteca básica de control de versiones que puede usarse independientemente de setuptools.

El repositorio usa uv para gestionar las dependencias e incluye comandos para instalar todos los paquetes y grupos de dependencias, ejecutar las suites de pytest de cada proyecto y generar la documentación compartida con mkdocs.

Funciones clave

  • 01Obtiene las versiones a partir de etiquetas de Git o Mercurial durante la compilación.
  • 02Se integra con setuptools para compilar paquetes de Python.
  • 03Incluye vcs-versioning como biblioteca independiente que puede usarse sin setuptools.
  • 04Incluye suites de pruebas que se ejecutan con pytest y documentación que se genera con mkdocs.

Casos de uso

  • Mantener las versiones de los paquetes de Python vinculadas a las etiquetas de Git sin editar manualmente las cadenas de versión.
  • Gestionar las versiones de un proyecto de Python cuyo historial está en Git o Mercurial.
  • Reutilizar la detección de versiones basada en VCS en herramientas que no usan setuptools.

Inicio rápido

  1. 1

    Instala todos los paquetes y grupos de dependencias con uv

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

    Ejecuta la suite de pruebas

    uv run pytest -n12

Temas

Preguntas frecuentes

¿Qué es setuptools-scm?
Herramienta de Python que obtiene las versiones de los paquetes a partir de etiquetas de Git o Mercurial y se integra con setuptools. setuptools-scm obtiene las versiones de los paquetes de Python a partir de los metadatos del sistema de control de versiones de un proyecto, normalmente etiquetas de Git o Mercurial. En lugar de mantener manualmente una cadena de versión en los archivos de configuración, la versión se calcula durante la compilación a partir de la etiqueta más reciente y el estado de los commits, para que las versiones publicadas y las compilaciones de desarrollo sean coherentes con el historial del repositorio.
¿setuptools-scm es gratuito? ¿Qué licencia tiene?
setuptools-scm no declara ninguna licencia. Su código es público, pero sin licencia no tienes permiso explícito para reutilizarlo; consulta al autor antes de depender de él.
¿setuptools-scm sigue mantenido?
Mantenimiento activo. El último commit de setuptools-scm fue el 7 nov 2026.
¿Para qué puedo usar setuptools-scm?
Mantener las versiones de los paquetes de Python vinculadas a las etiquetas de Git sin editar manualmente las cadenas de versión. Gestionar las versiones de un proyecto de Python cuyo historial está en Git o Mercurial. Reutilizar la detección de versiones basada en VCS en herramientas que no usan setuptools.
¿Cómo se instala setuptools-scm?
Instala todos los paquetes y grupos de dependencias con uv: uv sync --all-packages --all-groups Ejecuta la suite de pruebas: uv run pytest -n12
¿Dónde consigo setuptools-scm?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pypa/setuptools-scm

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados