I develop a Python library using Gitflow development principle and have a CI stage for unit testing and package upload to a (private) PyPI. I want to consume the uploaded package for testing purposes before I merge it back to the integration branch.
Other package managers (and popular tools) allow for version identifiers that contain feature branch specific identifiers, such as 1.2.3-my-feature-alpha.1
in compliance with SemVer. However, PEP-440 forbids the use of such versioning schemes and twine even rejects such uploads.
What is the correct (or a workable) approach to name Python package versions if wanting to create such pre-releases (that potentially can happen in parallel with multiple feature branches) without version identifier conflicts in compliance with PEP-440?