Real Python Podcast E229 Title Image

Episode 229: The Joy of Tinkering & Python Free-Threading Performance

The Real Python Podcast

Nov 22, 2024 45m

What keeps your spark alive for developing software and learning Python? Do you like to try new frameworks, build toy projects, or collaborate with other developers? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.

Episode Sponsor:

We discuss the joy of tinkering with Python as a way to keep your developer skills sharp. We dig into our techniques for continuing to learn and build projects.

Christopher shares an article that examines the performance of Python 3.13’s free-threading features. This piece uses a clever example to measure how the new features behave with large datasets and parallelization.

We share several other articles and projects from the Python community, including a group of new releases, common use cases and examples for Python closures, finding the opposite of cloud-native, Python’s soft keywords, a command-line utility for taking automated screenshots of websites, and putting the Django admin in the terminal with Textual.

This episode is sponsored by Windsurf.

Topics:

  • 00:00:00 – Introduction
  • 00:02:18 – Django Bugfix Release Issued: 5.1.3
  • 00:02:46 – Pillow Release 11.0.0
  • 00:03:14 – Flask Version 3.1.0
  • 00:03:30 – PyCon US 2025 (Pittsburgh) Call for Proposals
  • 00:03:46 – Python Closures: Common Use Cases and Examples
  • 00:09:20 – State of Python 3.13 Performance: Free-Threading
  • 00:15:42 – Sponsor: Windsurf
  • 00:16:32 – Opposite of Cloud Native Is…?
  • 00:22:36 – Python’s Soft Keywords
  • 00:24:50 – Video Course Spotlight
  • 00:26:11 – The Joy of Tinkering
  • 00:38:33 – shot-scraper: A command-line utility for taking automated screenshots of websites
  • 00:41:13 – django-admin-tui: Django Admin in the Terminal!
  • 00:42:37 – django-admin-dracula: Dracula Themes for the Django Admin
  • 00:44:21 – Thanks and goodbye

News:

Show Links:

  • Python Closures: Common Use Cases and Examples – In this tutorial, you’ll learn about Python closures. A closure is a function-like object with an extended scope. You can use closures to create decorators, factory functions, stateful functions, and more.
  • State of Python 3.13 Performance: Free-Threading – This article does a comparison between code in single threaded, threaded, and multi-process versions under Python 3.12, 3.13, and 3.13 free-threaded with the GIL on and off.
  • Opposite of Cloud Native Is…? – Michael (from Talk Python fame) introduces the concept of “stack-native” as the opposite of “cloud-native”, and how it applies to Python web apps. Building applications with just enough full-stack building blocks to run reliably with minimal complexity, rather than relying on a multitude of cloud services.
  • Python’s soft keywords – Python includes soft keywords: tokens that are important to the parser but can also be used as variable names. This article shows you what a soft keyword is and how to find them in Python 3.12 (both the easy and hard way).

Discussion:

Projects:

Additional Projects:

Level Up Your Python Skills With These Courses: