Python packaging and dependency management made easy
Poetry
Deterministic builds
Develop
Poetry comes with all the tools you might need to manage your projects ina deterministic way.
$poetry add pendulumUsing version^2.0.5 forpendulumUpdating dependenciesResolving dependencies...(1.5s)Package operations:4 installs,0 updates,0 removals - Installingsix (1.13.0):Downloading...25% - Updatingpytzdata (2019.3 ->2020.4):Installing... - Installingpendulum (2.0.5)Writing lock filePackage with ease
Build
Easilybuild andpackage your projectswith a single command.
$poetry buildBuildingpoetry (1.0.0)- Buildingsdist- Builtpoetry-1.0.0.tar.gz- Buildingwheel- Builtpoetry-1.0.0-py2.py3-none-any.whlSupports source distribution and wheels.
Share your work
Publish
Make your work known bypublishing it to PyPI.
$poetry publishPublishingpoetry (1.0.0) toPyPI- Uploadingpoetry-1.0.0.tar.gz100%- Uploadingpoetry-1.0.0-py2.py3-none-any.whl58%You can also publish onprivate repositories.
Check the state of your dependencies
Track
Having an insight of your project's dependencies is just one command away.
$poetry show --treerequests-toolbelt 0.8.0 A utility belt for advanced users...└──requests <3.0.0,>=2.0.1 ├──certifi >=2017.4.17 ├──chardet >=3.0.2,<3.1.0 ├──idna >=2.5,<2.7 └──urllib3 <1.23,>=1.21.1$poetry show --latestpendulum2.0.41.4.5 Python datetimes made easy.django1.11.112.0.3 A high-level Python Web framework ...requests2.18.42.18.4 Python HTTP for Humans.Dependency resolver
Poetry comes with anexhaustive dependency resolver,which will always find asolution if it exists.
And get adetailed explanation if no solution exists.
Isolation
Poetry either uses your configured virtualenvs or creates its own toalways beisolatedfrom your system.
The behavior isconfigurable.
Intuitive CLI
Poetry's commands areintuitive and easy to use, withsensible defaults while still being configurable.
It's alsoextensible with plugin system.