• FizzyOrange
    link
    fedilink
    arrow-up
    2
    ·
    4 months ago

    It has them, but you can’t use them from a single-file script. You have to set up a pyptoject.toml, create a venv and then pip install . in it. Quite a lot of faff. It also makes some things like linting in CI way harder than they should be because the linters have to do all that too.

    With Deno a single .ts file can import third party dependencies (you can use any URL) and Deno itself will take care of downloading them and making them available to the script.

    Some other languages have this feature to certain degrees. E.g. I think F# can do it, and people are working on it for Rust, but Deno is at the forefront.

    • jjjalljs@ttrpg.network
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      Oh I see what you mean. Interesting.

      As you allude to there are tools in python to help (I tried pex briefly once, for example). It hasn’t really been a pain point for me but I can see why people would spend time on it. I imagine this strategy has its share of tradeoffs and gremlins.

      • FizzyOrange
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        there are tools in python to help

        I haven’t actually used pex but it doesn’t look like it solves this - it’s more of a way of distributing full programs. The .pex files aren’t editable, which is something you need for this use case.

        I imagine this strategy has its share of tradeoffs and gremlins.

        As far as I know there are no downsides. It’s basically win-win.