Offline discussions with @vyars @bryevdv suggests that any of those tools listed here could be a good alternative.
Alternatively, we can just manually bump __version__ in _version.py, as done in cuda.core, and let it propagate to other places (ex: pyproject.toml).
versioneer has the following disadvantages
- add an extra build-time dependency (to calculate the version)
- the version scheme is nonsense for local development
- no way to decouple release versions from git tags
- confirmed with @vzhurba01 it is fundamentally unfriendly with our release process (that QA could discover bugs after tagging), meaning we tag first, build wheels, if there are bugs caught by QA then we fix the code, revoke the old tag, and re-tag the same tag at the latest commit (with the fixes included)
- the highlighted part is the most problematic if not also confusing
Offline discussions with @vyars @bryevdv suggests that any of those tools listed here could be a good alternative.
Alternatively, we can just manually bump
__version__in_version.py, as done incuda.core, and let it propagate to other places (ex:pyproject.toml).versioneerhas the following disadvantages