# sdispater/poetry

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/sdispater-poetry).**

34,282 stars · 2,457 forks · Python · MIT

## Links

- GitHub: https://github.com/sdispater/poetry
- Homepage: https://python-poetry.org
- awesome-repositories: https://awesome-repositories.com/repository/sdispater-poetry.md

## Description

Poetry is a Python build tool, dependency manager, and project orchestrator. It provides a unified workflow for managing the full lifecycle of a project, from initial environment setup to the final package release.

The system centralizes project metadata and dependency specifications in a single configuration file, replacing legacy formats. It utilizes a deterministic dependency resolver to calculate compatible package versions and records the exact state of the environment in a lock file to ensure consistency across different machines.

The tool handles the orchestration of isolated virtual environments to prevent dependency conflicts. It also functions as a build backend to generate distributable wheels and source distributions for publishing to registries.

## Tags

### Development Tools & Productivity

- [Package Dependency Managers](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-managers.md) — Provides a comprehensive system for declaring, resolving, and installing Python package dependencies. ([source](https://github.com/sdispater/poetry#readme))
- [Python Package Managers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/python-package-managers.md) — Serves as a dedicated manager for Python project dependencies, virtual environments, and package installations.
- [Dependency Resolvers](https://awesome-repositories.com/f/development-tools-productivity/dependency-resolvers.md) — Implements a deterministic backtracking algorithm to resolve compatible package versions and create a locked dependency graph.
- [Lock Files](https://awesome-repositories.com/f/development-tools-productivity/lock-files.md) — Generates lock files that record exact package versions and hashes to ensure reproducible environments across machines.
- [Virtual Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/virtual-environment-managers.md) — Automatically manages isolated virtual environments to ensure project-specific dependency isolation.
- [Build Backends](https://awesome-repositories.com/f/development-tools-productivity/build-backends.md) — Functions as a PEP-517 compliant build backend to generate distributable wheels and source distributions.
- [Package Distribution](https://awesome-repositories.com/f/development-tools-productivity/package-distribution.md) — Provides the mechanics for packaging and publishing Python libraries to package repositories.

### DevOps & Infrastructure

- [Project Metadata Specifications](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/project-metadata-specifications.md) — Centralizes project metadata and dependencies in a single pyproject.toml file, replacing legacy configuration formats.
- [Python Distribution Packaging](https://awesome-repositories.com/f/devops-infrastructure/python-distribution-packaging.md) — Builds software projects into modern, unified Python distributable formats for registry publishing. ([source](https://github.com/sdispater/poetry#readme))

### Software Engineering & Architecture

- [Environment Isolation](https://awesome-repositories.com/f/software-engineering-architecture/environment-isolation.md) — Automatically creates and manages isolated virtual environments to prevent dependency conflicts between projects.

### Part of an Awesome List

- [Package Managers](https://awesome-repositories.com/f/awesome-lists/devtools/package-managers.md) — Dependency management and packaging tool for Python.
