Package version number
Currently, the package version number is fetched with git describe, but this means that it uses the last tag, which may not be the current tag for new major releases. As an example, the current Python packages are names 4.13.xxxx when the current ITK_VERSION is 5.0.0 which is confusing. A better way to name the packages would be to name them based on the ITK_VERSION variable in the ITK CMakeLists.txt . Following PEP440, the name of the nightly packages could be: ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}a${sha}, or something similar.
Good point.
If current commit is NOT a tag, I suggest to create a developmental pre release following this pattern:
X.YrcN.devM
where:
-
X.Ywould be set to5.0. It could be extracted from the CMake script using a regex -
NinrcNwould be set to the number of commit since last release (variablenumberOfCommitsin scripts/update_python_version.py) -
MindevMwould be set to the date of the last commit
scikit-build-core's dynamic metadata support will help here:
https://scikit-build-core.readthedocs.io/en/latest/configuration.html#dynamic-metadata