Python Bytes-logo

Python Bytes

Technology Podcasts

Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.

Location:

United States

Description:

Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.

Language:

English


Episodes
Ask host to enable sharing for playback control

#471 The ORM pattern of 2026?

3/2/2026
Topics covered in this episode: Raw+DC: The ORM pattern of 2026?pytest-check releasesDataclass WizardSQLiteo - “native macOS SQLite browser built for normal people”ExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon SupportersConnect with the hosts@mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fmpythonbytes.fm/liveMondayour friends of the show list Michael #1: Raw+DC: The ORM pattern of 2026? native Brian #2: pytest-check releases changelog Michael #3: Dataclass Wizard Simple, elegant wizarding tools for Python’sNo Inheritance Needed Brian #4: SQLiteo - “native macOS SQLite browser built for normal people” Extras Michael: PyTV Python Unplugged This WeekIBM Crashes 11% in 4 Hours40” ultrawide monitorUpdatestIce has Thawed out Joke: House is read-only!

Duration:00:39:23

Ask host to enable sharing for playback control

#470 A Jolting Episode

2/23/2026
Topics covered in this episode: Better Python tests with inline-snapshotjolt Battery intelligence for your laptopMarkdown code formatting with ruffact - run your GitHub actions locallyExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon SupportersConnect with the hosts@mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fmpythonbytes.fm/liveMondayour friends of the show list Brian #1: Better Python tests with inline-snapshot Allows you to write a test like this: from inline_snapshot import snapshotdef test_user_creation(): user = create_user(id=123, name="test_user") assert user.dict() == snapshot({}) Then run And the library updates the test source code to look like this: def test_user_creation(): user = create_user(id=123, name="test_user") assert user.dict() == snapshot({ "id": 123, "name": "test_user", "status": "active" }) Now, when you run the code without “fix” the collected data is used for comparison inline-snapshotpytest-examplessyrupydirty-equalsexecuting Michael #2: jolt Battery intelligence for your laptop Battery StatusPower MonitoringProcess TrackingHistorical GraphsThemesBackground DaemonProcess Management Brian #3: Markdown code formatting with ruff [tool.ruff.lint]preview = true Michael #4: act - run your GitHub actions locally GitHub ActionsFast Feedbackenvironment variablesfilesystemLocal Task Runnermakeenvironment variablesfilesystem Extras Michael: Frozendict acceptedDjango ORM stand-aloneannouncement post Joke: Plug ‘n Paste

Duration:00:25:29

Ask host to enable sharing for playback control

#469 Commands, out of the terminal

2/9/2026
Topics covered in this episode: Command Book Appuvx.sh: Install Python tools without uv or PythonEnding 15 years of subprocess pollingmonty: A minimal, secure Python interpreter written in Rust for use by AIExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon SupportersConnect with the hosts@mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fmpythonbytes.fm/liveMondayour friends of the show list Michael #1: Command Book App Swift UI Brian #2: uvx.sh: Install Python tools without uv or Python Michael #3: Ending 15 years of subprocess polling timeoutPopen.wait()+the merged PR Brian #4: monty: A minimal, secure Python interpreter written in Rust for use by AI Extras Brian: Expertise is the art of ignoringI hate fish - Rands (Michael Lopp) Michael: Talk Python now has a CLIIt's not vibe coding - Agentic engineeringhaving a dayPython 3.14.3 and 3.13.12 are availablebecause of 13 markdown files Joke: Silence, current side project!

Duration:00:33:56

Ask host to enable sharing for playback control

#468 A bolt of Django

2/3/2026
Topics covered in this episode: django-bolt: Faster than FastAPI, but with Django ORM, Django Admin, and Django packagespyleakMore Django (three articles)DatastarExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm 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. Brian #1: django-bolt : Faster than FastAPI, but with Django ORM, Django Admin, and Django packages Django-Bolt docsInterview with Farhan on Django Chat PodcastAnd a walkthrough video Michael #2: pyleak Brian #3: More Django (three articles) Migrating From Celery to Django TasksSome notes on starting to use DjangoThe definitive guide to using Django with SQLite in production Michael #4: Datastar Sent to us by Forrest Lanier Lots of work by Chris May Out on Talk Python soon. Official Datastar Python SDK Datastar is a little like HTMX, but The single source of truth is your server Events can be sent from server automatically (using SSE) yieldSSE.patch_elements(f"""{(#HTML#)}{datetime.now().isoformat()}""") Why I switched from HTMX to Datastar article Extras Brian: Django Chat: Inverting the Testing Pyramid - Brian OkkenPEP 686 – Make UTF-8 mode default Michael: Prayson Daniel’s Paper trackerIce CubesRumdl for PyCharmcURL Gets Rid of Its Bug Bounty Program Over AI Slop OverrunPython Developers Survey 2026 Joke: Pushed to prod

