Use setuptools_scm instead of custom version determination code#180
Use setuptools_scm instead of custom version determination code#180bnavigator merged 5 commits intopython-control:masterfrom
Conversation
7dab9f6 to
598b2cf
Compare
|
This looks good. I assume the coverage reduction is a false positive due to the smaller number of total lines, due in turn to code removed from setup.py? FWIW for anyone else reviewing, setuptools_scm looks like a safe, well-maintained dependency, with 18M downloads per month at time of writing. Some remarks:
I've done a bit of testing; below is what I found on my Ubuntu 20.04 machine. Main issue is that conda in-place build fails.
A non-conda in-place build works, though the first time I tried it I got this message: I changed my venv creation to have a newer version of setuptools, and all was fine (see below). However, a conda in-place build did not work; the build is fine, but conda in-place build: |
Let's do that. |
This needs some further investigation. Maybe it is better to not rely on importlib[._]metadata and use a setuptools_scm generated Should we include such build schemes into the CI? |
|
Thanks, that fixed the conda in-place build problem, and the other two builds are still good.
No idea. We have 6 dependents according to libraries.io. We're back to this, I reckon leave as-is.
I'm not sure. The build setup that matters most to me for development is a conda environment with in-place build; that lets me easily test and debug Slycot on different Python versions. The build setup that matters most for use of Slycot is the conda-forge feedstock. I think we can merge - did you want to change anything else? |
|
Can we hold on for a little bit? I am considering to move more metadata from setup.py to pyproject.toml. |
This eliminates the need of a custom setup.cfg.in and _version.py.in in our sources. It also removes the custom 4 part versioning scheme with PEP404 compliant schemes.