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.

  • stilgar [he/him] @infosec.pub
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    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 and cargo though.

      • Spott@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        1 year ago

        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).

      • stilgar [he/him] @infosec.pub
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        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.

    • Blackthorn@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      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.