Duration:00:31:00

Ask host to enable sharing for playback control

#467 Toads in my AI

1/26/2026
Topics covered in this episode: GreyNoise IP Checktprof: a targeting profilerTOAD is outExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm 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: GreyNoise IP Check Brian #2: tprof: a targeting profiler Python: introducing tprof, a targeting profiler Michael #3: TOAD is out OpenHandsClaude CodeGemini CLI Brian #4: FastAPI adds Contribution Guidelines around AI usage Add contribution instructions about LLM generated code and comments and automated tools for PRsDevelopment - Contributing : Automated Code and AIhuman effortlesseffort we would need to putreview itdon't Extras Brian: Apparently Digg is backPython CommunityWhy light-weight websites may one day save your life Michael: Announcing Talk Python AI IntegrationsBlocking AI crawlers might be a bad ideaBiggest prompt yet?72 pages Joke: A date

Duration:00:31:52

Ask host to enable sharing for playback control

#466 PSF Lands $1.5 million

1/19/2026
Topics covered in this episode: Better Django management commands with django-click and django-typerPSF Lands a $1.5 million sponsorship from AnthropicHow uv got so fastPyView Web FrameworkExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm 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. Brian #1: Better Django management commands with django-click and django-typer Django Commons Michael #2: PSF Lands a $1.5 million sponsorship from Anthropic Brian #3: How uv got so fast Michael #4: PyView Web Framework Phoenix LiveViewinterviewed Larry on Talk Pythonthe examplesLiveView Lifecycle Extras Brian: Upgrade DjangoLean TDDpythontestLeanPub Michael: Python: What’s Coming in 2026Talk Python’s journeya proper MCP serverlatest-episodes-mcp.pngwhich-episodes-mcp.webpImplmented /llms.txttalkpython.fm/llms.txt Joke: Reverse Superman

Duration:00:41:19

Ask host to enable sharing for playback control

#465 Stack Overflow is Cooked

1/12/2026
Topics covered in this episode: port-killerHow we made Python's packaging library 3x fasterCodSpeedExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm 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: port-killer Brian #2: How we made Python's packaging library 3x faster Michael #3: AI’s Impact on dev companies On TailwindCSSvia SimonA Morning WalkTailwind is in DEEP troubleOn Stack OverflowSee video Brian #4: CodSpeed GitHub workflows for FastAPI Extras Brian: Lean TDD Michael: the supply chain techniques from last weekLong passwords are bad now Joke: Check out my app!

Duration:00:35:34

Ask host to enable sharing for playback control

#464 Malicious Package? No Build For You!

1/5/2026
Topics covered in this episode: ty: An extremely fast Python type checker and LSPPython Supply Chain Security Made Easytyping_extensionsMI6 chief: We'll be as fluent in Python as we are in RussianExtrasJokeWatch on YouTube About the show Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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. Brian #1: ty: An extremely fast Python type checker and LSP VSCode (or Cursor) extension Michael #2: Python Supply Chain Security Made Easy pip-auditDevOps Python Supply Chain Security Brian #3: typing_extensions prioinvtyping-extensions Michael #4: MI6 chief: We'll be as fluent in Python as we are in Russian Extras Brian: SteamDeck Michael: Blog postRelease pagea video series on Pandas 3 Joke: Error Handling in the age of AI JavaScript the Good Parts

Duration:00:30:18

Ask host to enable sharing for playback control

#463 2025 is @wrapped

