Poetry comes with all the tools you might need to manage your projects in a deterministic way.
$ poetry add pendulum Using version ^2.0.5 for pendulum Updating dependencies Resolving dependencies.......... Writing lock file Package operations: 4 installs, 0 updates, 0 removals - Installing six (1.13.0) - Installing python-dateutil (2.8.1) - Installing pytzdata (2019.3) - Installing pendulum (2.0.5)
Easily build and package your projects with a single command.
$ poetry build Building poetry (1.0.0) - Building sdist - Built poetry-1.0.0.tar.gz - Building wheel - Built poetry-1.0.0-py2.py3-none-any.whl
Supports source distribution and wheels.
Make your work known by publishing it to PyPI
$ poetry publish Publishing poetry (1.0.0) to PyPI - Uploading poetry-1.0.0.tar.gz 100% - Uploading poetry-1.0.0-py2.py3-none-any.whl 58%
You can also publish on private repositories
Having an insight of your project's dependencies is just one command away.
$ poetry show --tree requests-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 --latest pendulum 2.0.4 1.4.5 Python datetimes made easy. django 1.11.11 2.0.3 A high-level Python Web framework ... requests 2.18.4 2.18.4 Python HTTP for Humans.
Poetry comes with an exhaustive dependendency resolver, which will always find a solution if it exists.
And get a detailed explanation if no solution exists.
Poetry either uses your configured virtualenvs or creates its own to always be isolated from your system.
The behavior is configurable.
Poetry's commands are intuitive and easy to use, with sensible defaults while still being configurable.
Soon extensible with a plugin system