
Episode 255: Structuring Python Scripts & Exciting Non-LLM Software Trends
The Real Python Podcast
What goes into crafting an effective Python script? How do you organize your code, manage dependencies with PEP 723, and handle command-line arguments for the best results? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We dig into a recent Real Python article about how to structure your Python scripts. It includes advice for adding inline script metadata as defined in PEP 723, which helps tools automatically create an environment and install dependencies when the script is run. The piece also covers choosing appropriate data structures, improving runtime feedback, and making your code more maintainable with constants and entry points.
We discuss a collection of software trends happening behind the scenes of the constant LLM news. The piece starts with local-first software, prioritizing processing and storing private data on personal devices rather than relying on the cloud. The other trends include common themes and tools we’ve shared over the past few years, including WebAssembly, SQLite’s renaissance, and improvements to cross-platform mobile development.
We also share several other articles and projects from the Python community, including a news roundup, the state of free-threaded Python, tips for improving Django management commands, advice for time management as a manager, a data science-focused IDE, and a project to check for multiple patterns in a single string.
Course Spotlight: SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files
In this video course, you’ll learn how to store and retrieve data using Python, SQLite, SQLAlchemy, and flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods.
Topics:
- 00:00:00 – Introduction
- 00:02:26 – Followup - marimo and LaTeX
- 00:03:26 – PEP 734: Multiple Interpreters in the Stdlib (Accepted)
- 00:03:52 – Python 3.13.4, 3.12.11, 3.11.13, 3.10.18 and 3.9.23 Security Releases
- 00:04:21 – Python Insider: Python 3.14.0 beta 3 is here!
- 00:04:30 – Django Bugfix Releases: 5.2.3, 5.1.11, and 4.2.23
- 00:04:52 – NumPy v2.3.0 Released
- 00:05:02 – scikit-learn 1.7 Released
- 00:05:12 – PyData Virginia 2025 Talks
- 00:05:52 – How Can You Structure Your Python Script?
- 00:12:08 – State of Free-Threaded Python
- 00:18:23 – 5 Non-LLM Software Trends to Be Excited About
- 00:29:50 – Video Course Spotlight
- 00:31:23 – Better Django Management Commands
- 00:33:56 – Advice for time management as a manager
- 00:46:49 – positron: Data Science IDE
- 00:50:05 – ahocorasick_rs: Check for Multiple Patterns in a Single String
- 00:52:41 – 10 Polars Tools and Techniques To Level Up Your Data Science - Podcast Episode
- 00:53:22 – Thanks and goodbye
News:
- PEP 734: Multiple Interpreters in the Stdlib (Accepted)
- Python 3.13.4, 3.12.11, 3.11.13, 3.10.18 and 3.9.23 Security Releases
- Python 3.13.5 Released
- Python Insider: Python 3.14.0 beta 3 is here!
- Django Bugfix Releases: 5.2.3, 5.1.11, and 4.2.23
- NumPy v2.3.0 Released
scikit-learn 1.7
Released- PyData Virginia 2025 Talks – A list of the recorded talks from PyData Virginia 2025.
Show Links:
- How Can You Structure Your Python Script? – Structure your Python script like a pro. This guide shows you how to organize your code, manage dependencies with PEP 723, and handle command-line arguments.
- State of Free-Threaded Python – This is a blog post from the Python Language Summit 2025 giving an update on the progress of free-threaded Python. You may also be interested in the complete list of Language Summit Blogs.
- PEP 779 – Criteria for supported status for free-threaded Python
- 5 Non-LLM Software Trends to Be Excited About – Tired of reading about AI and LLMs? This post talks about other tech that is rapidly changing in the software world, including local-first applications, web assembly, the improvement of cross-platform tools, and more.
- Better Django Management Commands – Writing Django management commands can involve a ton of boilerplate code. This article shows you how to use two libraries that could cut your management command code in half: django-click and django-typer.
Discussion:
Projects:
Additional Links:
- Visualize outputs - Mardown editor and LaTeX - marimo
- PyCon US 2025 - YouTube
- DjangoCon Europe 2025 Dublin - YouTube
- Executing Python Scripts With a Shebang
- Local-first software: You own your data, in spite of the cloud
- Code OSS
- Episode #510 - 10 Polars Tools and Techniques To Level Up Your Data Science - Talk Python To Me Podcast
- PyCoder’s Weekly - Submit a Link