12/22/2025
Topics covered in this episode: Has the cost of building software just dropped 90%?More on Deprecation WarningsHow FOSS Won and Why It MattersShould I be looking for a GitHub alternative?ExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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. HEADS UP: We are taking next week off, happy holiday everyone. Michael #1: Has the cost of building software just dropped 90%? Agentic coding toolshaven’t been that great of a true benefitcoordination overhead reductionThinking, product clarity, and domain decisionsJevons paradoxlegacy code comprehension and bug-fixing Brian #2: More on Deprecation Warnings Python docs modeuse the decoratormypy also has a command line option and setting for this Michael #3: How FOSS Won and Why It Matters cost control. Brian #4: Should I be looking for a GitHub alternative? Pricing changes for GitHub ActionsThese 4 GitHub alternatives are just as good—or betterCodeburgBitBucketGitLabGiteaTangled Extras Brian: The Complete pytest CourseLean TDD book Michael: the release notes of 2025.3PyCharm 2025.3 expands its LSP integration with support for Ruff, ty, Pyright, and Pyrefly.on this pagedoc site was also updatedMay your bug tracker be forever empty Joke: Try/Catch/Stack OverflowCreate a super annoying linkedin profile

Duration:00:43:19

Ask host to enable sharing for playback control

#462 LinkedIn Cringe

12/15/2025
Topics covered in this episode: Deprecations via warningsdocsPyAtlas: interactive map of the top 10,000 Python packages on PyPI.BuckarooExtrasJokeWatch on YouTube About the show Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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. Brian #1: Deprecations via warnings Deprecations via warnings don’t work for Python librariesHow to encourage developers to fix Python warnings for deprecated features Michael #2: docs DINUMZenDiS Brian #3: PyAtlas: interactive map of the top 10,000 Python packages on PyPI. pytest-deepassert - Enhanced pytest assertions with detailed diffs powered by DeepDiffpytest-plus Michael #4: Buckaroo Extras Brian: ThanosPromptVer Michael: installing python guideTalk Python TrainingEyeBuyDirectmy new monitorPyCharm now more fully supports uvRegistration for PyCon US 2026 is OpenPrek + typos guidancethis issue Joke: Fixed it! Plus LinkedIn cringe:

Duration:00:35:40

Ask host to enable sharing for playback control

#461 This episdoe has a typo

12/9/2025
Topics covered in this episode: PEP 798: Unpacking in ComprehensionsPandas 3.0.0rc0typosA couple testing topicsExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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: PEP 798: Unpacking in Comprehensions Examples Also: The Steering Council is happy to unanimously accept “PEP 810, Explicit lazy imports” Brian #2: Pandas 3.0.0rc0 What’s new in Pands 3.0.0anybehaves as ifPlus more Michael #3: typos typosVSCode extensionOpenVSX extension Like codespell, typos checks for known misspellings instead of only allowing words from a dictionary. But typos has some extra features I really appreciate, like finding spelling mistakes inside snake_case or camelCase words. For example, if you have the line: = "sqlite:///my.db" codespell won't find the misspelling, but typos will. It gave me the output: `` `` `` connecton_string = "sqlite:///my.db" But the main advantage for me is that typos has an LSP that supports editor integrations like a VS Code extension. As far as I can tell, codespell doesn't support editor integration. (Note that the popular Code Spell Checker VS Code extension is an unrelated project that uses a traditional dictionary approach.) For more on the differences between codespell and typos, here's a comparison table I found in the typos repo: https://github.com/crate-ci/typos/blob/master/docs/comparison.md By the way, though it's not mentioned in the installation instructions, typos is published on PyPI and can be installed with uv tool install typos, for example. That said, I don't bother installing it, I just use the VS Code extension and run it as a pre-commit hook. (By the way, I'm using prek instead of pre-commit now; thanks for the tip on episode #448!) It looks like typos also publishes a GitHub action, though I haven't used it. Brian #4: A couple testing topics slowlifyWhy your mock breaks lateris common Extras Brian: The Rise and Rise of FastAPI - mini documentary“Building on Lean” chapter of LeanTDD is out Michael: My Vanishing Gradient’s episodeDjango 6 is out Joke: tabloid - A minimal programming language inspired by clickbait headlines

Duration:00:28:50

Ask host to enable sharing for playback control

#460 Overlooked Python Typing

12/1/2025
Topics covered in this episode: Advent of Code starts todayDjango 6 is comingAdvanced, Overlooked Python TypingcodespellExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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. Brian #1: Advent of Code starts today Michael #2: Django 6 is coming Expected December 2025Content Security Policy (CSP)Django Template Languagetemplate partials Brian #3: Advanced, Overlooked Python Typing Michael #4: codespell this PR for the Talk Python book Extras Michael: has been unmaintained for a bit but is not anymoreA Review of Michael Kennedy’s book, “Talk Python in Production” Joke: NoaaS

Duration:00:24:28

Ask host to enable sharing for playback control

#459 Inverted dependency trees

