What changes are happening under the hood in the latest versions of Python? How are these updates laying the groundwork for a faster Python in the coming years? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
Christopher shares an article about Python’s recent performance improvements. The piece covers the specialized adaptive interpreter and explains what those terms mean. It also includes details about the experimental feature of the Just-In-Time (JIT) compiler added in 3.13.
We dig into a collection of Django projects you can use to practice and develop your skills. The projects ramp up from detailed beginner tutorials to more advanced projects with guidelines on how to get started. We also discuss a collection of popular websites that use Django.
We share several other articles and projects from the Python community, including a batch of recent Python Enhancement Protocols (PEPs), a couple of Python releases, using DuckDB in the browser with Pyodide, building a contact book app with Textual, generating a tiny status page with a Python script, and a grep-like tool that understands code.
This episode is sponsored by AssemblyAI.
Course Spotlight: Building a Site Connectivity Checker)
In this video course, you’ll build a Python site connectivity checker for the command line. While building this app, you’ll integrate knowledge related to making HTTP requests with standard-library tools, creating command-line interfaces, and managing concurrency with asyncio and aiohttp.
Topics:
00:00:00 – Introduction
00:03:11 – PEP 777: How to Re-Invent the Wheel
00:04:22 – PEP 758: Allow except
and except*
Expressions Without Parentheses
00:04:51 – PEP 760: No More Bare Excepts (Withdrawn)
00:05:42 – PEP 735: Dependency Groups in pyproject.toml
00:06:29 – PEP 761: Deprecating PGP Signatures for CPython Artifacts
00:06:59 – Python 3.12.7 Released
00:07:12 – Incremental GC and Pushing Back the 3.13.0 Release
00:09:10 – DuckDB in the Browser With Pyodide
00:15:35 – Sponsor: AssemblyAI
00:16:18 – Build a Contact Book App With Python, Textual, and SQLite
00:21:55 – Django Project Ideas
00:28:42 – Video Course Spotlight
00:30:00 – In the Making of Python Fitter and Faster
00:35:13 – tinystatus: Tiny Status Page Generated by a Python Script
00:38:06 – srgn: Grep-Like Tool That Understands Code
00:42:01 – Thanks and goodbye
News:
PEP 777: How to Re-Invent the Wheel) – “The current wheel 1.0 specification was written over a decade ago, and has been extremely robust to changes in the Python packaging ecosystem… this PEP prescribes compatibility requirements on future wheel revisions.”
PEP 758: Allow except
and except*
Expressions Without Parentheses) – “This PEP proposes to allow unparenthesized except
and except*
blocks in Python’s exception handling syntax. Currently, when catching multiple exceptions, parentheses are required around the exception types.”
PEP 761: Deprecating PGP Signatures for CPython Artifacts) – Since Python 3.11.0, CPython has provided two verifiable digital signatures for all CPython artifacts: PGP and Sigstore. This PEP proposes moving to Sigstore as the only way of signing artifacts.
Incremental GC and Pushing Back the 3.13.0 Release) – Some last minute performance considerations delayed the release of Python 3.13 with one of the features being backed out.
Show Links:
DuckDB in the Browser With Pyodide) – Learn how to run DuckDB in an in-browser Python environment to enable simple querying on remote files, interactive documentation, and easy to use training materials.
Build a Contact Book App With Python, Textual, and SQLite) – In this tutorial, you’ll be guided step by step through the process of building a basic contact book application. You’ll use Python and Textual to build the application’s text-based user interface (TUI), and then use SQLite to manage the database.
Django Project Ideas) – Looking to experiment or build your portfolio? Discover creative Django project ideas for all skill levels, from beginner apps to advanced full-stack projects.
In the Making of Python Fitter and Faster) – This post details how Python’s recent performance improvements work under the hood. It covers changes to the interpreter, better memory management, and the newly experimental JIT compiler.
Projects:
Additional Links:
What Are Python Wheels and Why Should You Care? – Real Python)
Deploy your first JupyterLite website on GitHub Pages — JupyterLite 0.4.3 documentation)
rich: Python library for rich text and beautiful formatting in the terminal)
Level up your Python skills with our expert-led courses:
Support the podcast & join our community of Pythonistas)