Skip to content

refactor: migrate packaging from setup.py+versioneer to pyproject.toml+setuptools-scm#39

Merged
alubbock merged 1 commit intomainfrom
refactor/pyproject-toml
Mar 12, 2026
Merged

refactor: migrate packaging from setup.py+versioneer to pyproject.toml+setuptools-scm#39
alubbock merged 1 commit intomainfrom
refactor/pyproject-toml

Conversation

@alubbock
Copy link
Copy Markdown
Owner

@alubbock alubbock commented Mar 12, 2026

Summary

  • Replaces setup.py, setup.cfg, MANIFEST.in, and versioneer.py with a single pyproject.toml
  • Uses setuptools-scm for version management (derives version from git tags, writes microbench/_version_scm.py at install time — build dependency only, not runtime)
  • __version__ in __init__.py now reads from _version_scm.py with fallback to importlib.metadata (stdlib), then 'unknown' — no new runtime dependencies
  • Adds microbench/_version_scm.py and dist/ to .gitignore
  • Updates CI release job to use python -m build instead of deprecated python setup.py sdist
  • Adds setuptools-scm and pip install -e . to the CI test job so the version file is available during tests

Test plan

  • Verify pip install -e . works from a clean checkout
  • Verify python -m build produces a valid sdist and wheel
  • Verify import microbench; microbench.__version__ returns the correct version

@alubbock alubbock merged commit 36c35e9 into main Mar 12, 2026
19 checks passed
@alubbock alubbock deleted the refactor/pyproject-toml branch March 12, 2026 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant