setuptools-scm Monorepo

January 24, 2026 · View on GitHub

This is the monorepo for the setuptools-scm ecosystem, containing two main projects:

Projects

setuptools-scm

The main package that extracts Python package versions from Git or Mercurial metadata and provides setuptools integration.

Read setuptools-scm documentation →

vcs-versioning

Core VCS versioning functionality extracted as a standalone library that can be used independently of setuptools.

Read vcs-versioning documentation →

Development

This workspace uses uv for dependency management.

Setup

# Install all packages with all dependency groups (tests, docs, etc.)
uv sync --all-packages --all-groups

Running Tests

# Run all tests
uv run pytest -n12

# Run tests for setuptools-scm only
uv run pytest setuptools-scm/testing_scm -n12

# Run tests for vcs-versioning only
uv run pytest vcs-versioning/testing_vcs -n12

Building Documentation

Documentation is shared across projects:

uv run mkdocs serve

License

Both projects are distributed under the terms of the MIT license.