Python dependency management and packaging made easy.
Provides
Requires
License
MIT
Changelog
* Sun Jan 25 2026 Ben Greiner <code@bnavigator.de>
- Update to 2.3.1
[#]# Fixed
* Fix an issue where cached information about each package was
always considered outdated (#10699).
- Release 2.3.0
[#]# Added
* Add support for exporting pylock.toml files with
poetry-plugin-export (#10677).
* Add support for specifying build constraints for dependencies
(#10388).
* Add support for publishing artifacts whose version is
determined dynamically by the build-backend (#10644).
* Add support for editable project plugins (#10661).
* Check requires-poetry before any other validation (#10593).
* Validate the content of project.readme when running poetry
check (#10604).
* Add the option to clear all caches by making the cache name in
poetry cache clear optional (#10627).
* Automatically update the cache for packages where the locked
files differ from cached files (#10657).
* Suggest to clear the cache if running a command with --no-cache
solves an issue (#10585).
* Propose poetry init when trying poetry new for an existing
directory (#10563).
* Add support for poetry publish --skip-existing for new Nexus
OSS versions (#10603).
* Show Poetry's own Python's path in poetry debug info (#10588).
[#]# Changed
* Drop support for Python 3.9 (#10634).
* Change the default of installer.re-resolve from true to false
(#10622).
* PEP 735 dependency groups are considered in the lock file hash
(#10621).
* Deprecate poetry.utils._compat.metadata, which is sometimes
used in plugins, in favor of importlib.metadata (#10634).
* Improve managing free-threaded Python versions with poetry
python (#10606).
* Prefer JSON API to HTML API in legacy repositories (#10672).
* When running poetry init, only add the readme field in the
pyproject.toml if the readme file exists (#10679).
* Raise an error if no hash can be determined for any
distribution link of a package (#10673).
* Require dulwich>=0.25.0 (#10674).
[#]# Fixed
* Fix an issue where poetry remove did not work for PEP 735
dependency groups with include-group items (#10587).
* Fix an issue where poetry remove caused dangling include-group
references in PEP 735 dependency groups (#10590).
* Fix an issue where poetry add did not work for PEP 735
dependency groups with include-group items (#10636).
* Fix an issue where PEP 735 dependency groups were not
considered in the lock file hash (#10621).
* Fix an issue where wrong markers were locked for a dependency
that was required by several groups with different markers
(#10613).
* Fix an issue where non-deterministic markers were created in a
method used by poetry-plugin-export (#10667).
* Fix an issue where wrong wheels were chosen for installation in
free-threaded Python environments if Poetry itself was not
installed with free-threaded Python (#10614).
* Fix an issue where poetry publish used the metadata of the
project instead of the metadata of the build artifact (#10624).
* Fix an issue where poetry env use just used another Python
version instead of failing when the requested version was not
supported by the project (#10685).
* Fix an issue where poetry env activate returned the wrong
command for dash (#10696).
* Fix an issue where data-dir and python.installation-dir could
not be set (#10595).
* Fix an issue where Python and pip executables were not
correctly detected on