U are not wrong.
Dependency management is tough and often frustrating. Dealing with resolving dependency conflicts is unavoidable. This area is a constant focus of development, so could see improvements over time.
Some packages to keep an eye on:
pip & setuptools
pip-tools (specifically pip-compile)
https://pypi.org/project/pip-compile-multi/
poetry
Any others i’ve missed?
The new king on the block:
uv
. It can do everythingpoetry
does, while also using a standardpyproject.toml
(no more weird^
), and it’ll handle the Python version for you, so no faffing about with manually installing anything. Justuv sync
and off you go!Downside: not compatible with virtualenvwrapper, as it’ll force its .venv in the local folder.
It’s also still under heavy development and breaking changes are still expected, but it’s already super nice to use.
Same guys (Astral) also made
ruff
the formatter/linter that they intend to eventually integrate intouv
, IIRC.I’m running all my personal projects under
uv
and am having a blast. It’s so fast.