flit-scm
A PEP 518 build backend that uses setuptools_scm to generate a version file from your version control system, then flit to build the package.
What it is and what it does
flit_scm is a build backend that sits between your project's pyproject.toml and the Python packaging system. It integrates setuptools_scm (which reads version tags from your Git history) with flit_core (which handles the actual package building). When you build your package, flit_scm orchestrates setuptools_scm to generate a version file, then passes control to flit_core to create the wheel or sdist.
You configure it by setting flit_scm as your build-backend in pyproject.toml, then customize setuptools_scm and flit behavior through their respective tool sections. This approach eliminates manual version bumping in source code—your version always comes from your VCS tags. However, the package has been abandoned since mid-2022, so it receives no updates or maintenance.
Use it for:
- Automate package versioning from Git tags without manually editing version strings in code.
- Build packages using flit while keeping version information synchronized with your repository's release tags.
- Set up CI/CD pipelines where version generation and package building happen in a single, declarative step via pyproject.toml.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
flit_scm is a PEP 518 build backend that combines setuptools_scm for version control-based versioning with flit_core for package building, configured via pyproject.toml.
No, unless you are maintaining an existing project already using it. The package is abandoned (last release 2022-07-07) and receives no maintenance or updates. For new projects, use setuptools_scm with flit_core directly, or choose a maintained build backend. If you must use it, accept that you will not receive security patches or compatibility fixes.
Install
flit-scm on PyPI
pip
pip install flit-scmuv
uv add flit-scmpoetry
poetry add flit-scmInstalling flit-scm
Before you install
Low install friction with three lightweight runtime dependencies (flit-core, setuptools_scm, tomli). However, the package is abandoned—last release was 2022-07-07, over 1499 days ago—so no active maintenance or bug fixes should be expected.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
# In pyproject.toml:
[build-system]
requires = ["flit_scm"]
build-backend = "flit_scm:buildapi"
[tool.setuptools_scm]
write_to = "src/_version.py"
# Then build with: pip install build && python -m build
Requires a Git repository (or other VCS) initialized in the project directory, since setuptools_scm derives the version from VCS tags.
Verify before relying
- Whether the package remains compatible with modern versions of setuptools_scm and flit_core, given its abandoned status.
- Whether VCS integration works reliably with current Git workflows and CI/CD systems.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — flit-core, setuptools_scm, tomli |
| Maintenance | abandoned — 1,499 days since the last release |
| First released | |
| Downloads | 218,733/month — #9,336 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: flit_scm-1.7.0-py3-none-any.whl
Keywords: flit, pep518, build, packaging, scm
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
flit-coreFlit-core provides the build backend for…
permissive · top 1,000 on PyPI
setuptools-scmAutomatically extracts and manages Python…
permissive · top 1,000 on PyPI
flitFlit is a Python packaging tool that simplifies…
permissive · top 5,000 on PyPI
pdm-pep517A PEP 517 build backend that reads PEP 621…
permissive · top 15,000 on PyPI
setuptools-scm-git-archiveA setuptools_scm plugin that extracts version…
permissive · top 5,000 on PyPI
setuptools-git-versioningAutomatically generates PEP 440-compliant…
permissive · top 5,000 on PyPI
pyproject-parserParses and extracts metadata from…
permissive · top 15,000 on PyPI
pyproject-hooksCalls build-backend hooks defined in…
permissive · top 1,000 on PyPI
pyproject-tomlParses and validates Python project metadata…
permissive · top 15,000 on PyPI
hatch-vcsA Hatch plugin that automatically determines…
permissive · top 1,000 on PyPI