Episode 227: New PEPs: Template Strings & External Wheel Hosting
The Real Python Podcast
Nov 08, 2024 47m
Have you wanted the flexibility of f-strings but need safety checks in place? What if you could have deferred evaluation for logging or avoiding injection attacks? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
Episode Sponsor:
We discuss a set of recent Python Enhancement Proposals (PEPs). The idea of template strings has been under consideration for a while, and PEP 750 describes a new way forward. PEP 759 proposes a way for projects on PyPI to safely host resources on external sites using a new package upload format called a .rim file.
We share several other articles and projects from the Python community, including what didn’t make the headlines about Python 3.13, solving Sudoku with Python packaging, what’s sweet about Python’s syntactic sugar, creating database-generated columns using SQLite and Django, a discussion about mentoring, an adaptive web scraper, and a debugging tool for HTTP(S) client requests.
This episode is sponsored by Sentry.
Course Spotlight: Using Pydantic to Simplify Python Data Validation
Discover the power of Pydantic, Python’s most popular data parsing, validation, and serialization library. In this hands-on video course, you’ll learn how to make your code more robust, trustworthy, and easier to debug with Pydantic.
Topics:
- 00:00:00 – Introduction
- 00:02:08 – Python 3.14.0 Alpha 1 Released
- 00:02:38 – Python 3.13, What Didn’t Make the Headlines
- 00:05:23 – What’s up Python? 3.13 is out, t-strings look awesome
- 00:10:21 – Sponsor: Sentry
- 00:11:25 – Sudoku in Python Packaging
- 00:14:29 – Syntactic Sugar: Why Python Is Sweet and Pythonic
- 00:22:31 – Database generated columns: Django & SQLite
- 00:27:14 – Video Course Spotlight
- 00:28:39 – Mentors
- 00:42:23 – Scrapling: Lightning-Fast, Adaptive Web Scraping for Python
- 00:44:14 – httpdbg: A tool for Python developers to easily debug the HTTP(S) client requests
- 00:46:04 – Request for project submissions to PyCoders
- 00:46:59 – Thanks and goodbye
News:
Show Links:
- Python 3.13, What Didn’t Make the Headlines – Bite Code summarizes some of the lesser covered changes to Python in the 3.13 release, including how some of the REPL improvements made it into
pdb
, improvements toshutil
, and small additions to the asyncio library. - What’s up Python? 3.13 is out, t-strings look awesome, dep groups come in handy…
- Sudoku in Python Packaging – Simon writes about a Sudoku solver written by Konstin that uses the Python packaging mechanisms to do Sudoku puzzles. The results are output using a requirements.txt file, where
sudoku-0-3==5
represents the (0,3) cell’s answer of 5. - Syntactic Sugar: Why Python Is Sweet and Pythonic – In this tutorial, you’ll learn what syntactic sugar is and how Python uses it to help you create more readable, descriptive, clean, and Pythonic code. You’ll also learn how to replace a given piece of syntactic sugar with another syntax construct.
- Database generated columns: Django & SQLite – An introduction to database generated columns, using SQLite and the new GeneratedField added in Django 5.0
Discussion:
- Mentors – Ryan just finished his second round of mentoring with the Djangonaut.Space program. This post talks about how you can help your mentor help you and how to be a good mentor.
Projects:
- Scrapling: Lightning-Fast, Adaptive Web Scraping for Python
- httpdbg: A tool for Python developers to easily debug the HTTP(S) client requests in a Python program
Additional Links:
- PEP 750 – Template Strings
- PEP 735 – Dependency Groups in pyproject.toml
- PEP 759 – External Wheel Hosting
- Episode #47: Unraveling Python’s Syntax to Its Core With Brett Cannon – The Real Python Podcast
- Episode #92: Continuing to Unravel Python’s Syntactic Sugar With Brett Cannon – The Real Python Podcast
- Episode #4: Learning Python Through Errors – The Real Python Podcast
- PyCoder’s Weekly - Have a Project You Want to Share? - Submit a Link