Christopher Bailey is the creator and host of the Real Python podcast. He has edited every episode and booked every guest for the show. He also manages the video course pipeline, coordinating with the video course creators and our in house editor.
He’s a constant learner and eager to share his knowledge. Christopher has a decade of in classroom teaching experience and more as a consultant to small businesses. He is a programmer and data analyst, working in banking, marketing and environmental science. Christopher lives in Colorado with his wife and two dogs.
Courses by Christopher:
- Python Basics: Strings and String Methods
- Python Basics: Code Your First Python Program
- Arduino With Python: Getting Started
- Make a 2D Side-Scroller Game With PyGame
- Python Modules and Packages: An Introduction
- Cool New Features in Python 3.8
- Python Type Checking
- Strings and Character Data in Python
- Lists and Tuples in Python
- Interactive Data Visualization With Bokeh and Python
- Python Decorators 101
- Making HTTP Requests With Python
- Python 3's F-Strings: An Improved String Formatting Syntax
Tutorials Contributed to by Christopher:
Courses Contributed to by Christopher:
- Starting With DuckDB and Python
- Exploring Python's list Data Type With Examples
- Python Continuous Integration and Deployment Using GitHub Actions
- Execute Your Python Scripts With a Shebang
- The LEGB Rule & Understanding Python Scope
- First Steps With LangChain
- Working With Missing Data in Polars
- Using the Python subprocess Module
- Thread Safety in Python: Locks and Other Techniques
- MySQL Databases and Python
- Creating a Python Dice Roll Application
- Checking for Membership Using Python's "in" and "not in" Operators
- Building a Code Image Generator With Python
- What Can You Do With Python?
- Using Structural Pattern Matching in Python
- Getting to Know Duck Typing in Python
- Working With Python Polars
- Single and Double Underscore Naming Conventions in Python
- Concatenating Strings in Python Efficiently
- Building a Python Command-Line To-Do App With Typer
- NumPy Techniques and Practical Examples
- Creating a Scalable Flask Web Application From Scratch
- Exploring Python's tuple Data Type With Examples
- Building Dictionary Comprehensions in Python
- Ways to Start Interacting With Python
- Building HTTP APIs With Django REST Framework
- Programming Sockets in Python
- Documenting Python Projects With Sphinx and Read the Docs
- Handling or Preventing Errors in Python: LBYL vs EAFP
- Managing Dependencies With Python Poetry
- Working With TOML and Python
- Formatting Floats Inside Python F-Strings
- Introduction to Web Scraping With Python
- Python's Magic Methods in Classes
- Understanding Python's Global Interpreter Lock (GIL)
- Using Type Hints for Multiple Return Types in Python
- What's New in Python 3.13
- Differences Between Python's Mutable and Immutable Types
- Advanced Python import Techniques
- Customizing VS Code Through Color Themes
- When to Use .__repr__() vs .__str__() in Python
- Using Pydantic to Simplify Python Data Validation
- Using Astropy for Astronomy With Python
- Exploring Astrophysics in Python With pandas and Matplotlib
- Sorting Dictionaries in Python: Keys, Values, and More
- Interacting With REST APIs and Python
- Simulate a Text File in Python
- pandas GroupBy: Grouping Real World Data in Python
- Exercises Course: Introduction to Web Scraping With Python
- Customize VS Code Settings
- Defining Python Constants for Code Maintainability
- Build a GUI Calculator With PyQt and Python
- Rounding Numbers in Python
- Listing All Files in a Directory With Python
- Python Interfaces: Object-Oriented Design Principles
- Efficient Iterations With Python Iterators and Iterables
- Building a Python GUI Application With Tkinter
- HTML and CSS Foundations for Python Developers
- Flattening a List of Lists in Python
- Working With Global Variables in Python Functions
- Python Basics Exercises: Scopes
- Using raise for Effective Exceptions
- Generating QR Codes With Python
- Python Deep Learning: PyTorch vs Tensorflow
- Finding Python Easter Eggs
- SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files
- Python Basics Exercises: Dictionaries
- Creating Asynchronous Tasks With Celery and Django
- Python Basics Exercises: Installing Packages With pip
- Unleashing the Power of the Console With Rich
- Create Conway's Game of Life With Python
- Python Basics Exercises: Lists and Tuples
- Building Enumerations With Python's enum
- Python Basics: Lists and Tuples
- Create a Tic-Tac-Toe Python Game Engine With an AI Player
- Python Basics Exercises: Functions and Loops
- HTTP Requests With Python's urllib.request
- Python Basics Exercises: Reading and Writing Files
- Python Basics Exercises: Strings and String Methods
- How to Get the Current Time in Python
- Advent of Code: Solving Puzzles With Python
- Python Basics Exercises: Modules and Packages
- Python Basics: Modules and Packages
- Python Basics Exercises: Numbers and Math
- Using the bpython Enhanced REPL
- Python Basics Exercises: Building Systems With Classes
- Python Basics Exercises: Object-Oriented Programming
- Using Python's min() and max()
- What's New in Python 3.12
- Python Basics Exercises: Conditional Logic and Control Flow
- Design and Guidance: Object-Oriented Programming in Python
- Inheritance and Internals: Object-Oriented Programming in Python
- Class Concepts: Object-Oriented Programming in Python
- Create a Python Wordle Clone With Rich
- Replacing a String in Python
- Process Images Using the Pillow Library and Python
- What Does if __name__ == "__main__" Mean in Python?
- Reversing Strings in Python
- Creating Web Maps From Your Data With Python Folium
- Filtering Iterables With Python
- Jinja Templating
- Recursion in Python
- Python Basics: Reading and Writing Files
- Mazes in Python: Build, Visualize, Store, and Solve
- Getting the First Match From a Python List or Iterable
- Using k-Nearest Neighbors (kNN) in Python
- Metaclasses in Python
- Getting the Most Out of the Python Standard REPL
- Publishing Python Packages to PyPI
- Using Python's assert to Debug and Test Your Code
- Python Basics: Installing Packages With pip
- Using OrderedDict in Python
- Check if a Python String Contains a Substring
- YAML: Python's Missing Battery
- Summing Values the Pythonic Way With sum()
- Manipulating ZIP Files With Python
- Writing Clean, Pythonic Code With namedtuple
- Using the Terminal on Windows
- Getters and Setters in Python
- Python Basics: Building Systems With Classes
- Using the Terminal on Linux
- Python Basics: Object-Oriented Programming
- Python Basics Exercises: File System Operations
- Using the Terminal on macOS
- Build Cross-Platform GUI Apps With Kivy
- Python Basics: File System Operations
- Context Managers and Using Python's with Statement
- Python Basics: Dictionaries
- Using Python's pathlib Module
- Everyday Project Packaging With pyproject.toml
- Deploy a Django App With Gunicorn and Nginx
- Refactoring: Prepare Your Code to Get Help
- Python Basics: Scopes
- Cool New Features in Python 3.11
- Python Basics: Numbers and Math
- Using Multiple Constructors in Your Python Classes
- Sneaky REST APIs With Django Ninja
- Building Python Project Documentation With MkDocs
- Python Basics: Conditional Logic and Control Flow
- Building Command Line Interfaces With argparse
- Python Basics: Functions and Loops
- Building a URL Shortener With FastAPI and Python
- Caching in Python With lru_cache
- Exploring Special Function Parameters
- Python Basics: Finding and Fixing Code Bugs
- Managing Attributes With Python's property()
- Using the Python not Operator
- Using the Python and Operator
- Building a Site Connectivity Checker
- Python mmap: Doing File I/O With Memory Mapping
- Combining Data in pandas With concat() and merge()
- Write and Test a Python Function: Interview Practice
- Data Cleaning With pandas and NumPy
- Exploring Scopes and Closures in Python
- Using Python Class Constructors
- Testing Your Code With pytest
- Building a Django User Management System
- Exploring Keywords in Python
- Python REST APIs With FastAPI
- Using Python's datetime Module
- Sorting Data in Python With pandas
- Counting With Python's Counter
- Exploring the Fibonacci Sequence With Python
- Starting With Linear Regression in Python
- Python any(): Powered Up Boolean Function
- Defining Python Functions With Optional Arguments
- Python's len() Function
- Looping With Python enumerate()
- Starting With Python IDLE
- Working With Pipenv
- Deploy Your Python Script on the Web With Flask
- Raising and Handling Python Exceptions
- Host Your Django Project on Heroku
- Binary, Bytes, and Bitwise Operators in Python
- Data Visualization Interfaces in Python With Dash
- Building a Neural Network & Making Predictions With Python AI
- Building Lists With Python's .append()
- Using plt.scatter() to Visualize Data in Python
- Reading Input and Writing Output in Python
- Writing Idiomatic Python
- Python Assignment Expressions and Using the Walrus Operator
- Using Pygame to Build an Asteroids Game in Python
- Cool New Features in Python 3.10
- Rock, Paper, Scissors With Python: A Command Line Game
- Pass by Reference in Python: Best Practices
- Using Data Classes in Python
- Graph Your Data With Python and ggplot
- Splitting Datasets With scikit-learn and train_test_split()
- Exploring the Python math Module
- Reading and Writing Files With pandas
- Using the Python return Statement Effectively
- Using sleep() to Code a Python Uptime Bot
- The pandas DataFrame: Working With Data Efficiently
- Speech Recognition With Python
- The Square Root Function in Python
- Defining and Calling Python Functions
- Python Inner Functions
- Python vs JavaScript for Python Developers
- Using pandas to Make a Gradebook in Python
- Python Basics: Setting Up Python
- Explore Your Dataset With pandas
- How to Set Up a Django Project
- Using the Python or Operator
- Stacks and Queues: Selecting the Ideal Data Structure
- Simplify Python GUI Development With PySimpleGUI
- Python's map() Function: Transforming Iterables
- Learn Text Classification With Python and Keras
- Start Managing Multiple Python Versions With pyenv
- Python vs Java: Object Oriented Programming
- Understanding Python List Comprehensions
- Records and Sets: Selecting the Ideal Data Structure
- Python Booleans: Leveraging the Values of Truth
- Django View Authorization: Restricting Access
- Navigating Namespaces and Scope in Python
- Dictionaries and Arrays: Selecting the Ideal Data Structure
- Creating PyQt Layouts for GUI Applications
- Python Modulo: Using the % Operator
- Plot With pandas: Python Data Visualization Basics
- Evaluate Expressions Dynamically With Python eval()
- Introduction to Sorting Algorithms in Python
- Django Admin Customization
- Serializing Objects With the Python pickle Module
- Python Turtle for Beginners
- Speed Up Python With Concurrency
- How Python Manages Memory
- Formatting Python Strings
- Regular Expressions and Building Regexes in Python
- Handling Missing Keys With the Python defaultdict Type
- Simulating Real-World Processes in Python With SimPy
- Creating a Binary Search in Python
- Getting Started With MicroPython
- Web Scraping With Beautiful Soup and Python
- Cool New Features in Python 3.9
- Using Google Login With Flask
- Working With Linked Lists in Python
- Command Line Interfaces in Python
- Exploring HTTPS and Cryptography in Python
- Editing Excel Spreadsheets in Python With openpyxl
- Django Redirects
- Identify Invalid Python Syntax
- Practical Recipes for Working With Files in Python
- Python's None: Null in Python
- Mastering Python's Built-in time Module
- Grow Your Python Portfolio With 13 Intermediate Project Ideas
- Pointers and Objects in Python
- Unicode in Python: Working With Character Encodings
- Creating a Discord Bot in Python
- Python Generators 101
- Getting the Most Out of a Python Traceback
- Parallel Iteration With Python's zip() Function
- A Beginner's Guide to pip
- Convert a Python String to int
- Improve Your Tests With the Python Mock Object Library
- The Python print() Function: Go Beyond the Basics
- Structuring a Python Application
- Python Coding Interviews: Tips & Best Practices
- Inheritance and Composition: A Python OOP Guide
- Comparing Python Objects the Right Way: "is" vs "=="
- Using NumPy's np.arange() Effectively
- Defining Main Functions in Python
- Implementing a Stack in Python
- How to Work With a PDF in Python
- Playing and Recording Sound in Python
- Using Sets in Python
- Exploring Basic Data Types in Python
- Supercharge Your Classes With Python super()
- Python args and kwargs: Demystified
Podcast Episodes Featuring Christopher:
- The Real Python Podcast – Episode #254: Scaling Python Web Applications With Kubernetes and Karpenter
- The Real Python Podcast – Episode #253: Starting With marimo Notebooks & Python App Config Management
- The Real Python Podcast – Episode #252: Rodrigo Girão Serrão: Python Training, itertools, and Idioms
- The Real Python Podcast – Episode #251: Python Thread Safety & Managing Projects With uv
- The Real Python Podcast – Episode #250: DjangoCon Europe 2025: Live Recording From Dublin
- The Real Python Podcast – Episode #249: Going Beyond requirements.txt With pylock.toml and PEP 751
- The Real Python Podcast – Episode #248: Experiments With Gen AI, Knowledge Graphs, Workflows, and Python
- The Real Python Podcast – Episode #247: Exploring DuckDB & Comparing Python Expressions vs Statements
- The Real Python Podcast – Episode #246: Learning Intermediate Python With a Deep Dive Course
- The Real Python Podcast – Episode #245: GUIs & TUIs: Choosing a User Interface for Your Python Project
- The Real Python Podcast – Episode #244: A Decade of Automating the Boring Stuff With Python
- The Real Python Podcast – Episode #243: Manage Projects With pyproject.toml & Explore Polars LazyFrames
- The Real Python Podcast – Episode #242: Eric Matthes: Maybe Don't Start With Unit Tests
- The Real Python Podcast – Episode #241: Deciphering Python Jargon & Compiling Python 1.0
- The Real Python Podcast – Episode #240: Telling Effective Stories With Your Python Visualizations
- The Real Python Podcast – Episode #239: Behavior-Driven vs Test-Driven Development & Using Regex in Python
- The Real Python Podcast – Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv
- The Real Python Podcast – Episode #237: Testing Your Python Code Base: Unit vs. Integration
- The Real Python Podcast – Episode #236: Simon Willison: Using LLMs for Python Development
- The Real Python Podcast – Episode #235: Principles for Considering Your Python Tooling
- The Real Python Podcast – Episode #234: Building New Structures for Learning Python
- The Real Python Podcast – Episode #233: PyCoder's Weekly 2024 Top Articles & Missing Gems
- The Real Python Podcast – Episode #232: Exploring Modern Sentiment Analysis Approaches in Python
- The Real Python Podcast – Episode #231: Good Python Programming Practices When New to the Language
- The Real Python Podcast – Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python
- The Real Python Podcast – Episode #229: The Joy of Tinkering & Python Free-Threading Performance
- The Real Python Podcast – Episode #228: Maintaining the Foundations of Python & Cautionary Tales
- The Real Python Podcast – Episode #227: New PEPs: Template Strings & External Wheel Hosting
- The Real Python Podcast – Episode #226: PySheets: Spreadsheets in the Browser Using PyScript
- The Real Python Podcast – Episode #225: Python Getting Faster and Leaner & Ideas for Django Projects
- The Real Python Podcast – Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries
- The Real Python Podcast – Episode #223: Exploring the New Features of Python 3.13
- The Real Python Podcast – Episode #222: Using Virtual Environments in Docker & Comparing Python Dev Tools
- The Real Python Podcast – Episode #221: Thriving as a Developer With ADHD
- The Real Python Podcast – Episode #220: Configuring Git Pre-Commit Hooks & Estimating Software Projects
- The Real Python Podcast – Episode #219: Astrophysics and Astronomy With Python & PyCon Africa 2024
- The Real Python Podcast – Episode #218: Exploring Robotics and Python Through Electronic Projects
- The Real Python Podcast – Episode #217: Packaging Data Analyses & Using pandas GroupBy
- The Real Python Podcast – Episode #216: Learning Through Building the Black Python Devs Community
- The Real Python Podcast – Episode #215: Using GraphQL in Django With Strawberry & Prototype Purgatory
- The Real Python Podcast – Episode #214: Build Captivating Display Tables in Python With Great Tables
- The Real Python Podcast – Episode #213: Constraint Programming & Exploring Python's Built-in Functions
- The Real Python Podcast – Episode #212: Digging Into Graph Theory in Python With David Amos
- The Real Python Podcast – Episode #211: Python Doesn't Round Numbers the Way You Might Think
- The Real Python Podcast – Episode #210: Creating a Guitar Synthesizer & Generating WAV Files With Python
- The Real Python Podcast – Episode #209: Python's Command-Line Utilities & Music Information Retrieval Tools
- The Real Python Podcast – Episode #208: Detecting Outliers in Your Data With Python
- The Real Python Podcast – Episode #207: Decomposing Software Problems & Avoiding the Trap of Clever Code
- The Real Python Podcast – Episode #206: Building Python Unit Tests & Exploring a Data Visualization Gallery
- The Real Python Podcast – Episode #205: Considering Accessibility & Assistive Tech as a Python Developer
- The Real Python Podcast – Episode #204: Querying OpenStreetMaps via API & Lazy Evaluation in Python
- The Real Python Podcast – Episode #203: Embarking on a Relaxed and Friendly Python Coding Journey
- The Real Python Podcast – Episode #202: Pydantic Data Validation & Python Web Security Practices
- The Real Python Podcast – Episode #201: Decoupling Systems to Get Closer to the Data
- The Real Python Podcast – Episode #200: Avoiding Error Culture and Getting Help Inside Python
- The Real Python Podcast – Episode #199: Leveraging Documents and Data to Create a Custom LLM Chatbot
- The Real Python Podcast – Episode #198: Build a Video Game With Python Turtle & Visualize Data in Seaborn
- The Real Python Podcast – Episode #197: Using Python in Bioinformatics and the Laboratory
- The Real Python Podcast – Episode #196: Exploring Duck Typing in Python & Dynamics of Monkey Patching
- The Real Python Podcast – Episode #195: Building a Healthy Developer Mindset While Learning Python
- The Real Python Podcast – Episode #194: Automate Tasks With Python & Building a Small Search Engine
- The Real Python Podcast – Episode #193: Wes McKinney on Improving the Data Stack & Composable Systems
- The Real Python Podcast – Episode #192: Practical Python Decorator Uses & Avoiding datetime Pitfalls
- The Real Python Podcast – Episode #191: Focusing on Data Science & Less on Engineering and Dependencies
- The Real Python Podcast – Episode #190: Great Starting Points for Contributing to Open Source
- The Real Python Podcast – Episode #189: Building a Python Debugger & Preparing for NumPy 2.0
- The Real Python Podcast – Episode #188: Measuring Bias, Toxicity, and Truthfulness in LLMs With Python
- The Real Python Podcast – Episode #187: Serializing Data With Python & Underscore Naming Conventions
- The Real Python Podcast – Episode #186: Exploring Python in Excel
- The Real Python Podcast – Episode #185: 2023 Real Python Tutorial & Video Course Wrap-Up
- The Real Python Podcast – Episode #184: PyCoder's Weekly 2023 Wrap Up
- The Real Python Podcast – Episode #183: Exploring Code Reviews in Python and Automating the Process
- The Real Python Podcast – Episode #182: Building a Python JSON Parser & Discussing Ideas for PEPs
- The Real Python Podcast – Episode #181: Computational Thinking & Learning Python During an AI Revolution
- The Real Python Podcast – Episode #180: Studying Python Software Architecture & Creating Lambda Expressions
- The Real Python Podcast – Episode #179: Improving Your Git Developer Experience in Python
- The Real Python Podcast – Episode #178: Guiding Scientific Python Library Development
- The Real Python Podcast – Episode #177: Welcoming PyPI's Safety & Security Engineer Mike Fiedler
- The Real Python Podcast – Episode #176: Building Python Best Practices and Fundamental Skills
- The Real Python Podcast – Episode #175: Exploring the New Features of Python 3.12
- The Real Python Podcast – Episode #174: Considering ChatGPT's Technical Review of a Programming Book
- The Real Python Podcast – Episode #173: Getting Involved in Open Source & Generating QR Codes With Python
- The Real Python Podcast – Episode #172: Measuring Multiple Facets of Python Performance With Scalene
- The Real Python Podcast – Episode #171: Making Each Line of Code Efficient & Python In Excel
- The Real Python Podcast – Episode #170: Finding the Right Coding Font for Programming in Python
- The Real Python Podcast – Episode #169: Improving Classification Models With XGBoost
- The Real Python Podcast – Episode #168: Common Python Stumbling Blocks & Quirky Behaviors
- The Real Python Podcast – Episode #167: Exploring pandas 2.0 & Targets for Apache Arrow
- The Real Python Podcast – Episode #166: Differentiating the Versions of Python & Unlocking IPython's Magic
- The Real Python Podcast – Episode #165: Leveraging the Features of Your Database With Postgres and Python
- The Real Python Podcast – Episode #164: Constructing Python Library APIs & Tackling Jinja Templating
- The Real Python Podcast – Episode #163: Python Crash Course & Learning Enough to Start Creating
- The Real Python Podcast – Episode #162: Exploring the Zen of Python & pandas Features for Finance
- The Real Python Podcast – Episode #161: Resources and Advice for Building CircuitPython Projects
- The Real Python Podcast – Episode #160: Inheriting a Large Python Code Base & Building a GUI With Kivy
- The Real Python Podcast – Episode #159: Volunteering, Organizing, and Finding a Python Community
- The Real Python Podcast – Episode #158: Building Python CI With Docker & Applying for a Hacker Initiative Grant
- The Real Python Podcast – Episode #157: Discussing Mojo & Improving Python Object-Oriented Programming
- The Real Python Podcast – Episode #156: Virtual Environment Structure & Surveying the Packaging Ecosystem
- The Real Python Podcast – Episode #155: Checking Project Dependencies & Python Dev Resource Collections
- The Real Python Podcast – Episode #154: Targeting WebAssembly Platforms & Distilling a Minimum Viable Python
- The Real Python Podcast – Episode #153: Seeking Faster Text Processing & Python's .__repr__() vs .__str__()
- The Real Python Podcast – Episode #152: Automate Processes and Distribute Python Tools With RPA and RCC
- The Real Python Podcast – Episode #151: Evaluating Python Packages & Celebrating 20 Years of PyCon US
- The Real Python Podcast – Episode #150: Lessons Learned From Four Years Programming With Python
- The Real Python Podcast – Episode #149: Coding With namedtuple & Python's Dynamic Superpowers
- The Real Python Podcast – Episode #148: Sharing Your Python App Across Platforms With BeeWare
- The Real Python Podcast – Episode #147: Django Deployment Strategies & Preparing for PyCascades 2023
- The Real Python Podcast – Episode #146: Using NumPy and Linear Algebra for Faster Python Code
- The Real Python Podcast – Episode #145: Creating a Python Wordle Clone & Testing Environments With Nox
- The Real Python Podcast – Episode #144: Wrangling Business Process Models With Python and SpiffWorkflow
- The Real Python Podcast – Episode #143: Create Interactive Maps & Geospatial Data Visualizations With Python
- The Real Python Podcast – Episode #142: Orchestrating Large and Small Projects With Apache Airflow
- The Real Python Podcast – Episode #141: Exploring Python With bpython & Formalizing f-String Grammar
- The Real Python Podcast – Episode #140: Speeding Up Your DataFrames With Polars
- The Real Python Podcast – Episode #139: Surveying Comprehension Constructs & Python Parallelism Infighting
- The Real Python Podcast – Episode #138: 2022 Real Python Tutorial & Video Course Wrap Up
- The Real Python Podcast – Episode #137: Start Using a Build System & Continuous Integration in Python
- The Real Python Podcast – Episode #136: Package Python Code With pyproject.toml & Listing Files With pathlib
- The Real Python Podcast – Episode #135: Preparing Data to Measure True Machine Learning Model Performance
- The Real Python Podcast – Episode #134: Building Python REST APIs With Flask & Structuring Pull Requests
- The Real Python Podcast – Episode #133: Moving Projects Away From Passwords With WebAuthn and Python
- The Real Python Podcast – Episode #132: Creating Tic-Tac-Toe With an AI Player & Shortcuts for Python Decorators
- The Real Python Podcast – Episode #131: Exploring the New Features of Python 3.11
- The Real Python Podcast – Episode #130: Fostering an Internal Python Community & Managing the 3.11 Release
- The Real Python Podcast – Episode #129: Using an Ellipsis in Python & Goals for CPython 3.12
- The Real Python Podcast – Episode #128: Using a Memory Profiler in Python & What It Can Teach You
- The Real Python Podcast – Episode #127: Explaining Access Control Using Python & Cautiously Handling Pickles
- The Real Python Podcast – Episode #126: Python as an Efficiency Tool for Non-Developers
- The Real Python Podcast – Episode #125: Improve Matplotlib With Style Sheets & Python Async for the Web
- The Real Python Podcast – Episode #124: Exploring Recursion in Python With Al Sweigart
- The Real Python Podcast – Episode #123: Creating a Python Code Completer & More Abstract Syntax Tree Projects
- The Real Python Podcast – Episode #122: Configuring a Coding Environment on Windows & Using TOML With Python
- The Real Python Podcast – Episode #121: Moving NLP Forward With Transformer Models and Attention
- The Real Python Podcast – Episode #120: Inspiring Young People to Learn Python With Mission Encodeable
- The Real Python Podcast – Episode #119: Natural Language Processing and How ML Models Understand Text
- The Real Python Podcast – Episode #118: Creating Documentation With MkDocs & When to Use a Python dict
- The Real Python Podcast – Episode #117: Measuring Python Code Quality, Simplicity, and Maintainability
- The Real Python Podcast – Episode #116: Exploring Functional Programming in Python With Bruce Eckel
- The Real Python Podcast – Episode #115: Digging Into PyScript & Preventing or Handling Python Errors
- The Real Python Podcast – Episode #114: Getting Started in Python Cybersecurity and Forensics
- The Real Python Podcast – Episode #113: Build Streamlit Data Science Dashboards & Verbose Regex f-Strings
- The Real Python Podcast – Episode #112: Managing Large Python Data Science Projects With Dask
- The Real Python Podcast – Episode #111: Questions for New Dependencies & Comparing Python Game Libraries
- The Real Python Podcast – Episode #110: Advantages of Protobuf for Serialization in Python
- The Real Python Podcast – Episode #109: Start Testing Your Python with doctest & Pagination in Django
- The Real Python Podcast – Episode #108: Run Python in a Browser With Pyodide & The Power of f-Strings
- The Real Python Podcast – Episode #107: Type-Safe ORM With Prisma Client & Real Python at PyCon US 2022
- The Real Python Podcast – Episode #106: Class Constructors & Pythonic Image Processing
- The Real Python Podcast – Episode #105: Creating Better Error Messages for Python 3.10 & 3.11
- The Real Python Podcast – Episode #104: Building a Hash Table in Python and Thoughtful REST API Design
- The Real Python Podcast – Episode #103: Becoming More Effective at Manipulating Data With Pandas
- The Real Python Podcast – Episode #102: Making Your Notebook Interactive and Using Python's Assert
- The Real Python Podcast – Episode #101: Tools for Setting Up Python on a New Machine
- The Real Python Podcast – Episode #100: Defining Optional Arguments and Moving Beyond "Beginner" Python
- The Real Python Podcast – Episode #99: OAuth 2 and Authentication Choices for Your Python Project
- The Real Python Podcast – Episode #98: Drawing Fractals With Python and Working With a Weather API
- The Real Python Podcast – Episode #97: Improving Your Django and Python Developer Experience
- The Real Python Podcast – Episode #96: Manipulating and Analyzing Audio in Python
- The Real Python Podcast – Episode #95: What Is a JIT and How Can Pyjion Speed Up Your Python?
- The Real Python Podcast – Episode #94: Designing for Users and Building a Social Network With Django
- The Real Python Podcast – Episode #93: Launching Python, Virtual Environments, and Locking Dependencies With Brett Cannon
- The Real Python Podcast – Episode #92: Continuing to Unravel Python's Syntactic Sugar With Brett Cannon
- The Real Python Podcast – Episode #91: 2021 Real Python Articles Wrap Up
- The Real Python Podcast – Episode #90: A Python Journey: Cyber Security, Automating AWS, and TDD
- The Real Python Podcast – Episode #89: Solving Advent of Code Puzzles With Python
- The Real Python Podcast – Episode #88: Discussing Type Hints, Protocols, and Ducks in Python
- The Real Python Podcast – Episode #87: Building a Content Aggregator and Working With RSS in Python
- The Real Python Podcast – Episode #86: The Legacy of OLPC and Charismatic Pitfalls in Teaching Programming
- The Real Python Podcast – Episode #85: Exploring Django Templates, Tags, and Filters
- The Real Python Podcast – Episode #84: Creating and Manipulating PDFs in Python With borb
- The Real Python Podcast – Episode #83: Ready to Publish Your Python Packages?
- The Real Python Podcast – Episode #82: Welcoming the CPython Developer in Residence
- The Real Python Podcast – Episode #81: Exploring the New Features of Python 3.10
- The Real Python Podcast – Episode #80: Make Your Python App Interactive With a Text User Interface (TUI)
- The Real Python Podcast – Episode #79: Measuring Your Python Learning Progress
- The Real Python Podcast – Episode #78: Learning Python Through Illustrated Stories
- The Real Python Podcast – Episode #77: Advantages of Completing Small Python Projects
- The Real Python Podcast – Episode #76: Harnessing Python's math Module and Exposing Practical Pandas Functions
- The Real Python Podcast – Episode #75: Building With CircuitPython & Constraints of Python for Microcontrollers
- The Real Python Podcast – Episode #74: Python's Assignment Expressions and Fixing a Botched Release to PyPI
- The Real Python Podcast – Episode #73: Supporting Python Open Source Projects and Maintainers
- The Real Python Podcast – Episode #72: Starting With FastAPI and Examining Python's Import System
- The Real Python Podcast – Episode #71: Start Using a Debugger With Your Python Code
- The Real Python Podcast – Episode #70: What Can You Do With Python and Counting Objects Using "Counter"
- The Real Python Podcast – Episode #69: Planning a Faster Future at the Python Language Summit
- The Real Python Podcast – Episode #68: Exploring the functools Module and Complex Numbers in Python
- The Real Python Podcast – Episode #67: Securing Your Python Software Supply Chain With Dustin Ingram
- The Real Python Podcast – Episode #66: Practicing Python With CSV Files and Extracting Values With "filter()"
- The Real Python Podcast – Episode #65: Expanding the International Python Community With the PSF
- The Real Python Podcast – Episode #64: Detecting Deforestation With Python & Using GraphQL With Django and Vue
- The Real Python Podcast – Episode #63: Create Web Applications Using Only Python With Anvil
- The Real Python Podcast – Episode #62: Selecting the Ideal Data Structure & Unravelling Python's "pass" and "with"
- The Real Python Podcast – Episode #61: Scaling Data Science and Machine Learning Infrastructure Like Netflix
- The Real Python Podcast – Episode #60: Building a Platform Game With Arcade and Covering Python News Monthly
- The Real Python Podcast – Episode #59: Organizing and Restructuring DjangoCon Europe 2021
- The Real Python Podcast – Episode #58: Podcast Rewind With Guest Highlights for 2020-2021
- The Real Python Podcast – Episode #57: Taking the Next Step in Python Game Development
- The Real Python Podcast – Episode #56: OrderedDict vs dict and Object Oriented Programming in Python vs Java
- The Real Python Podcast – Episode #55: Getting Started With Refactoring Your Python Code
- The Real Python Podcast – Episode #54: Building a Neural Network and How to Write Tests in Python
- The Real Python Podcast – Episode #53: Improving the Learning Experience on Real Python
- The Real Python Podcast – Episode #52: Connecting to MongoDB and Updates on the Python Packaging Landscape
- The Real Python Podcast – Episode #51: Navigating Options for Deploying Your Python Application
- The Real Python Podcast – Episode #50: Consuming APIs With Python and Building Microservices With gRPC
- The Real Python Podcast – Episode #49: The Challenges of Developing Into a Python Professional
- The Real Python Podcast – Episode #48: Stochastic Gradient Descent and Deploying Your Python Scripts on the Web
- The Real Python Podcast – Episode #47: Unraveling Python's Syntax to Its Core With Brett Cannon
- The Real Python Podcast – Episode #46: C for Python Developers and Data Visualization With Dash
- The Real Python Podcast – Episode #45: Processing Images in Python With Pillow
- The Real Python Podcast – Episode #44: Creating an Interactive Online Python Conference for PyCascades 2021
- The Real Python Podcast – Episode #43: Deep Reinforcement Learning in a Notebook With Jupylet + Gaming and Synthesis
- The Real Python Podcast – Episode #42: What Is Data Engineering and Researching 10 Million Jupyter Notebooks
- The Real Python Podcast – Episode #41: 2020 Real Python Articles in Review
- The Real Python Podcast – Episode #40: How Python Manages Memory and Creating Arrays With np.linspace
- The Real Python Podcast – Episode #39: Generators, Coroutines, and Learning Python Through Exercises
- The Real Python Podcast – Episode #38: Looping With enumerate() and Python GUIs With PyQt
- The Real Python Podcast – Episode #37: Teaching Python and Finding Resources for Students
- The Real Python Podcast – Episode #36: Sentiment Analysis, Fourier Transforms, and More Python Data Science
- The Real Python Podcast – Episode #35: Security and Authorization in Your Python Web Applications
- The Real Python Podcast – Episode #34: The Python Modulo Operator & Managing Data With SQLite and SQLAlchemy
- The Real Python Podcast – Episode #33: Going Beyond the Basic Stuff With Python and Al Sweigart
- The Real Python Podcast – Episode #32: Our New "Python Basics" Book & Filling the Gaps in Your Learning Path
- The Real Python Podcast – Episode #31: Python Return Statement Best Practices and Working With the map() Function
- The Real Python Podcast – Episode #30: Exploring the New Features of Python 3.9
- The Real Python Podcast – Episode #29: Resolving Package Dependencies With the New Version of Pip
- The Real Python Podcast – Episode #28: Using Pylance to Write Better Python Inside of Visual Studio Code
- The Real Python Podcast – Episode #27: Preparing for an Interview With Python Practice Problems
- The Real Python Podcast – Episode #26: 5 Years Podcasting Python With Michael Kennedy: Growth, GIL, Async, and More
- The Real Python Podcast – Episode #25: Data Version Control in Python and Real Python Video Transcripts
- The Real Python Podcast – Episode #24: Options for Packaging Your Python Application: Wheels, Docker, and More
- The Real Python Podcast – Episode #23: Python Wheels and Pass by Reference in Python
- The Real Python Podcast – Episode #22: Create Cross-Platform Python GUI Apps With BeeWare
- The Real Python Podcast – Episode #21: Exploring K-means Clustering and Building a Gradebook With Pandas
- The Real Python Podcast – Episode #20: Building PDFs in Python with ReportLab
- The Real Python Podcast – Episode #19: Advanced Python Import Techniques and Managing Users in Django
- The Real Python Podcast – Episode #18: Ten Years of Flask: Conversation With Creator Armin Ronacher
- The Real Python Podcast – Episode #17: Linear Programming, PySimpleGUI, and More
- The Real Python Podcast – Episode #16: Thinking in Pandas: Python Data Analysis the Right Way
- The Real Python Podcast – Episode #15: Python Regular Expressions, Views vs Copies in Pandas, and More
- The Real Python Podcast – Episode #14: Going Serverless with Python
- The Real Python Podcast – Episode #13: PDFs in Python and Projects on the Raspberry Pi
- The Real Python Podcast – Episode #12: Web Scraping in Python: Tools, Techniques, and Legality
- The Real Python Podcast – Episode #11: Advice on Getting Started With Testing in Python
- The Real Python Podcast – Episode #10: Python Job Hunting in a Pandemic
- The Real Python Podcast – Episode #9: Leveling Up Your Python Literacy and Finding Python Projects to Study
- The Real Python Podcast – Episode #8: Docker + Python for Data Science and Machine Learning
- The Real Python Podcast – Episode #7: AsyncIO + Music, Origins of Black, and Managing Python Releases
- The Real Python Podcast – Episode #6: Python REST APIs and The Well-Grounded Python Developer
- The Real Python Podcast – Episode #5: Exploring CircuitPython
- The Real Python Podcast – Episode #4: Learning Python Through Errors
- The Real Python Podcast – Episode #3: Effective Python and Python at Google Scale
- The Real Python Podcast – Episode #2: Learn Python Skills While Creating Games
- The Real Python Podcast – Episode #1: Python Decorators and Writing for Real Python
- The Real Python Podcast – Episode #0: About the Show