How to separate requirements handling and build backend
then drain-swamp (+drain-swamp-action) which supports build plugins with built in plugin for specifying semantic version.
Prefer to tell the builder the desired version rather than to be told. Options: 'tag', 'current', or specify the version. Version bump is silly.
This way can set the semantic version before tagging a release.
Warning
This is hardcore. Not for noobs, the faint of heart, or wise guys. If you don't need build plugins then maybe drain-swamp is not for you. If you are doing something in setup.py
, that you can't live without, then might have a looksie at drain-swamp.