matthew-brett / delocate

Find and copy needed dynamic libraries into python wheels
BSD 2-Clause "Simplified" License
262 stars 59 forks source link

Replace versioneer with setuptools-scm, migrate to pyproject.toml. #186

Closed HexDecimal closed 1 year ago

HexDecimal commented 1 year ago

139 mentioned issues with Versioneer, so this PR completely removes it. pyproject.toml allows including versioning tools into the build system so having a bundled addon is no longer necessary.

Now _version.py is generated during setup, but I've tweaked the script so that the package can still run without it.

A lot of setup.py metadata has been moved into pyproject.toml as well. With a little more effort I think the entire thing can be moved to pyproject.toml but I stuck with the more important bits for now.

With this change you no longer use setup.py to build or develop. You use pip install -e . to install in development mode and python -m build to make distributions. I've automated this stuff some time ago and have now edited the release guide to reflect that.

If this PR does too much then I can split it up.

codecov[bot] commented 1 year ago

Codecov Report

Merging #186 (8d6325a) into master (d17fc69) will decrease coverage by 0.26%. The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master     #186      +/-   ##
==========================================
- Coverage   95.00%   94.74%   -0.26%     
==========================================
  Files          14       14              
  Lines        1100     1103       +3     
==========================================
  Hits         1045     1045              
- Misses         55       58       +3     
Impacted Files Coverage Δ
delocate/__init__.py 66.66% <50.00%> (-33.34%) :arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more