I stumbled upon this while researching package management options for python, and found it a really interesting read.
I like python as a language but this mess is something that needs to be addressed for me to consider python for future projects. I can’t imagine how confusing it must be for new users.
But if I want to add a single new dependency, then I probably don’t want all the rest updated at the same time
That can’t be achieved due to dependency compatibility. What if you installed y==1.4, and froze it for a while, and then you install x==3.2, and it depends on y==1.5 or later?
pyproject.toml defines dependency restrictions, so it will be in accordance with that, but the lock file will change every time you add/remove dependencies. Naturally.
I don’t find that behaviour natural unless there is a hard conflict or I request it. So I guess it’s just a philosophical difference that led me to having a bad tint with it.
If you use
poetry add
it should only update what is necessary, and you can usepoetry lock --no-update
to lock without updating everything.