Poetry is a new tool to help you manage your Python projects.
It is both a dependency management tool and a packaging tool. Note that for the moment the focus has been on the dependency management part but the work on the packaging/publishing has started and is ready for simple, pure-python projects.
Most of the reasons why I started this are detailed in the README (along with why I don’t want to use Pipenv) but if you want to know the advantages of Poetry compared to existing tools, here are a few:
Be aware that not all the features described in the README are implemented yet (but most of them are).
Also, Poetry is Python 3.6+ only but can manage Python 2 projects without any problem.
And finally, Poetry is not stable yet so internally things can change but the CLI and commands are pretty much stable so backwards-incompatible changes should not happen too often.
It is both a dependency management tool and a packaging tool. Note that for the moment the focus has been on the dependency management part but the work on the packaging/publishing has started and is ready for simple, pure-python projects.
Most of the reasons why I started this are detailed in the README (along with why I don’t want to use Pipenv) but if you want to know the advantages of Poetry compared to existing tools, here are a few:
- Exhaustive dependency resolver
- Intuitive CLI (See [Commands](https://github.com/sdispater/poetry#commands))
- Emphasis on semantic versioning and constraint specification so that wildcard dependencies (`*`) will be considered bad practice
- Support for dependencies caret, tilde, wildcard, inequality and multiple requirements.
- Only one file: the standardised `pyproject.toml` which aims at being readable and clear.
- Mandatory compatible python versions specification.
This project is a revamped version of [pypoet](https://github.com/sdispater/poet) to have a cleaner codebase.
Be aware that not all the features described in the README are implemented yet (but most of them are).
Also, Poetry is Python 3.6+ only but can manage Python 2 projects without any problem.
And finally, Poetry is not stable yet so internally things can change but the CLI and commands are pretty much stable so backwards-incompatible changes should not happen too often.