Poetry

python-poetry.org ↗

Manage Python project dependencies, virtual environments, and package metadata from `pyproject.toml`.

SI Score
80/100
Pricing
Open Source AI reading, not confirmed
Free plan
Not confirmed
Sign-up required
Not confirmed

Ask SI about Poetry

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the Poetry homepage

What it does

Poetry is a Python dependency-management and packaging tool. It creates a project layout, records metadata and dependency constraints in `pyproject.toml`, resolves dependency versions, and maintains a lockfile for repeatable installs. Poetry also manages virtual environments for project commands, but it expects a compatible Python interpreter to be available on the machine.

Start a new library or application with poetry new, which creates a project directory with a pyproject.toml, source tree, README, and tests. Add a dependency with poetry add; Poetry records a version constraint and installs the dependency and its sub-dependencies. Once the manifest is ready, poetry install sets up the project from its dependency specification and lockfile. For an existing codebase, the basic-usage guide describes initializing Poetry rather than replacing the application's structure.

Poetry's environment management keeps project dependencies separate from other projects. The environment guide explains that Poetry reuses an active virtual environment when one is already active, or selects or creates one otherwise. That makes it useful when a team wants the project definition and environment commands to live in one workflow instead of maintaining a separate dependency tool and packaging configuration.

There is one important setup boundary: the Python interpreter required by the project's version constraint must already be installed. The official guide explicitly says Poetry does not install Python itself. Poetry is MIT-licensed and is maintained as a distinct Python packaging project rather than a general editor or build pipeline.

Strengths

  • Project metadata, dependency constraints, and the lockfile are managed together through `pyproject.toml`.
  • The documented `poetry new` workflow creates a source layout and test directory for a new package.
  • Poetry can select or create a virtual environment for the project and reuse an already active environment.

Watch out for

  • A suitable Python interpreter must already be installed; Poetry does not install the interpreter for the project.

Best for

  • Python developers who want one tool to manage project dependencies and package metadata
  • Teams building Python packages with a committed lockfile and isolated project environments

Sources