The Real Python Podcast
Real Python
A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community. The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics. Join us every Friday morning to hear what's new in the world of Python programming and become a more effective Pythonista.
Kategorier: Teknologi
Hør på den siste episoden:
How do you verify and validate the data coming into your Python web application? What tools and security best practices should you consider as a developer? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss the recent Real Python tutorial “Pydantic: Simplifying Data Validation in Python.” The piece covers installing the library with optional dependencies, working with base models, validating functions, and managing environment variables.
We continue our conversation about web development with another article about Python security best practices. This article covers several Python libraries and crucial steps you can take to help make your web-based applications more secure.
We also share several other articles and projects from the Python community, including a news roundup, why Python lists multiply oddly, inline run dependencies in pipx, a discussion about open-source contribution assignments, playing sounds in Python, and a Python library to access ISO country definitions.
This episode is sponsored by Mailtrap.
Course Spotlight: Using raise for Effective Exceptions
In this video course, you’ll learn how to raise exceptions in Python, which will improve your ability to efficiently handle errors and exceptional situations in your code. This way, you’ll write more reliable, robust, and maintainable code.
Topics:
- 00:00:00 – Introduction
- 00:02:40 – Python 3.12.3, Python 3.11.9, and 3.13.0a6 Released
- 00:03:43 – Django Bugfix Release Issued: 5.0.4
- 00:04:48 – PEP 738 Accepted: Adding Android as a Supported Platform
- 00:05:53 – EuroPython Tickets on Sale: Prague/Remote July 8-14
- 00:06:38 – PyCon Portugal 2024
- 00:07:17 – Pydantic: Simplifying Data Validation in Python
- 00:15:24 – Sponsor: Mailtrap
- 00:15:58 – Why Do Python Lists Multiply Oddly?
- 00:22:21 – Best Python Security Practices for Web Developers
- 00:34:13 – Video Course Spotlight
- 00:35:38 – Inline Run Dependencies in
pipx
1.4.2 - 00:40:16 – So Your Teacher Wants You to Do Open Source
- 00:54:49 – nava: Play Sounds in Python
- 00:56:25 – pycountry: A Python library to access ISO country definitions
- 00:58:18 – Thanks and goodbye
News:
- Python 3.12.3 and 3.13.0a6 Released
- Python 3.11.9 Released
- Django Bugfix Release Issued: 5.0.4
- PEP 738 Accepted: Adding Android as a Supported Platform
- PEP 742 Accepted: Narrowing Types With TypeIs
- EuroPython Tickets on Sale: Prague/Remote July 8-14
- PyCon Portugal 2024
Show Links:
- Pydantic: Simplifying Data Validation in Python – Discover the power of Pydantic, Python’s most popular data parsing, validation, and serialization library. In this hands-on tutorial, you’ll learn how to make your code more robust, trustworthy, and easier to debug with Pydantic.
- Why Do Python Lists Multiply Oddly? – In Python you can use the multiplication operator on sequences to return a repeated version of the value. When you do this with a list containing an empty list you get what might be unexpected behavior. This article explains what happens and why.
- Best Python Security Practices for Web Developers – Coding on the web means you have to be more security conscious as everyone has access to your software. This article discusses key steps you can take to help make your code more secure.
- Inline Run Dependencies in
pipx
1.4.2 – PEP 723 adds the ability to specify dependencies within a Python script itself. The folks who writepipx
have added an experimental feature that takes advantage of this future language change. This article shows you how the new feature looks and what pipx does with it. - Install and Execute Python Applications Using
pipx
– In this tutorial, you’ll learn about a tool called pipx, which lets you conveniently install and run Python packages as standalone command-line applications in isolated environments. In a way, pipx turns the Python Package Index (PyPI) into an app marketplace for Python programmers.
Discussion:
- So Your Teacher Wants You to Do Open Source – Sometimes teachers or mentors ask students to contribute to an open source project, without the context of what that entails. This opinion piece covers just how much noise that causes for the projects and why you shouldn’t do it unless you truly mean to contribute.
- 503 Days Working Full-Time on FOSS: Lessons Learned – For a year and a half, Rodrigo worked at Textualize the company behind the popular open source Python projects Rich and Textual. This blog post talks about what he learned while he was there.
Projects:
- nava: Play Sounds in Python
- pycountry: A Python library to access ISO country, subdivision, language, currency and script definitions and their translations
Additional Links:
- Pydantic
- François Fleuret on X: “2h of debugging. Whatever you say, that’s counter intuitive.”
- bandit: Security oriented static analyzer for Python code - PyPI
- Dependency Management With Python Poetry – Real Python
- OWASP Top Ten - OWASP Foundation
- pipx
- Governance - The Pallets Projects
- Textual
- How to Contribute to Open Source - Open Source Guides
- Djangonaut Space - Where contributors launch!
Level up your Python skills with our expert-led courses:
Support the podcast & join our community of Pythonistas
Tidligere episoder
-
203 - Pydantic Data Validation & Python Web Security Practices Fri, 26 Apr 2024
-
202 - Decoupling Systems to Get Closer to the Data Fri, 19 Apr 2024
-
201 - Avoiding Error Culture and Getting Help Inside Python Fri, 12 Apr 2024
-
200 - Leveraging Documents and Data to Create a Custom LLM Chatbot Fri, 05 Apr 2024
-
199 - Build a Video Game With Python Turtle & Visualize Data in Seaborn Fri, 29 Mar 2024
-
198 - Using Python in Bioinformatics and the Laboratory Fri, 22 Mar 2024
-
197 - Exploring Duck Typing in Python & Dynamics of Monkey Patching Fri, 15 Mar 2024
-
196 - Building a Healthy Developer Mindset While Learning Python Fri, 08 Mar 2024
-
195 - Automate Tasks With Python & Building a Small Search Engine Fri, 01 Mar 2024
-
194 - Wes McKinney on Improving the Data Stack & Composable Systems Fri, 23 Feb 2024
-
193 - Practical Python Decorator Uses & Avoiding datetime Pitfalls Fri, 16 Feb 2024
-
192 - Focusing on Data Science & Less on Engineering and Dependencies Fri, 09 Feb 2024
-
191 - Great Starting Points for Contributing to Open Source Fri, 02 Feb 2024
-
190 - Building a Python Debugger & Preparing for NumPy 2.0 Fri, 26 Jan 2024
-
189 - Measuring Bias, Toxicity, and Truthfulness in LLMs With Python Fri, 19 Jan 2024
-
188 - Serializing Data With Python & Underscore Naming Conventions Fri, 12 Jan 2024
-
187 - Exploring Python in Excel Fri, 05 Jan 2024
-
186 - 2023 Real Python Tutorial & Video Course Wrap-Up Fri, 29 Dec 2023
-
185 - PyCoder's Weekly 2023 Wrap Up Fri, 22 Dec 2023
-
184 - Exploring Code Reviews in Python and Automating the Process Fri, 08 Dec 2023
-
183 - Building a Python JSON Parser & Discussing Ideas for PEPs Fri, 01 Dec 2023
-
182 - Computational Thinking & Learning Python During an AI Revolution Fri, 17 Nov 2023
-
181 - Studying Python Software Architecture & Creating Lambda Expressions Fri, 10 Nov 2023
-
180 - Improving Your Git Developer Experience in Python Fri, 03 Nov 2023
-
179 - Guiding Scientific Python Library Development Fri, 27 Oct 2023
-
178 - Welcoming PyPI's Safety & Security Engineer Mike Fiedler Fri, 20 Oct 2023
-
177 - Building Python Best Practices and Fundamental Skills Fri, 13 Oct 2023
-
176 - Exploring the New Features of Python 3.12 Fri, 06 Oct 2023
-
175 - Considering ChatGPT's Technical Review of a Programming Book Fri, 29 Sep 2023
-
174 - Getting Involved in Open Source & Generating QR Codes With Python Fri, 22 Sep 2023
-
173 - Measuring Multiple Facets of Python Performance With Scalene Fri, 15 Sep 2023
-
172 - Making Each Line of Code Efficient & Python In Excel Fri, 08 Sep 2023
-
171 - Finding the Right Coding Font for Programming in Python Fri, 01 Sep 2023
-
170 - Improving Classification Models With XGBoost Fri, 25 Aug 2023
-
169 - Common Python Stumbling Blocks & Quirky Behaviors Fri, 11 Aug 2023
-
168 - Exploring pandas 2.0 & Targets for Apache Arrow Fri, 04 Aug 2023
-
167 - Differentiating the Versions of Python & Unlocking IPython's Magic Fri, 28 Jul 2023
-
166 - Leveraging the Features of Your Database With Postgres and Python Fri, 21 Jul 2023
-
165 - Constructing Python Library APIs & Tackling Jinja Templating Fri, 14 Jul 2023
-
164 - Python Crash Course & Learning Enough to Start Creating Fri, 07 Jul 2023
-
163 - Exploring the Zen of Python & pandas Features for Finance Fri, 30 Jun 2023
-
162 - Resources and Advice for Building CircuitPython Projects Fri, 23 Jun 2023
-
161 - Inheriting a Large Python Code Base & Building a GUI With Kivy Fri, 16 Jun 2023
-
160 - Volunteering, Organizing, and Finding a Python Community Fri, 09 Jun 2023
-
159 - Building Python CI With Docker & Applying for a Hacker Initiative Grant Fri, 02 Jun 2023
-
158 - Discussing Mojo & Improving Python Object-Oriented Programming Fri, 26 May 2023
-
157 - Virtual Environment Structure & Surveying the Packaging Ecosystem Fri, 12 May 2023
-
156 - Checking Project Dependencies & Python Dev Resource Collections Fri, 05 May 2023
-
155 - Targeting WebAssembly Platforms & Distilling a Minimum Viable Python Fri, 28 Apr 2023
-
154 - Seeking Faster Text Processing & Python's .__repr__() vs .__str__() Fri, 14 Apr 2023