Poetry

What Poetry is
Poetry is a free tool for managing Python project dependencies and packaging projects for distribution. It installs and updates declared libraries and records dependency versions in a lockfile for repeatable installs. It can build source distributions and wheels, then publish projects to PyPI or private repositories. PyPI is the default package source, while private repositories can be used for package discovery and publishing. Poetry creates or uses virtual environments that isolate projects from the global Python installation. It supports plugins, and can generate shell-completion scripts for Bash, Fish, and Zsh. Poetry requires Python 3.10 or later and targets Linux, macOS, and Windows. Installation options include pipx, the official installer, or manual setup. For repository passwords, Poetry can use a supported system keyring; otherwise, it stores credentials in an auth.toml file. It also supports custom certificate authorities and certificate-based client authentication. Dependency resolution may take longer for some dependency sets when PyPI package metadata is unavailable through the PyPI JSON API.
Who it suits
It suits Python developers who want a tool for dependency management, isolated project environments, building, and publishing.
What it does well
- Lockfiles support repeatable installs
- Builds source distributions and wheels
- Publishes to PyPI and private repositories
- Supports Linux, macOS, and Windows
What to know first
- Requires Python 3.10 or later
- Resolution can take time when PyPI JSON metadata is unavailable
- Credentials use auth.toml when no supported keyring is available
Verdict
Poetry covers dependency management, packaging, and publishing across major desktop operating systems. Account for its Python requirement and possible slower dependency resolution for some package sets.
Facts from Poetry's own pages
- Builds
- Poetry can build projects for distribution and supports source distributions and wheels. · python-poetry.org, 2 Oct 2026
- Certificate support
- Poetry supports custom certificate authorities and certificate-based client authentication for repositories. · python-poetry.org, 2 Oct 2026
- CI use
- For CI, the documentation recommends controlling the Poetry version and says using a locally accessible copy of the installer script can help maintain pipeline stability and control executed code. · python-poetry.org, 3 Oct 2026
- Credential storage
- When a supported system keyring is available, Poetry stores and retrieves repository passwords through the keyring; otherwise it falls back to an auth.toml file. · python-poetry.org, 2 Oct 2026
- Dependency management
- It installs and updates declared project libraries and provides a lockfile for repeatable installs. · python-poetry.org, 2 Oct 2026
- Dependency resolution
- Yes · python-poetry.org, 22 Sept 2026
- Dependency sources
- Poetry uses PyPI by default and supports private repositories for finding packages and publishing projects. · python-poetry.org, 2 Oct 2026
- Environment isolation
- Poetry manages project environments that are isolated from the global Python installation. · python-poetry.org, 2 Oct 2026
- Extensibility
- Poetry supports plugins that can add or change functionality. · python-poetry.org, 3 Oct 2026
- Free plan
- Yes · python-poetry.org, 22 Sept 2026
- Installation methods
- The documentation describes installation with pipx, the official installer, or manual installation. · python-poetry.org, 2 Oct 2026
- Installation options
- The documentation describes installation with pipx, the official installer, or manual installation with pip and venv. · python-poetry.org, 3 Oct 2026
- Known limitation
- The documentation says dependency resolution can take time for some dependency sets when package metadata is unavailable through the PyPI JSON API. · python-poetry.org, 3 Oct 2026
- Lockfile support
- Yes · python-poetry.org, 22 Sept 2026
- Package formats
- source distributions,wheels · python-poetry.org, 22 Sept 2026
- Package sources
- Poetry uses PyPI by default and supports private repositories for package discovery and publishing. · python-poetry.org, 3 Oct 2026
- Platforms
- The documentation says Poetry is multi-platform and aims to work on Linux, macOS, and Windows. · python-poetry.org, 3 Oct 2026
- Private registry auth
- Yes · python-poetry.org, 22 Sept 2026
- Publishing
- Poetry can publish projects to PyPI and private repositories. · python-poetry.org, 2 Oct 2026
- Publishing API
- The documentation states that Poetry supports the Legacy Upload API for publishing projects. · python-poetry.org, 2 Oct 2026
- Purpose
- Poetry manages Python dependencies and packaging, installs and updates declared libraries, provides a lockfile for repeatable installs, and builds projects for distribution. · python-poetry.org, 3 Oct 2026
- Python requirement
- Poetry requires Python 3.10 or newer. · python-poetry.org, 3 Oct 2026
- Resolver limitation
- Dependency resolution can take time when PyPI package metadata is not available through the PyPI JSON API. · python-poetry.org, 2 Oct 2026
- Security guidance
- The installation documentation says Poetry should be installed in a dedicated virtual environment, separate from the project environment it manages. · python-poetry.org, 3 Oct 2026
Where Poetry stands on Freedom251
- Package Managers#34 of 93
- Python Package Managers#26 of 27