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:
What is error culture, and how do you avoid it within your organization? How do you navigate alert and notification fatigue? Hey, it’s episode #200! Real Python’s editor-in-chief, Dan Bader, joins us this week to celebrate. Christopher Trudeau also returns to bring another batch of PyCoder’s Weekly articles and projects.
We discuss an article series about error culture. We dig into false positives, hero culture, and the tendency to start ignoring alerts. We contrast our personal experiences and propose possible remedies. Dan describes configuring Real Python’s alert system.
We also share several other articles and projects from the Python community, including a news roundup, reading and writing WAV files in Python, moving beyond flat files toward SQLite and SQLAlchemy, getting help in Python, exploring four kinds of optimization, a framework for building web scrapers, and a project to simply subprocesses.
This week’s episode is brought to you by Sentry.
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, and SQLAlchemy as well as with 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:42 – PyPI Hiring a Support Specialist
- 00:03:19 – PyPI Temporarily Halted New Users and Projects
- 00:04:14 – What we know about the xz Utils backdoor
- 00:05:38 – CPython, PyPI, and the backdoor of xz
- 00:07:18 – Episode 200 appreciation and the journey
- 00:09:18 – A visit from Dan
- 00:14:14 – Reading and Writing WAV Files in Python
- 00:19:56 – Sponsor: Sentry
- 00:21:03 – SQLite and SQLAlchemy in Python
- 00:27:36 – Getting Help (In Python)
- 00:32:49 – Laurence Tratt: Four Kinds of Optimization
- 00:40:54 – Video Course Spotlight
- 00:42:26 – Discussion: Error Culture
- 00:58:03 – botasaurus: The All in One Framework to Build Awesome Scrapers
- 01:01:04 – suby: Slightly Simplified Subprocesses
- 01:02:50 – Thanks and goodbye
News:
- PyPI Hiring a Support Specialist (Remote)
- PyPI Temporarily Halted New Users and Projects – To fend off a supply-chain attack, PyPI temporarily halted new users and projects for about 10 hours last week. This article discusses why, and the scourge of supply-chain attacks.
- What we know about the xz Utils backdoor that almost infected the world - Ars Technica
- CPython, PyPI, and many Python packages are not affected by the backdoor of xz - Core Development - Discussions on Python.org
Topics:
- Reading and Writing WAV Files in Python – In this tutorial, you’ll learn how to work with WAV audio files in Python using the standard-library wave module. Along the way, you’ll synthesize sounds from scratch, visualize waveforms in the time domain, animate real-time spectrograms, and apply special effects to widen the stereo field.
- SQLite and SQLAlchemy in Python: Beyond Flat Files – In this video course, you’ll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with 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.
- How SQLite Is Tested – The page describes how SQLite is rigorously tested using four test harnesses, fuzz testing, anomaly testing like crash and I/O error simulations, and other techniques to ensure reliability.
- Getting Help (In Python) – When trying to remember just where
sleep()
was in the Python standard library, Ishaan stumbled through the built-in help and learned how to use it to answer just these kinds of questions. - Laurence Tratt: Four Kinds of Optimization – “Premature optimization might be the root of all evil, but overdue optimization is the root of all frustration. No matter how fast hardware becomes, we find it easy to write programs which run too slow.” Read on to learn what to do about it.
Discussion:
Projects:
- botasaurus: The All in One Framework to Build Awesome Scrapers
- suby: Slightly Simplified Subprocesses
Additional Links:
- xkcd: Exploits of a Mom
- How SQLite Is Tested
- SettingWithCopyWarning in pandas: Views vs Copies – Real Python
- 99% Invisible - Mini-Stories: Volume 4
Level up your Python skills with our expert-led courses:
- Playing and Recording Sound in Python
- Exploring Scopes and Closures in Python
- SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files
Support the podcast & join our community of Pythonistas
Tidligere episoder
-
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
-
153 - Automate Processes and Distribute Python Tools With RPA and RCC Fri, 07 Apr 2023
-
152 - Evaluating Python Packages & Celebrating 20 Years of PyCon US Fri, 31 Mar 2023