The Real Python Podcast
Episodes
Building a Python Debugger & Preparing for NumPy 2.0
26 Jan 2024
Contributed by Lukas
How does a debugger work? What can you learn about Python by building one from scratch? Christopher Trudeau is back on the show this week, bringing an...
Measuring Bias, Toxicity, and Truthfulness in LLMs With Python
19 Jan 2024
Contributed by Lukas
How can you measure the quality of a large language model? What tools can measure bias, toxicity, and truthfulness levels in a model using Python? Thi...
Serializing Data With Python & Underscore Naming Conventions
12 Jan 2024
Contributed by Lukas
Do you need to transfer an extensive data collection for a science project? What's the best way to send executable code over the wire for distributed ...
Exploring Python in Excel
05 Jan 2024
Contributed by Lukas
Are you interested in using your Python skills within Excel? Would you like to share a data science project or visualization as a single Office file? ...
2023 Real Python Tutorial & Video Course Wrap-Up
29 Dec 2023
Contributed by Lukas
Three members of the Real Python team are joining us this week: Kate Finegan, Tappan Moore, and Philipp Acsany. We wanted to share a year-end wrap-up ...
PyCoder's Weekly 2023 Wrap Up
22 Dec 2023
Contributed by Lukas
It's been a fascinating year for the Python language and community. PyCoder's Weekly included over 1,500 links to articles, blog posts, tutorials, and...
Exploring Code Reviews in Python and Automating the Process
08 Dec 2023
Contributed by Lukas
What goes into a code review in Python? Is there a difference in how a large organization practices code review compared to a smaller one? What do you...
Building a Python JSON Parser & Discussing Ideas for PEPs
01 Dec 2023
Contributed by Lukas
Have you thought of a way to improve the Python language? How do you share your idea with core developers and start a discussion in the Python communi...
Computational Thinking & Learning Python During an AI Revolution
17 Nov 2023
Contributed by Lukas
Has the current growth of artificial intelligence (AI) systems made you wonder what the future holds for Python developers? What are the hidden benefi...
Studying Python Software Architecture & Creating Lambda Expressions
10 Nov 2023
Contributed by Lukas
Have you moved through the fundamentals of Python, and are you now considering building a more extensive project or complete application? Where can yo...
Improving Your Git Developer Experience in Python
03 Nov 2023
Contributed by Lukas
Are you getting by with a few fundamental commands for Git when building your Python projects? Would you like to improve your version control techniqu...
Guiding Scientific Python Library Development
27 Oct 2023
Contributed by Lukas
How do you prepare a scientific Python project for sharing with others? Could you use some best practices and guidance for packaging, documentation, a...
Welcoming PyPI's Safety & Security Engineer Mike Fiedler
20 Oct 2023
Contributed by Lukas
You may remember a recent Python Package Index (PyPI) announcement about hiring a full-time security engineer. We've also mentioned several current se...
Building Python Best Practices and Fundamental Skills
13 Oct 2023
Contributed by Lukas
What fundamental developer skills are new Python users missing? What best practices might developers without a computer science background be lacking?...
Exploring the New Features of Python 3.12
06 Oct 2023
Contributed by Lukas
Python 3.12 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. Geir Arne coordinated a series o...
Considering ChatGPT's Technical Review of a Programming Book
29 Sep 2023
Contributed by Lukas
What can you learn from feeding an entire book on Python programming into ChatGPT-4 and asking it to provide a technical review? What are the potentia...
Getting Involved in Open Source & Generating QR Codes With Python
22 Sep 2023
Contributed by Lukas
Have you thought about contributing to an open-source Python project? What are possible entry points for intermediate developers? Christopher Trudeau ...
Measuring Multiple Facets of Python Performance With Scalene
15 Sep 2023
Contributed by Lukas
When choosing a tool for profiling Python code performance, should it focus on the CPU, GPU, memory, or individual lines of code? What if it looked at...
Making Each Line of Code Efficient & Python In Excel
08 Sep 2023
Contributed by Lukas
Are you writing efficient Python with as few lines of code as possible? Are you familiar with the many built-in language features that will simplify y...
Finding the Right Coding Font for Programming in Python
01 Sep 2023
Contributed by Lukas
What should you consider when picking a font for coding in Python? What characters and their respective glyphs should you check before making your dec...
Improving Classification Models With XGBoost
25 Aug 2023
Contributed by Lukas
How can you improve a classification model while avoiding overfitting? Once you have a model, what tools can you use to explain it to others? This wee...
Common Python Stumbling Blocks & Quirky Behaviors
11 Aug 2023
Contributed by Lukas
Have you ever encountered strange behavior when trying something new in Python? What are common quirks hiding within the language? This week on the sh...
Exploring pandas 2.0 & Targets for Apache Arrow
04 Aug 2023
Contributed by Lukas
What are the new ways to describe your data in pandas 2.0? Will the addition of Apache Arrow to the data back end foster the growth of data interopera...
Differentiating the Versions of Python & Unlocking IPython's Magic
28 Jul 2023
Contributed by Lukas
What are all the different versions of Python? You may have heard of Cython, Brython, PyPy, or others and wondered where they fit into the Python land...
Leveraging the Features of Your Database With Postgres and Python
21 Jul 2023
Contributed by Lukas
Are you getting the most out of your Postgres database? What features could you leverage to improve your Python project? This week on the show, Craig ...
Constructing Python Library APIs & Tackling Jinja Templating
14 Jul 2023
Contributed by Lukas
What principles should you consider when designing a Python library? How do you construct a library API that's understandable and easy to use? This we...
Python Crash Course & Learning Enough to Start Creating
07 Jul 2023
Contributed by Lukas
How much Python do you need to learn to start creating projects? What's a good balance of information and hands-on practice? This week on the show, Er...
Exploring the Zen of Python & pandas Features for Finance
30 Jun 2023
Contributed by Lukas
What advice can you extract from the Zen of Python? How can these nineteen guiding principles help you write more idiomatic Python? This week on the s...
Resources and Advice for Building CircuitPython Projects
23 Jun 2023
Contributed by Lukas
Are you looking to advance your CircuitPython projects? Would you like a collection of resources and tools to help you along your path? This week on t...
Inheriting a Large Python Code Base & Building a GUI With Kivy
16 Jun 2023
Contributed by Lukas
What are the unique challenges of a large Python code base? What techniques can you implement to simplify the management of a big project? This week o...
Volunteering, Organizing, and Finding a Python Community
09 Jun 2023
Contributed by Lukas
Have you thought about getting more involved in the Python community? Are you interested in volunteering for an event or becoming an organizer? This w...
Building Python CI With Docker & Applying for a Hacker Initiative Grant
02 Jun 2023
Contributed by Lukas
Do you need a refresher on using Docker with Python? Would you like to learn how to configure a continuous integration pipeline with modern tools and ...
Discussing Mojo & Improving Python Object-Oriented Programming
26 May 2023
Contributed by Lukas
Would you like to speed up your Python machine-learning code dramatically? What if you only had to change a few keywords and add a couple of type hint...
Virtual Environment Structure & Surveying the Packaging Ecosystem
12 May 2023
Contributed by Lukas
How do Python virtual environments work under the hood? How does understanding these concepts help you with managing them for your projects? This week...
Checking Project Dependencies & Python Dev Resource Collections
05 May 2023
Contributed by Lukas
How can you ensure that you've appropriately declared your project's required dependencies? How do you determine what dependencies are missing from a ...
Targeting WebAssembly Platforms & Distilling a Minimum Viable Python
28 Apr 2023
Contributed by Lukas
Are you familiar with the different versions of WebAssembly? Could WASM be the "write once, run everywhere" solution that developers have searched for...
Seeking Faster Text Processing & Python's .__repr__() vs .__str__()
14 Apr 2023
Contributed by Lukas
What can you do if your text manipulation in Python is slowing you down? Are there faster alternatives using a compiled extension? This week on the sh...
Automate Processes and Distribute Python Tools With RPA and RCC
07 Apr 2023
Contributed by Lukas
Are you exploring automation of your repetitive business tasks with Python? How are you going to share your helpful tools with co-workers? This week o...
Evaluating Python Packages & Celebrating 20 Years of PyCon US
31 Mar 2023
Contributed by Lukas
Have you ever installed a Python package without knowing anything about it? What best practices should you employ to ensure the quality of your next p...
Lessons Learned From Four Years Programming With Python
24 Mar 2023
Contributed by Lukas
What are the core lessons you've learned along your Python development journey? What are key takeaways you would share with new users of the language?...
Coding With namedtuple & Python's Dynamic Superpowers
17 Mar 2023
Contributed by Lukas
Have you explored Python's collections module? Within it, you'll find a powerful factory function called namedtuple(), which provides multiple enhance...
Sharing Your Python App Across Platforms With BeeWare
10 Mar 2023
Contributed by Lukas
Are you interested in deploying your Python project everywhere? This week on the show, Russell Keith-Magee, founder and maintainer of the BeeWare proj...
Django Deployment Strategies & Preparing for PyCascades 2023
03 Mar 2023
Contributed by Lukas
Have you decided how you're going to deploy your Django project? Should you use a VPS or a PaaS? Christopher Trudeau is back this week, bringing anoth...
Using NumPy and Linear Algebra for Faster Python Code
24 Feb 2023
Contributed by Lukas
Are you still using loops and lists to process your data in Python? Have you heard of a Python library with optimized data structures and built-in ope...
Creating a Python Wordle Clone & Testing Environments With Nox
17 Feb 2023
Contributed by Lukas
Would you like to practice your Python skills while building a challenging word game? Have you been wanting to learn more about creating command-line ...
Wrangling Business Process Models With Python and SpiffWorkflow
10 Feb 2023
Contributed by Lukas
Can you describe your business processes with flowcharts? What if you could define the steps in a standard notation and implement the workflows in pur...
Create Interactive Maps & Geospatial Data Visualizations With Python
03 Feb 2023
Contributed by Lukas
Would you like to quickly add data to a map with Python? Have you wanted to create beautiful interactive maps and export them as a stand-alone static ...
Orchestrating Large and Small Projects With Apache Airflow
27 Jan 2023
Contributed by Lukas
Have you worked on a project that needed an orchestration tool? How do you define the workflow of an entire data pipeline or a messaging system with P...
Exploring Python With bpython & Formalizing f-String Grammar
20 Jan 2023
Contributed by Lukas
Have you used the Python Read-Eval-Print Loop (REPL) to explore the language and learn about how it operates? Would it help if it provided syntax high...
Speeding Up Your DataFrames With Polars
13 Jan 2023
Contributed by Lukas
How can you get more performance from your existing data science infrastructure? What if a DataFrame library could take advantage of your machine's av...
Surveying Comprehension Constructs & Python Parallelism Infighting
06 Jan 2023
Contributed by Lukas
Have you embraced the use of comprehensions in your Python journey? Are you familiar with all the varieties of comprehension constructs? This week on ...
2022 Real Python Tutorial & Video Course Wrap Up
23 Dec 2022
Contributed by Lukas
It's been another year of changes at Real Python! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python ma...
Start Using a Build System & Continuous Integration in Python
16 Dec 2022
Contributed by Lukas
What advantages can a build system provide for a Python developer? What new skills are required when working with a team of developers? This week on t...
Package Python Code With pyproject.toml & Listing Files With pathlib
09 Dec 2022
Contributed by Lukas
How do you start packaging your code with pyproject.toml? Would you like to join a conversation that gently walks you through setting up your Python p...
Preparing Data to Measure True Machine Learning Model Performance
02 Dec 2022
Contributed by Lukas
How do you prepare a dataset for machine learning (ML)? How do you go beyond cleaning the data and move toward measuring how the model performs? This ...
Building Python REST APIs With Flask & Structuring Pull Requests
25 Nov 2022
Contributed by Lukas
How do you build a REST API using the Flask web framework? How can you quickly add endpoints while automatically generating documentation? This week o...
Moving Projects Away From Passwords With WebAuthn and Python
18 Nov 2022
Contributed by Lukas
What if you didn't have to worry about managing user passwords as a Python developer? That's where the WebAuthn protocol and new hardware standards ar...
Creating Tic-Tac-Toe With an AI Player & Shortcuts for Python Decorators
11 Nov 2022
Contributed by Lukas
How do you create a computer opponent for a simple game within Python? Would you also like to learn how to adapt the game to run in a web browser or g...
Exploring the New Features of Python 3.11
04 Nov 2022
Contributed by Lukas
Python 3.11 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to talk about the new version. Geir Arne wrote a series of p...
Fostering an Internal Python Community & Managing the 3.11 Release
21 Oct 2022
Contributed by Lukas
Does your company have a plan for growing an internal Python community? What are the attributes to look for when bringing someone into your department...
Using an Ellipsis in Python & Goals for CPython 3.12
14 Oct 2022
Contributed by Lukas
Where should you use an ellipsis in Python? How does it behave as a placeholder in a script, project, or stub file? What are the next goals for the Fa...
Using a Memory Profiler in Python & What It Can Teach You
07 Oct 2022
Contributed by Lukas
Have you used a memory profiler to gauge the performance of your Python application? Maybe you're using it to troubleshoot memory issues when loading ...
Explaining Access Control Using Python & Cautiously Handling Pickles
30 Sep 2022
Contributed by Lukas
Have you ever used code to help explain a topic? How can Python scripts be used to understand the intricacies of access control? This week on the show...
Python as an Efficiency Tool for Non-Developers
23 Sep 2022
Contributed by Lukas
Are you interested in using Python in an industry outside of software development? Would adding a few custom software tools increase efficiency and ma...
Improve Matplotlib With Style Sheets & Python Async for the Web
16 Sep 2022
Contributed by Lukas
Have you thought the standard output from Matplotlib is a bit generic looking? Would you like a quick way to add style and consistency to your data vi...
Exploring Recursion in Python With Al Sweigart
09 Sep 2022
Contributed by Lukas
Have you wanted to understand recursion and how to use it in Python? Are you familiar with the call stack and how it relates to tracebacks? This week ...
Creating a Python Code Completer & More Abstract Syntax Tree Projects
02 Sep 2022
Contributed by Lukas
How does a code completion tool work? What is an Abstract Syntax Tree, and how is it created in Python? How does an AST help you write programs and pr...
Configuring a Coding Environment on Windows & Using TOML With Python
19 Aug 2022
Contributed by Lukas
Have you attempted to set up a Python development environment on Windows before? Would it be helpful to have an easy-to-follow guide to get you starte...
Moving NLP Forward With Transformer Models and Attention
12 Aug 2022
Contributed by Lukas
What's the big breakthrough for Natural Language Processing (NLP) that has dramatically advanced machine learning into deep learning? What makes these...
Inspiring Young People to Learn Python With Mission Encodeable
05 Aug 2022
Contributed by Lukas
Is there someone in your life you'd like to inspire to learn Python? Mission Encodeable is a website designed to teach people to code, built by two hi...
Natural Language Processing and How ML Models Understand Text
29 Jul 2022
Contributed by Lukas
How do you process and classify text documents in Python? What are the fundamental techniques and building blocks for Natural Language Processing (NLP...
Creating Documentation With MkDocs & When to Use a Python dict
22 Jul 2022
Contributed by Lukas
How do you start building your project documentation? What if you had a tool that could do the heavy lifting and automatically write large portions di...
Measuring Python Code Quality, Simplicity, and Maintainability
15 Jul 2022
Contributed by Lukas
How maintainable is your Python code? Is it possible to hold the code for your functions in your head? When is it appropriate to use measurements in a...
Exploring Functional Programming in Python With Bruce Eckel
01 Jul 2022
Contributed by Lukas
Would you like to explore the functional programming side of Python? What are the advantages of this approach, and what tools are built into the langu...
Digging Into PyScript & Preventing or Handling Python Errors
24 Jun 2022
Contributed by Lukas
Have you heard about PyScript? The brand-new framework has the community excited about building interactive Python applications that run entirely with...
Getting Started in Python Cybersecurity and Forensics
17 Jun 2022
Contributed by Lukas
Are you interested in a career in security using Python? Would you like to stay ahead of potential vulnerabilities in your Python applications? This w...
Build Streamlit Data Science Dashboards & Verbose Regex f-Strings
10 Jun 2022
Contributed by Lukas
Would you like a fast way to share your data science project results as an interactive dashboard instead of a Jupyter notebook? Streamlit is a library...
Managing Large Python Data Science Projects With Dask
03 Jun 2022
Contributed by Lukas
What do you do when your data science project doesn't fit within your computer's memory? One solution is to distribute it across multiple worker machi...
Questions for New Dependencies & Comparing Python Game Libraries
27 May 2022
Contributed by Lukas
What are the differences between the various Python game frameworks? Would it help to see a couple of game examples across several libraries to unders...
Advantages of Protobuf for Serialization in Python
20 May 2022
Contributed by Lukas
Would you like a way to send structured serialized data between different platforms and languages? What if the data was self-documenting, could automa...
Start Testing Your Python with doctest & Pagination in Django
13 May 2022
Contributed by Lukas
Did you know you can add testing to your Python code while simultaneously documenting it? Using docstrings, you can create examples of how your functi...
Run Python in a Browser With Pyodide & The Power of f-Strings
06 May 2022
Contributed by Lukas
Have you heard about the projects working toward getting Python to run in the browser? Maybe you would like to try it out for yourself, by building an...
Type-Safe ORM With Prisma Client & Real Python at PyCon US 2022
22 Apr 2022
Contributed by Lukas
Are you using an Object-Relational Mapper (ORM) for your Python projects? What if it could work with SQL or No-SQL databases and be fully type-safe? T...
Class Constructors & Pythonic Image Processing
15 Apr 2022
Contributed by Lukas
Do you know the difference between creating a class instance and initializing it? Would you like an interactive tour of the Python Pillow library? Thi...
Creating Better Error Messages for Python 3.10 & 3.11
08 Apr 2022
Contributed by Lukas
What goes into creating those enhanced error messages in the latest versions of Python? How does the new PEG parser help to pinpoint where errors have...
Building a Hash Table in Python and Thoughtful REST API Design
01 Apr 2022
Contributed by Lukas
Do you understand how a hash table works? What if you could learn about building one while practicing test-driven development? What are best practices...
Becoming More Effective at Manipulating Data With Pandas
25 Mar 2022
Contributed by Lukas
Do you wonder if you're taking the right approach when shaping data in pandas? Is your Jupyter workflow getting out of hand? This week on the show, Ma...
Making Your Notebook Interactive and Using Python's Assert
18 Mar 2022
Contributed by Lukas
Would you like to build visualizations that allow your audience to play with data? How do you effectively use Python's assert statement during develop...
Tools for Setting Up Python on a New Machine
11 Mar 2022
Contributed by Lukas
There are many ways to get Python installed on your computer. If you were going to start fresh, what tools would you use? What if you need to manage m...
Defining Optional Arguments and Moving Beyond "Beginner" Python
04 Mar 2022
Contributed by Lukas
How do you define Python functions that accept optional arguments or default values? Are you wondering how to go beyond being a beginner with Python? ...
OAuth 2 and Authentication Choices for Your Python Project
25 Feb 2022
Contributed by Lukas
Have you thought about what authentication system you want to use for your Python project? Should you use an existing Python library or a third-party ...
Drawing Fractals With Python and Working With a Weather API
18 Feb 2022
Contributed by Lukas
Have you been wanting to explore fractals and complex numbers in Python? Would you like to practice working with APIs in Python through a new project?...
Improving Your Django and Python Developer Experience
11 Feb 2022
Contributed by Lukas
How often have you thought about your Developer Experience (DX)? How do you improve your workflow, find documentation, and simplify code formatting? T...
Manipulating and Analyzing Audio in Python
04 Feb 2022
Contributed by Lukas
Would you like to experiment with analyzing or manipulating audio with Python? This week on the show, we have Braden Riggs from DolbyIO to discuss ext...
What Is a JIT and How Can Pyjion Speed Up Your Python?
28 Jan 2022
Contributed by Lukas
How can you can speed up Python? Have you thought of using a JIT (Just-In-Time Compiler)? This week on the show, we have Real Python author and previo...
Designing for Users and Building a Social Network With Django
21 Jan 2022
Contributed by Lukas
Are you looking for a project to practice your Django skills? Designing the fundamental interactions of a social network is an instructive way to expl...
Launching Python, Virtual Environments, and Locking Dependencies With Brett Cannon
14 Jan 2022
Contributed by Lukas
Would you like a simple command to launch your Python programs using the newest version of the language installed on your machine? This week on the sh...
Continuing to Unravel Python's Syntactic Sugar With Brett Cannon
07 Jan 2022
Contributed by Lukas
A year ago, we had Brett Cannon on the show to discuss his blog series about unravelling Python's syntactic sugar. Brett has written 15 more entries i...
2021 Real Python Articles Wrap Up
24 Dec 2021
Contributed by Lukas
It's been a year of change at Real Python! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles ...
A Python Journey: Cyber Security, Automating AWS, and TDD
17 Dec 2021
Contributed by Lukas
The Python community continually grows, with many users coming from different languages and backgrounds. This week on the show, we talk with developer...