MAINT: Use setuptools_scm to manage versioning #83
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Pilots whether we can abandon versioneer in all projects, as
setuptools_scm has minimal boilerplate.
Changes
The setuptools_scm module is added to the pyproject.toml file,
as recommended in the documentation.
A tiny hack is added to the root
__init__.py
file, so thatthe version is read from
nitransforms/_version.py
when thatfile exists or it is interpolated via
setuptools_scm.get_version
.To make the version traverse into container images, before building,
python setup.py --version
must be invoked first (and it will createthe
nitransforms/_version.py
file.nitransforms/_version.py
has been added to.gitignore
to avoidadding it by mistake.
Finally, the CircleCI workflow is also modified, so that the packaging
is always tested and installed versions are checked both for python
packages and docker distributions.
Resolves: #82