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 everything poetry
does, while also using a standard pyproject.toml
(no more weird ^
), and it’ll handle the Python version for you, so no faffing about with manually installing anything. Just uv 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 into uv
, IIRC.
I’m running all my personal projects under uv
and am having a blast. It’s so fast.