In pyproject.toml, you are using range-pinning all dependencies.
Although the poetry-creators promote this as a default, this should be considered very harmful,
as it quickly creates an avoidable unnecessary dependency-hell with a multitude of false incompatibility-reports.
Range-pinning conflates the concept of abstract dependencies versus concrete dependencies .
In pyproject.toml (and setup.py before) we should define the abstract dependencies,
while poetry.lock and requirements.txt contain the list of concrete dependencies to recreate an reproducible environment
Hi @woutervh, thanks for submitting an issue! I agree – we'll remove the upper bounds on the package's/application's version specifiers where possible.
In pyproject.toml, you are using range-pinning all dependencies.
Although the poetry-creators promote this as a default, this should be considered very harmful, as it quickly creates an avoidable unnecessary dependency-hell with a multitude of false incompatibility-reports.
see https://iscinumpy.dev/post/bound-version-constraints/ for a detailed write-up.
Range-pinning conflates the concept of abstract dependencies versus concrete dependencies .
In pyproject.toml (and setup.py before) we should define the abstract dependencies, while poetry.lock and requirements.txt contain the list of concrete dependencies to recreate an reproducible environment