A modern tool for Python dependency management and packaging that replaces setup.py, requirements.txt, and Pipfile.
Poetry is a Python tool that manages dependencies and packaging for Python projects. It simplifies the process by replacing multiple configuration files like setup.py and requirements.txt with a single pyproject.toml file, ensuring consistent environments and easy publishing.
Python developers and teams who need reliable dependency management, reproducible builds, and streamlined packaging workflows for their projects.
Developers choose Poetry for its all-in-one approach, eliminating the complexity of managing multiple packaging files and providing robust dependency resolution with lock files for consistency.
Python packaging and dependency management made easy
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Poetry consolidates multiple packaging files like setup.py and requirements.txt into a single pyproject.toml, simplifying project structure as shown in the README example, reducing fragmentation.
Generates a poetry.lock file that pins all dependencies, ensuring consistent installs across environments and eliminating version conflicts, which is key for reliable deployments.
Supports organizing dependencies into groups like dev and docs, with optional installation for better management, as demonstrated in the configuration for targeted workflows.
Provides built-in commands to build and publish packages to PyPI with minimal configuration, streamlining the release process without external tools.
Switching from existing tools like pip or pipenv requires significant configuration changes and can be error-prone, especially for projects with complex legacy setups.
Relies on Poetry-specific files like poetry.lock and custom pyproject.toml syntax, which may not integrate seamlessly with other ecosystems, creating vendor dependency.
Dependency resolution can be slower compared to simpler tools, particularly for large projects with complex graphs, as noted in community feedback not explicitly in README but common in critiques.