• gigachad@sh.itjust.works
    link
    fedilink
    arrow-up
    14
    ·
    29 days ago

    Nice I guess it’s time to check if my daily used libraries have stable 3.12 releases already.

    I guess the free-threaded mode and the JIT compiler will be the most important features from what I read, but their significance is out of my expertise.

    My absolute favorite with this update is the new REPL! It features Multiline-editing and a paste mode for easier pasting code. It also added the spaces automatically in my example.

    Sometimes I want to make some quick tests on some data in the terminal without installing IPython to my environment first, this is great news!

    This new error message will also be very useful for beginners and relieve StackOverflow:

    AttributeError: module 'numpy' has no attribute 'array' (consider renaming '/home/me/numpy.py' if it has the same name as a third-party module you intended to import)
    
    
    • mamg22@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      28 days ago

      That last one is going to be so good. Months ago I ran into that while porting the “Crafting Interpreters” java-based interpreter into python. It took me a few hours to figure out that one of my modules was colliding with “token” in the stdlib, a module I didn’t even know existed. Glad it’s being made clearer.

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    15
    arrow-down
    2
    ·
    29 days ago

    Wow, they (apparently) finally made the REPL not suck! I always thought it was weird how shit it was given that it’s one of the big reasons Python has become as popular as it is.

    Maybe in another 20 years they can make the package tooling not suck too.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      29 days ago

      poetry has made the package tooling generally not suck for me, and uv seems to be getting better. Just a few more PEPs to go until uv does what I want. Here’s hoping.

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        28 days ago

        Yeah it’s definitely a vast improvement on previous attempts (Poetry et al).

        I dunno if it can be called solved until it’s officially sanctioned and installed by default though, and I don’t see that happening for a very long time.

          • FizzyOrange@programming.dev
            link
            fedilink
            arrow-up
            4
            ·
            27 days ago

            It actually works. I tried poetry once and it failed to resolve some simple dependency specification.

            Ok you can say it was a fluke bug but it didn’t inspire confidence.

            uv is also freakishly fast. My venv setup times went from 57 seconds to 7 seconds. I seriously doubt Poetry can do that because it’s written in Python.

          • Buttons@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            ·
            27 days ago

            I abandoned poetry after it was unable to install a specific version of pytorch I was using.

            In pip I would do something like pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118, but IIRC poetry didn’t support the --index-url option.

    • brettvitaz@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      29 days ago

      Maybe because people who needed it knew there were better ways to do it, like ipython and Jupyter. I’ve never heard of anyone gushing about the stock REPL.

    • solrize@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      29 days ago

      The Python REPL was always sort of minimal when used from the command line, but is quite usable in an Emacs window. IDLE is also useful some of the time. I never felt the need for anything like Eclipse because of it.

  • sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    arrow-up
    7
    ·
    29 days ago

    Woo!

    We’re still on 3.11, but it’s been some time since I last checked compatibility with the later releases. Good job everyone, I’m going to be playing with this over the next couple weeks to see if we can upgrade to it.

  • Coriza@lemmy.world
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    27 days ago

    Docstrings now have their leading indentation stripped

    I foolish thought that it meant that finally python introduced a hassle free simple way to have indented triple-quoted literal strings. But no. It baffles me that you cannot have simple literal strings that are indented. This is specially annoying if you are using them as templates to output multiline text.

  • NostraDavid@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    27 days ago

    So I remember the plan to improve Python’s speed from 3.9 to 3.13… Has there been an updated plan since? I presume the JIT will likely be faster in 3.14 (it’;s already at parity - pretty impressive for a first release), but is there anything else planned?