11/24/2025
Topics covered in this episode: PEP 814 – Add frozendict built-in typeFrom Material for MkDocs to ZensicalTachSome Python Speedups in 3.15 and 3.16ExtrasJokeAbout the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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 #0: Black Friday is on at Talk Python AI course mini bundleEverything Bundlewhat's that? ;)Talk Python in Production book Brian: This is peer pressure in action The Complete pytest Course bundlePython Testing with pytest, 2nd edition Michael #1: PEP 814 – Add frozendict built-in type existing frozen types in Python Brian #2: From Material for MkDocs to Zensical now in maintenance modeTransforming Material for MkDocsZensical – A modern static site generator built by the creators of Material for MkDocsMaterial for MkDocs Insiders – Now free for everyoneGoodbye, GitHub Discussions Michael #3: Tach Example from an app Brian #4: Some Python Speedups in 3.15 and 3.16 A Plan for 5-10%* Faster Free-Threaded JIT by Python 3.16Decompression is up to 30% faster in CPython 3.15 Extras Brian: LeanTDD book issue tracker Michael: Inverted dep trees Joke: git pull inception

Duration:00:32:54

Ask host to enable sharing for playback control

#458 I will install Linux on your computer

11/17/2025
Topics covered in this episode: Possibility of a new website for DjangoaiosqlitepooldeptrybrowsrExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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. Brian #1: Possibility of a new website for Django djangoproject.comdjango-homepage.adamghill.comWant to work on a homepage site redesign? discussion Michael #2: aiosqlitepool aiosqliteEliminates connection overheadFaster queries via "hot" cacheMaximizes concurrent throughput Brian #3: deptry Note if you use [project.optional-dependencies]plot = ["matplotlib"]test = ["pytest"] you have to set a config setting to get it to work right: [tool.deptry]pep621_dev_dependency_groups = ["test", "docs"] Michael #4: browsr file explorerTUIlocallyGitHubSSHAWS S3Google Cloud StorageAzure Blob Storage Extras Brian: Michael: Peacock Joke: I will find you

Duration:00:22:47

Ask host to enable sharing for playback control

#457 Tapping into HTTP

11/11/2025
Topics covered in this episode: httptap10 Smart Performance Hacks For Faster Python CodeFastRTCExplore Python dependencies with and ExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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: httptap Phase-by-phase timingAll HTTP methodsRequest body supportIPv4/IPv6 awareTLS insightsMultiple output modesJSON exportExtensible Brian #2: 10 Smart Performance Hacks For Faster Python Code Michael #3: FastRTC Talk To Claude Brian #4: Explore Python dependencies with and episode 17.pipdeptreeuv pip tree Extras Brian: Lean TDD 0.1.1VSCode Peacock Extension Joke: Sure Grandma

Duration:00:28:01

Ask host to enable sharing for playback control

#456 You're so wrong

11/3/2025
Topics covered in this episode: The PSF has withdrawn a $1.5 million proposal to US government grant programA Binary Serializer for Pydantic ModelsT-strings: Python's Fifth String Formatting Technique?CronboardExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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. Brian #1: The PSF has withdrawn a $1.5 million proposal to US government grant program Related post from Simon WillisonPython plan to boost software security foiled by Trump admin’s anti-DEI rulesPython Foundation goes ride or DEI, rejects government grant with strings attached Michael #2: A Binary Serializer for Pydantic Models 7× Smaller Than JSONTarget Audience: Brian #3: T-strings: Python's Fifth String Formatting Technique? Michael #4: Cronboard ✨ Features Extras Brian: PEP 810: Explicit lazy imports, has been unanimously accepted by steering councilLean TDD Joke: You are so wrong!

Duration:00:25:46

Ask host to enable sharing for playback control

#455 Gilded Python and Beyond

