| Good question! From a template repo commit at work[1]: Advantages: - Separates development and production dependencies. - The dependency version is specified separately from the lock file. In
practice this means that the version in pyproject.toml generally only
needs to be set to anything other than asterisk if and when it becomes
necessary to use a specific version range. - The lock file includes SHA-256 checksums by default, and these are
checked during installation. Disadvantages: - More complex configuration than Pip. - Python package managers come and go, and this one is likely going to
suffer the same fate eventually. - Introduces poetry.toml simply to specify that the virtualenv should be
in the project directory. The default is to put virtualenvs in
~/.poetry, which is a non-standard location and therefore might
interfere with typical IDE setups, mounting the virtualenv in containers
or VMs, and the like. [1] https://github.com/linz/template-python-hello-world/pull/106...* |
That. The simple fact that a Pip file mixes both the packages you want and the dependencies required by this package, is a valid reason to switch to Poetry IMO.