#479 Talking About Types

EPISODE · May 11, 2026 · 35 MIN

#479 Talking About Types

from Python Bytes · host Michael Kennedy and Brian Okken

Topics covered in this episode: httpxyz one month in Learn concurrency - a deep dive into multithreading with Python pip 26.1 - lockfiles and dependency cooldowns Python 3.15 sentinal values from PEP 661 Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @[email protected] / @mkennedy.codes (bsky) Brian: @[email protected] / @brianokken.bsky.social Show: @[email protected] / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 11am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: httpxyz one month in First version of httpxyz contained just the fixes to get zstd working, and the fixes to get the test suite running on python 3.14, some ‘housekeeping’ changes related to the renaming End of March: a compatibility shim that allows you to use httpxyz even with third-party packages that import httpx themselves, as long as you import httpxyz first. Importing httpxyz automatically registers it under the httpx name in sys.modules , see https://httpxyz.org/httpx-compatibility/ Fixed a WHOLE bunch of performance related issues by forking httpcore Brian #2: Learn concurrency - a deep dive into multithreading with Python Nikos Vaggalis “Whenever you are trying to speed up code using multiple cores, always ask yourself: “Do these threads need to talk to each other right now?” If the answer is yes, it will be slow. The best parallel code splits a big job into completely isolated chunks, processes them separately, and merges the results at the finish line.” Good overview of thread concurrency with Python and how that’s been improved dramatically with free-threaded Python Defines lots of terms you come across, including “embarrassingly parallel multithreading” There’s a counter example that’s nice Start with a shared resource, a counter, and multiple threads updating it Attempt to fix with threading.Lock(), which fixes it, but slows things down Good explanation of why Proper fix with concurrent.futures and separating the work of different threads so that they can be independent and their results can be combined when they’re all finished. Michael #3: pip 26.1 - lockfiles and dependency cooldowns Python 3.9 is no longer supported Experimental: installing from pylock files Dependency cooldowns (see my post about this) Lifting several 2020 resolver limitations Brian #4: Python 3.15 sentinal values from PEP 661 MISSING = sentinel("MISSING") def next_value(default: int | MISSING = MISSING): ... if default is MISSING: ... Take a name str as a constructor parameter Intended to be compared with is operator, similar to None Sentinal objects can be used as a type, also similar to None and can be combined with other types with |. Unlike None, sentinal values are truthy. (Elipses ... are also truthy) This seems like a strange choice. but I guess it must have made sense to someone. It does force you to use is instead of depending on False-ness, so I guess it’ll make code using sentinels more readable. Interesting that the PEP was started in 2021, and we’re finally getting it this year. Extras Brian: Before GitHub - Armin Ronacher tenacity - cross-platform multi-track audio editor/recorder learned about it from Armin’s article Joke: Joke option Make it myself Seems similar to what people think about software now Links httpxyz one month in httpxyz.org/httpx-compatibility Learn concurrency - a deep dive into multithreading with Python pip 26.1 - lockfiles and dependency cooldowns my post about this Python 3.15 sentinal values from PEP 661 Before GitHub tenacity Make it myself

NOW PLAYING

#479 Talking About Types

0:00 35:43

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

Vegan Bytes VEG3 | Your Vegan AI Welcome to Vegan Bytes - your two-minute destination for everything you need to supercharge your vegan journey or advocacy efforts, all served up by VEG3’s cutting-edge AI.That’s right, every byte of this podcast is generated by artificial intelligence, turning complex research into digestible tips, blending in a dash of vegan-friendly humor, and wrapping it all in a short story that will leave you hooked. From the latest trends in veganism and AI to tried and tested strategies, each episode serves up relevant real-world examples and actionable insights that you can immediately implement to accelerate the vegan revolution.Whether you’re a seasoned vegan or a newcomer to the plant-based world, our AI has cooked up the perfect recipe to help you drive the cause forward.Tune in, grab a vegan snack, and let’s create a world where animal rights are recognized, and the vegan movement thrives.Learn more about VEG3, your AI-powered vegan companion, at https://veg3.ai Python for Everybody (Audio/PY4E) Dr. Charles Russell Severance These are the audio lectures to supplement the textbook 'Python for Everybody: Exploring Information' and its associated web site www.py4e.com. There is also a video podcast of this material. Mozilla Security Bytes Julien Vehent Sharing the work we do around the open web, information security and user privacy is an important role of Mozilla Security. The Mozilla Security Bytes podcast discuss various topics and technologies implemented in Firefox and other Mozilla products and initiatives. The Real Python Podcast Real Python A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community.The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics. Join us every Friday morning to hear what's new in the world of Python programming and become a more effective Pythonista.
URL copied to clipboard!