Poetry Versioning¶
Identifier¶
poetry
References¶
- https://python-poetry.org/docs/dependency-specification/
- https://python-poetry.org/docs/faq#why-does-poetry-not-adhere-to-semantic-versioning
- https://python-poetry.org/docs/faq#why-does-poetry-enforce-pep-440-versions
Ranges/Constraints¶
✅ Ranges are supported.
Valid rangeStrategy
values are: bump
, widen
, pin
, replace
Description¶
Poetry versioning is a little like a mix of PEP440 and SemVer.
Currently Renovate's implementation is based off npm versioning.
This works by parsing versions using the same patterns and similar normalization rules as Poetry, passing them to the npm versioning implementation, and then reversing the normalizations.
This allows Renovate to meaningfully compare the SemVer-style versions allowed in pyproject.toml
to the PEP440 representations used on PyPI.
These are equivalent for major.minor.patch releases, but different for pre-, post-, and dev releases.
Open items¶
The below list of features and bugs were current when this page was generated on December 22, 2024.
Feature requests¶
- Support poetry range syntax with non-semver versions #28514
Bug reports¶
- poetry:
^1.2.3.0
(caret with four components) are not detected #26940