- cross-posted to:
- python@lemmy.ml
- cross-posted to:
- python@lemmy.ml
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.
Our organisation has gone all in on Poetry, no regrets so far. The UX and dlscoverability is just so much better than the other options.
I do look jealously at languages that have great official tools like
go
andcargo
though.There are tools like Huak and Rye in development.
The value of cargo and go tools doesn’t come from the all-in-one nature of them, it comes from the official nature of them.
If something doesn’t work with cargo, it is a bug. Period. There isn’t any “it works with pip” back and forth arguing over whose fault it actually is (package? Or poetry/pipenv/pip-tools/conda/etc? This happened with pytorch a while ago, and I’m not sure if poetry and pytorch get along even now)
There also isn’t any debate over project files or configuration stuff — Pyproject.toml vs setup.cfg vs random dot files in the project directory — if you are a currently developed project you support whatever cargo supports and you move to support the latest format rather than dragging your feet for years (pyproject.toml has been the “next thing” for python since 2016! And is only finally getting widespread support now… 7 years later).
Yes I’m following Huak, it looks promising. But as Spott says, just because a tool exists, its not the same as having the tool which is fully supported, standardised and everyone uses.
IMO Python could have this but as the posted article discusses there is no movement or will to make it happen.
I love cargo, but cargo.io could REALLY make good use of namespaces. It’s insane when clear library names are taken by highschoolers at their first project and there is nothing to be done about it. I’d also like some kind of curating on the packages.