10/27/2025
Topics covered in this episode: Cyclopts: A CLI library* The future of Python web services looks GIL-free* Free-threaded GC* Polite lazy imports for Python package maintainersExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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: Cyclopts: A CLI library TyperArgument vs OptionPositional or Keyword ArgumentsChoicesDefault CommandDocstring ParsingDecorator ParenthesesOptional ListsKeyword Multiple ValuesFlag NegationHelp DefaultsValidationUnion/Optional SupportAdding a Version FlagDocumentation Brian #2: The future of Python web services looks GIL-free “Python 3.14 was released at the beginning of the month. This release was particularly interesting to me because of the improvements on the "free-threaded" variant of the interpreter. Specifically, the two major changes when compared to the free-threaded variant of Python 3.13 are: phase IIworkaroundsadaptive interpreter“Final Thoughts” sectionmassive improvementa good thing Michael #3: Free-threaded GC The Default GC:The Free-Threaded GC:NOTknownOverall speedup of the free-threaded GC collection is between 2 and 12 times faster Brian #4: Polite lazy imports for Python package maintainers LI post by Bob Belderbos“I'm excited about this PEP. I wrote a lazy loading mechanism for Textual's widgets. Without it, the entire widget library would be imported even if you needed just one widget. Having this as a core language feature would make me very happy.” https://github.com/Textualize/textual/blob/main/src/textual/widgets/__init__.py Well, I was excited about Will’s example for how to, essentially, allow users of your package to import only the part they need, when they need it. Every dunder method in Python, Extras Brian: pythontest newsletter Michael: Agentic AI Programming for Pythonbe on Vanishing GradientsOpenAI launches ChatGPT AtlasPets in PyCharm Joke: You're absolutely right

Duration:00:38:53

Ask host to enable sharing for playback control

#454 It's some form of Elvish

10/20/2025
Topics covered in this episode: * djrest2 -Github CLIcaniscrape - Know before you scrape. Analyze any website's anti-bot protections in seconds.* 🐴 GittyUpExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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. Brian #1: djrest2 - A small and simple REST library for Django based on class-based views. Why, in 2025, do we still need a 3rd party app to write a REST API with Django?using DRFDjango Ninja Michael #2: Github CLI cli.github.com/manual/examples Brian #3: caniscrape - Know before you scrape. Analyze any website's anti-bot protections in seconds. reddit announcement and discussion caniscrape checks a website for common anti-bot mechanisms and reports: This helps you decide the right scraping approach before you waste time building a bot that keeps getting blocked. Michael #4: 🐴 GittyUp Agentic AI Programming for Pythontraining.talkpython.fm/getnotified Extras Brian: Three times faster with lazy importsInteresting discussion on Hugo’s postUse lazy module imports nowwrapt Michael: uvloop is backpypi+ listenedFeedback Joke: Some form of Elvish

Duration:00:29:07

Ask host to enable sharing for playback control

#453 Python++

10/16/2025
Topics covered in this episode: * PyPI+* uv-ship - a CLI-tool for shipping with uv* How fast is 3.14?* air - a new web framework built with FastAPI, Starlette, and Pydantic.ExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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: PyPI+ content-typesjinja-partialsfastapi-chameleon Brian #2: uv-ship - a CLI-tool for shipping with uv uv Michael #3: How fast is 3.14? Brian #4: air - a new web framework built with FastAPI, Starlette, and Pydantic. Why?Don't use AIR” Extras Brian: Python 3.15a1 is availableuv python install 3.15Python lazy imports you can use todayTesting against Python 3.14Free Threading has some trove classifiers Michael: Talk Python in Production book is out!AI Usage TUIShow me your lsHelium BrowserPython 97.4% 👀3.13.9 Joke: An unforgivable crime

Duration:00:36:17

Ask host to enable sharing for playback control

#452 pi py-day (or is it py pi-day?)

10/9/2025
Topics covered in this episode: * Python 3.14* Free-threaded Python Library Compatibility Checker* Claude Sonnet 4.5* Python 3.15 will get Explicit lazy importsExtrasJokeWatch on YouTube About the show Sponsored by DigitalOcean: pythonbytes.fm/digitalocean-gen-ai Use code DO4BYTES and get $200 in free credit Connect with the hosts @mkennedy@fosstodon.org@mkennedy.codes@brianokken@fosstodon.org@brianokken.bsky.social@pythonbytes@fosstodon.org@pythonbytes.fm Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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. Brian #1: Python 3.14 What’s new in Python 3.14Improved error messages Michael #2: Free-threaded Python Library Compatibility Checker Donghee Na Michael #3: Claude Sonnet 4.5 PyCharm too Brian #4: Python 3.15 will get Explicit lazy imports Discussiondiscuss.python.orgThis PEP introduces syntax for lazy imports as an explicit language feature: lazyimport jsonlazyfrom json importdumps BTW, lazy loading in fixtures is a super easy way to speed up test startup times. Extras Brian: Music video made in Python Michael: Thanks AIcontent-typesTalk Python in Production is out and for sale Joke: You do estimates?

Duration:00:40:36