- Notifications
You must be signed in to change notification settings - Fork261
Description
Question
Doespython-semantic-release support build plugin packages that implement dynamic package versioning for the build based on an up-to-date VCS release tag?
Additional context
A common use case for dynamic package build metadata is to derive the version directly from VCS tags. There are many build backends and plugins that provide this functionality for a variety of project/dependency/build managers (setuptools, uv, PDM, Poetry, hatch/hatchling, flit all come to mind). What they all have in common is that they derive from the most recent release tag, so if you want the resulting build to be version1.2.3, thatv1.2.3 tag needs to be applied to the current commitbefore the build runs.
It seems like this is not currently supported by PSR, because the docs seem to indicate that PSR always tagsafter the build. Because this is part of the metadata-in-pyproject.toml standard, though (and has been since its inception in PEP 621), I strongly suspect this is either a documentation issue or a me issue. :P
Note: if it's not currently supported, I'm happy to create a new feature request.
References
- Dynamic metadata as described in thePython Packaging User Guide
- Dynamic metadata as described in the original PEP for package metadata in
pyproject.toml,PEP 621