python 3.13 release highlights

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ก.ย. 2024
  • it's just around the corner! I walk through the things that I think are noteworthy / I'm excited about in python 3.13! don't worry not too much typing stuff this time smile.
    - why remove the GIL? • why remove the python ...
    - python is removing the GIL! • python is removing the...
    - what's new in python 3.12? • python 3.12 release hi...
    - typevar defaults PEP 696 QoL: • PEP 696 is a huge qual...
    - TypeGuard in typing: • python TypeGuard (PEP ...
    playlist: • anthony explains
    ==========
    twitch: / anthonywritescode
    dicsord: / discord
    twitter: / codewithanthony
    github: github.com/aso...
    stream github: github.com/ant...
    I won't ask for subscriptions / likes / comments in videos but it really helps the channel. If you have any suggestions or things you'd like to see please comment below!

ความคิดเห็น • 56

  • @djl3009
    @djl3009 7 วันที่ผ่านมา +36

    Intro 00:00:00
    List of 7 topics covered 00:00:48
    1 Build/etc Improvements 00:01:10
    1.1 Removal of GIL 00:01:16
    1.2 Experimental JIT 00:05:43
    2 Quality Of Life Improvements 00:08:31
    2.1 New REPL 00:08:40
    2.2 Tracebacks are coloured 00:10:56
    2.3 breakpoint() at end of functions 00:11:55
    2.4 Improved error message for standard library name clash 00:13:13
    3 Its personal 00:16:28
    3.1 venv .gitignore 00:16:43
    3.2 importlib.resources 00:18:18
    3.3 itertools.batched 00:20:08
    4 Micro optimisation 00:21:07
    4.1 pydoc optimsation 00:21:12
    4.2 docstring optimsation 00:25:14
    4.3 __static_attributes__ 00:26:54
    5 Deprecations 00:29:44
    6 Typing stuff 00:35:07
    7 Misc 00:43:12
    7.1 random 00:43:14
    7.2 argparse deprecated option 00:43:52
    7.3 os.process_cpu_count() 00:44:26
    7.4 types.SimpleNamespace now takes mappings 00:45:49
    7.5 copy.replace() 00:46:31

  • @justinreddick5876
    @justinreddick5876 7 วันที่ผ่านมา +42

    Mind blowing you maintain the deadsnakes ppa. I never knew that lol

  • @L33tRose
    @L33tRose 7 วันที่ผ่านมา +20

    Holy shit etho reference

    • @_Lumiere_
      @_Lumiere_ 7 วันที่ผ่านมา +5

      Unbelievable crossover, etho jumpscare

    • @Alecor_studio
      @Alecor_studio 6 วันที่ผ่านมา

      I did not expect that either :D so wholesome

  • @tincustefanlucian7495
    @tincustefanlucian7495 7 วันที่ผ่านมา +5

    In the past I have used many times deadsnakes ppa for our Ubuntu machines. Thanks for creating it!

  • @4mbl-dev
    @4mbl-dev 7 วันที่ผ่านมา +11

    oh snappers!

  • @matt3gan
    @matt3gan 6 วันที่ผ่านมา +1

    Just wanted to say I appreciate your energy! You seem legitimately charmed with all of the new updates. It's refreshing!

  • @thanosholt1064
    @thanosholt1064 7 วันที่ผ่านมา +3

    Awesome video! I learned quite a bit and am looking forward to 3.13’s official release even more.
    EDIT: Removed the rough timestamps since other comments covered them better.

  • @ericng8807
    @ericng8807 7 วันที่ผ่านมา +11

    9:32 timestamp for the best change

  • @0xdf
    @0xdf 7 วันที่ผ่านมา +1

    Oh man, I'm right there with you on the breakpoint things. I've made a habit of just putting print() on the next line, but I'm excited to break that one.

    • @anthonywritescode
      @anthonywritescode  6 วันที่ผ่านมา +1

      I'm `breakpoint() pass` gang myself :)

  • @Gaivs
    @Gaivs 6 วันที่ผ่านมา +2

    20:48 well you certainly showed me 🤣 Great to actually have that flag though!

  • @vincentroger4149
    @vincentroger4149 6 วันที่ผ่านมา +1

    Thank you so much for this video that let us have a quick overview of the good stuffs! And I am grateful for your hard work. On the subject of Traceback colors, I think you have weird colors because you use the Ubuntu gnome terminal, which modify default colors. If you use a more standard color profile (where blue is encoded blue, black is black and so on) you may have more coherent colors for the tracebacks

  • @arminbagrat
    @arminbagrat 6 วันที่ผ่านมา +1

    Thanks for the in-depth video, Anthony. I'd love to see you discuss how to begin contributing to Python open source project. The open source collaboration ecosystem can be daunting even for intermediate devs with no open source xp.

    • @anthonywritescode
      @anthonywritescode  5 วันที่ผ่านมา

      fortunately I've got one already! th-cam.com/video/NFW22q-vI6I/w-d-xo.html

    • @arminbagrat
      @arminbagrat 2 วันที่ผ่านมา

      @@anthonywritescode thank you

  • @sq546
    @sq546 7 วันที่ผ่านมา +1

    hell yea -- the pdb thingy is so great! its not tiny its HUGE!

  • @FunkyELF
    @FunkyELF 6 วันที่ผ่านมา +1

    Cool, good video as always. I'm a little torn on the .gitignore being created. Part of me wants to say "why does Python need to know about Git at all?".
    In the end you still need a good .gitignore file for the projects you're working on anyway or you'll end up with __pycache__ directories added as well.

  • @uwepries
    @uwepries วันที่ผ่านมา

    Can’t wait to see what‘s new jn Python 3.141592653589793238462643383279502884197

  • @tovia1992
    @tovia1992 4 วันที่ผ่านมา

    Very informative & entertaining xD Thank's a lot for your videos!

  • @jackevansevo
    @jackevansevo 6 วันที่ผ่านมา

    The breakpoint change yessssssss I can't believe this has been broken for so long

  • @qexat
    @qexat 6 วันที่ผ่านมา

    I like `copy.replace`, I think I will use it in my language's typed AST for substitution - I don't mutate because it's easier to reason about immutability, and also because I plan to rewrite my compiler later in Coq for formal verification

  • @deadeye1982a
    @deadeye1982a 6 วันที่ผ่านมา

    [37:25] YESSS. It always upset me that I had to enter None twice. They've finally fixed that!!!!!!

  • @mrswats
    @mrswats 7 วันที่ผ่านมา +9

    No click bait? Sad.

    • @mrswats
      @mrswats 7 วันที่ผ่านมา +5

      OMG I trained myself on putting the breakpoint a line above the last one and I'm so. happy to hear thy fixed it.

  • @lllIIlllI
    @lllIIlllI 7 วันที่ผ่านมา +1

    That new repl 🤤

  • @unusedTV
    @unusedTV 7 วันที่ผ่านมา +1

    23:40 What are some usecases for conditional class definitions? This feels like a can of worms I'd never want to open for someone who's looking at the code later. Probably I'd prefer one class that has a mode switch or something.

  • @sync9827
    @sync9827 5 วันที่ผ่านมา

    I'm watching a Python 3.13 highlights video, yet most of the servers at my company still run Python 2, so I hardly use Python 3 at work. xD

  • @NostraDavid2
    @NostraDavid2 7 วันที่ผ่านมา

    Oh yeah, this is the good stuff!

  • @MrKooops
    @MrKooops 7 วันที่ผ่านมา +2

    i am programming since 10+ years in python and don't understand half of the things you say - but i love how happy you are about your personal stuff ;)

  • @knolljo
    @knolljo 7 วันที่ผ่านมา

    The new tracebacks remind me of rusts compiler errors

  • @NostraDavid2
    @NostraDavid2 7 วันที่ผ่านมา

    How are the performance improvements? I recall there being a plan coming from 3.9 to 3.13 to 5x improvement or something? Anything concrete for 3.13?
    I guess the JIT is part of that plan, but that doesn't bring any improvements. Impressive that they wrote a JIT which first version isn't slower than the non-JIT, but I was hoping for improvements. Guess I'll have to wait another two versions (we always skip one version so we don't have to migrate 50 applications every year :P).

    • @anthonywritescode
      @anthonywritescode  7 วันที่ผ่านมา

      there's some noticeable improvements even outside of the JIT though nothing felt worth calling out explicitly besides the few things I mentioned

  • @jtw-r
    @jtw-r 6 วันที่ผ่านมา +1

    go get yer snacks 🍪

  • @erin1569
    @erin1569 7 วันที่ผ่านมา +1

    I hope they do something special for the π update

    • @anthonywritescode
      @anthonywritescode  6 วันที่ผ่านมา

      and eventually we'll get pypy π too!

  • @ayhanfuat
    @ayhanfuat 7 วันที่ผ่านมา +1

    I am curious what you think about the suggested tag strings (PEP 750)

    • @anthonywritescode
      @anthonywritescode  7 วันที่ผ่านมา

      I think it's a terrible idea personally. has some niche use cases but will make python even more understand and action-at-a-distance

    • @NostraDavid2
      @NostraDavid2 7 วันที่ผ่านมา

      @@anthonywritescode You're referring en.wikipedia.org/wiki/Action_at_a_distance_(computer_programming), yes?

  • @kamurashev
    @kamurashev 7 วันที่ผ่านมา

    I have a question and I have no one who could answer. So if you feel like answering I’d appreciate it.
    System - M1 Max MacBook Pro. I usually use pyenv to manage multiple versions. The issue is with pyenv. Versions installed with pyenv are working slower than either the same system version or manually compiled from the source version. It seems pyenv does not use compile optimizations or smth. Does anyone noticed the same or know how to address?

    • @anthonywritescode
      @anthonywritescode  6 วันที่ผ่านมา +1

      personally I avoid pyenv. building from source correctly is very difficult to get right and there's so many ways it can end up broken in mysterious ways. macos is kinda a disaster as well but I usually either use the indygreg pythons or brew's personally

  • @sfermigier
    @sfermigier 7 วันที่ผ่านมา +1

    How come you pronounce "GIL" = "Gee-Eye-Ell" but "JIT" = "Djitt" ? :)

    • @anthonywritescode
      @anthonywritescode  6 วันที่ผ่านมา +5

      because then I don't have to worry about it being GIF or GIF

  • @kristofkiekens902
    @kristofkiekens902 7 วันที่ผ่านมา

    Great review!

  • @andrewcrook6444
    @andrewcrook6444 6 วันที่ผ่านมา

    Any plans for a Python to native code compiler? I really don’t want to distribute Python with Apps or use one of these tools that package up Python. But rather take Python and compile straight to an executable. I have said for ages we need an interpreter, JIT and compiler.

    • @anthonywritescode
      @anthonywritescode  6 วันที่ผ่านมา

      there's several tools which do that -- you still would need to embed an interpreter one way or another

  • @re.liable
    @re.liable 6 วันที่ผ่านมา

    Nicee

  • @bhaveshverma8629
    @bhaveshverma8629 7 วันที่ผ่านมา

    Awesome video. Good job 👍👍👍👍

  • @maxwibert
    @maxwibert 6 วันที่ผ่านมา

    Go get your snacks lol

  • @omkarmore2769
    @omkarmore2769 7 วันที่ผ่านมา

    Whts new

  • @DavidDellsperger
    @DavidDellsperger 6 วันที่ผ่านมา

    But...did you know that python 3.13 is just one version after 3.12, I didn't see you cover that Mr. Python

  • @amir.hessam
    @amir.hessam 7 วันที่ผ่านมา

    As always Thanks Anthony!