

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.
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.
Episodes
Mentioned books

Feb 12, 2021 • 1h 33min
Unraveling Python's Syntax to Its Core With Brett Cannon
Python core developer Brett Cannon discusses unraveling Python's syntax to its core and his series of articles exploring the structure and workings of Python. He also talks about his role at Microsoft working on the Python extension for VS Code and recent Python enhancement proposals. The podcast covers topics such as syntactic sugar, Python in different environments, analyzing Python's syntax, and exploring perspectives and learning from different communities.

Feb 5, 2021 • 45min
C for Python Developers and Data Visualization With Dash
Are you interested in building interactive dashboards with Python? How about a project that takes a flat data file all the way to a web-hosted interactive dashboard? This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects.
Along with the Real Python article about data visualizations using Dash, David covers an article designed to help Python developers understand the fundamentals of C. We discuss a couple of articles about Excel and using Python with Microsoft Office.
We also cover several other articles and projects from the Python community including, out-of-memory crashes in Python, updating all packages with pip-review, data science notebooks for teams, and a command-line tool for looking up colors, shades, and palettes.
Course Spotlight: Command Line Interfaces in Python
Command line arguments are the key to converting your programs into useful and enticing tools that are ready to be used in the terminal of your operating system. In this course, you’ll learn their origins, standards, and basics, and how to implement them in your program.
Topics:
00:00:00 – Introduction
00:01:36 – CPython Internals Book
00:03:18 – C for Python Programmers
00:06:11 – Dying, Fast and Slow: Out-Of-Memory Crashes in Python
00:13:29 – Automating Excel File Creation and Distribution With Pandas And Outlook
00:18:33 – Update All Packages With pip-review
00:23:49 – Video Course Spotlight
00:25:04 – Ditching Excel for Python: Lessons Learned From a Legacy Industry
00:30:20 – Develop Data Visualization Interfaces in Python With Dash
00:38:11 – Deepnote: Data Science Notebook for Teams
00:41:25 – colorpedia: Command-Line Tool for Looking Up Colors, Shades and Palettes
00:43:45 – Thanks and goodbye
Show Links:
C for Python Programmers – In this tutorial, you’ll learn the basics of the C language, which is used in the source code for CPython, the most popular Python implementation. Learning C is important for Python programmers interested in contributing to CPython.
Dying, Fast and Slow: Out-Of-Memory Crashes in Python – Learn about the different ways that memory issues can manifest in your Python programs, and how you can debug and fix them.
Automating Excel File Creation and Distribution With Pandas And Outlook – See how a little bit of Python can go a long way to automating manual processes and save businesses valuable time.
Update All Packages With pip-review – Keeping track of Python dependencies and updates can be tricky. The pip-review tool automates a lot of this process in a convenient command-line interface.
Ditching Excel for Python: Lessons Learned From a Legacy Industry – Learn how Python is revolutionizing an industry that’s notoriously resistant to change and fraught with every programmer’s most dreaded tool: Excel spreadsheets.
Develop Data Visualization Interfaces in Python With Dash – Learn how to build a dashboard using Python and Dash. Dash is a framework for building data visualization interfaces. It helps data scientists build fully interactive web applications quickly.
Projects:
Deepnote: Data Science Notebook for Teams
colorpedia: Command-Line Tool for Looking Up Colors, Shades and Palettes
Additional Links:
CPython Internals Book: Your Guide to the Python 3 Interpreter
E27: Preparing for an Interview With Python Practice Problems - Guest Jim Anderson
E24: Options for Packaging Your Python Application: Wheels, Docker, and More - Guest Itamar Turner-Trauring
Fil: A New Python Memory Profiler for Data Scientists and Scientists
pip-review: A Tool to Keep Track of Your Python Package Updates
pip-tools: Keeps Your Pinned Dependencies Fresh
E29: Resolving Package Dependencies With the New Version of Pip
pip - The Python Package Installer
pyxll: Write Excel Add-Ins in Python
Introduction to Dash: Plotly
Dash App Gallery
Level up your Python skills with our expert-led courses:
Using Jupyter Notebooks
Command Line Interfaces in Python
Editing Excel Spreadsheets in Python With openpyxl
Support the podcast & join our community of Pythonistas

Jan 29, 2021 • 47min
Processing Images in Python With Pillow
Are you interested in processing images in Python? Do you need to load and modify images for your Flask or Django website or CMS? Then you most likely will be working with Pillow, the friendly fork of PIL, the Python imaging library. This week on the show, we have Mike Driscoll, who is writing a new book about image processing in Python.
We dive deep into the types of processing Pillow provides. Mike talks about creating Python GUI applications to take advantage of all the library has to offer. We also talk about his PyDev of the week series and his Python Interviews book.
Course Spotlight: Editing Excel Spreadsheets in Python With openpyxl
In this course, you’ll learn how to handle spreadsheets in Python using the openpyxl package. You’ll learn how to manipulate Excel spreadsheets, extract information from spreadsheets, create simple or more complex spreadsheets, including adding styles, charts, and so on.
Topics:
00:00:00 – Introduction
00:01:40 – Update on Python 101 book
00:03:17 – Pillow: Image Processing With Python
00:04:06 – Kickstarter for the book
00:05:35 – What parts of the Pillow library will the book cover?
00:07:49 – What is ImageChops?
00:09:06 – How do you currently use Pillow?
00:11:06 – What is ImageOps?
00:13:15 – Sponsor Scout APM
00:14:18 – Building a GUI interface for Pillow features
00:16:46 – Other uses for Pillow in testing
00:18:01 – Use in web frameworks and file formats
00:20:17 – What is Pillow not good at?
00:22:13 – Batch processing
00:23:12 – Exif Data and GPS information from images
00:26:57 – Creating a watermark
00:28:58 – Video Course Spotlight
00:30:15 – Writing image process methods as modules
00:33:45 – Timeline for the book release
00:35:04 – Using Pillow in a Jupyter notebook
00:38:02 – Python Interviews Book and PyDev of the Week
00:41:57 – What are you excited about in the world of Python?
00:44:41 – What do you want to learn next?
00:46:25 – Thanks and goodbye
Show Links:
Pillow: Image Processing With Python
Python 101: pythonlibrary.org
Pillow: Image Processing With Python - Kickstarter
Pillow: The Friendly Fork of the Python Imaging Library (PIL)
Image Chops (“Channel Operations”) Module
PySimpleGUI: Python GUIs for Humans
PySimpleGUI: The Simple Way to Create a GUI With Python - Real Python
wxPython: The GUI Toolkit for Python
Create an EXIF Viewer with PySimpleGUI: Mouse Vs Python
Getting GPS EXIF Data with Python: Mouse Vs Python
Mouse Vs Python Blog
Python Interviews: Discussions with Python Experts: Packt Publishing
PyConUS 2021
PyCascades 2021
Python Pizza: Remote Conferences
openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files
Editing Excel Spreadsheets in Python With openpyxl: Real Python video course
Episode 20: Building PDFs in Python with ReportLab
Level up your Python skills with our expert-led courses:
How to Work With a PDF in Python
Traditional Face Detection Using Python
Editing Excel Spreadsheets in Python With openpyxl
Support the podcast & join our community of Pythonistas

Jan 22, 2021 • 1h 4min
Creating an Interactive Online Python Conference for PyCascades 2021
How do you create a virtual conference that retains the interactivity of an in-person event? What are the tools needed for talk submissions, ticketing, and live hosting? Can you find those tools written in Python?
This week on the show, we have several of the organizers of the PyCascades 2021 conference. They share the process of restructuring a Python conference to meet those challenges.
Nina Zakharenko and Seb Vetter are co-chairs, and Ashia Zawaduk is the conference program chair. PyCascades will be held online from February 19th through 21st, with a day of virtual social events, one of live-streamed talks, and another of mentored sprints.
We discuss ways to recreate the elusive feel of the “hallway” track virtually. They share advice about submitting a talk proposal and ways that you can volunteer for conferences.
Tickets are available now. PyCascades is looking for additional sponsors. If you work for an organization that can help, get in contact with them.
Course Spotlight: Speed Up Python With Concurrency
Learn what concurrency means in Python and why you might want to use it. You’ll see a simple, non-concurrent approach and then look into why you’d want threading, asyncio, or multiprocessing.
Topics:
00:00:00 – Introduction
00:01:53 – Introducing the organizers
00:03:27 – Structure and vision for the Conference
00:06:50 – Tools for a virtual conference
00:10:34 – Creating a virtual hallway track
00:12:32 – Testing the platform
00:14:33 – How does a virtual event change the type of audience?
00:15:54 – Opening up the range of available speakers and topics
00:19:35 – Tips for finding success in submitting talk proposals
00:24:28 – Sponsor: PyCharm
00:25:10 – How can someone assist at this and other conferences?
00:26:40 – Preparing first time speakers
00:28:29 – How did each of you get involved?
00:36:13 – Video Course Spotlight
00:37:18 – Currently scheduled talks
00:43:01 – Mentored Sprints for Diverse Beginners
00:49:37 – User groups and meetups
00:52:23 – PyCascades sponsors
00:57:02 – What are you excited about in the world of Python?
01:02:39 – Callout: Get Your Tickets and thanks
Show Links:
PyCascades 2021
PyCascades: The Team
PyConline AU 2020
PyCon AU: YouTube Channel
pretalx: From Call for Papers to schedule – build your conference!
pretalx: GitHub
pretix: Event Ticketing Software
pretix: GitHub
venueless: Host Your Events Online
venueless: GitHub
Next Day Video
Resources for Virtual Events: PSF
The Ultimate Guide To Memorable Tech Talks — Nina’s series of posts with lots of advice on giving excellent tech talks.
Volunteer at PyCascades
PyColorado 2019
PyCascades 2021: Schedule
Mentored Sprints for Diverse Beginners at PyCon US 2020: readthedocs
Episode 8: Docker + Python for Data Science and Machine Learning With Tania Allard
PyLadies
Puget Sound Programming Python (PuPPy): Meetup
PyCascades: Sponsors
Become Our Sponsor: PyCascades
nnjaio: Nina’s Twitch Channel
AlSweigart: Twitch Channel
anthonywritescode: Anthony Sottile Twitch Channel
crazy4pi314: Dr. Sarah Kaiser Twitch Channel
TheLiveCoders: Twitch Channel
MicrosoftDeveloper: Twitch Channel
Architecture Patterns in Python: O’Reilly
Episode 7: AsyncIO + Music, Origins of Black, and Managing Python Releases
import asyncio: Learn Python’s AsyncIO #1 - The Async Ecosystem: YouTube
Wagtail : The Powerful CMS for Modern Websites
Episode 159: Volunteering, Organizing, and Finding a Python Community
Level up your Python skills with our expert-led courses:
Getting Started With Django: Building a Portfolio App
Formatting Python Strings
Speed Up Python With Concurrency
Support the podcast & join our community of Pythonistas

Jan 15, 2021 • 1h 2min
Deep Reinforcement Learning in a Notebook With Jupylet + Gaming and Synthesis
What is it like to design a Python library for three different audiences? This week on the show, we have Nir Aides, creator of Jupylet. His new library is designed for deep reinforcement learning researchers, musicians interested in live music coding, and kids interested in learning to program. Everything is designed to run inside of a Jupyter notebook.
Nir’s initial goal was to create a framework to study deep reinforcement learning, and this led to building a framework for 2D and 3D games and graphics. As he continued the development, he realized that this interactive environment could be a useful tool for learning Python.
We also talk about how he got interested in live music coding and the advanced mathematics of sound synthesis. Nir also shares some resources for finding graphic assets and tools for creating 3D models.
Course Spotlight: Using Jupyter Notebooks
In this step-by-step course, you learn how to get started with the Jupyter Notebook, an open source web application that you can use to create and share documents that contain live code, equations, visualizations, and text.
Topics:
00:00:00 – Introduction
00:02:25 – When did you start the project?
00:02:50 – What is deep reinforcement learning?
00:06:11 – How is deep reinforcement learning implemented in Jupylet?
00:06:56 – What graphic libraries are being used?
00:09:56 – What are the audiences for Jupylet?
00:14:15 – Why create features for musicians?
00:15:52 – Interactive code
00:19:13 – Were you using Jupyter Notebooks previously?
00:24:01 – Sponsor Digital Ocean
00:24:40 – Scaling features and making it kid friendly
00:28:59 – Outside help and learning about audio synthesis
00:33:31 – Using NumPy for synthesis, effects, and algorithmic reverb
00:39:08 – Video Course Spotlight
00:40:13 – Relying on other packages for your own package
00:42:26 – Assets for game design and working with 3D
00:47:51 – What has feedback been like?
00:48:31 – Looking for contributors
00:49:45 – More on live music looping
00:53:24 – What are you excited about in the world of Python?
00:55:41 – What do you want to learn next?
01:01:13 – Thanks and goodbye
Show Links:
Jupylet: GitHub Project Page
Jupylet: Read the Docs
Deep Reinforcement Learning: Wikipedia article
DQN Breakout: YouTube
Learn OpenGL
ModernGL: ModernGL is a high performance rendering module for Python
SID (Sound Interface Device) - C64 Wiki
Chiptune: Wikipedia article
The Best Chiptune Groups/Artists: Ranker.com
Elektron SidStation: Wikipedia article
Sonic Pi: Welcome to the future of music
FoxDot: Live Coding with Python and Super Collider
Nyquist frequency: Wikipedia article
Aliasing: Wikipedia article
Coding a basic reverb algorithm - Part 2: An introduction to audio programming
Openair: Demo, download and share acoustic impulse responses
Jupylet Docs: Impulse Response Files
Versilian Community Sample Library: Virtual Instruments
Versilian Community Sample Library: Github
Free Sound Samples: One Laptop per Child
One Laptop per Child: Wikipedia article
Kenney.nl: Free game assets, no strings attached
Texture Haven
Free PBR Texture Websites: The Graphic Assembly
Blender: Open Source 3D Creation
Episode 7: AsyncIO + Music, Origins of Black, and Managing Python Releases
import asyncio: Learn Python’s AsyncIO #1 - The Async Ecosystem
PyTorch: Optimized Tensor Library for Deep Learning Using GPUs and CPUs
Level up your Python skills with our expert-led courses:
Playing and Recording Sound in Python
Using Jupyter Notebooks
Histogram Plotting in Python: NumPy, Matplotlib, Pandas & Seaborn
Support the podcast & join our community of Pythonistas

Jan 8, 2021 • 56min
What Is Data Engineering and Researching 10 Million Jupyter Notebooks
Are you familiar with the role data engineers play in the modern landscape of data science and Python? Data engineering is a sub-discipline that focuses on the transportation, transformation, and storage of data. This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects.
Along with the Real Python article on data engineering, we talk about a project where researchers downloaded 10 million Jupyter notebooks from Github to gather insights about the current state of data science technology.
We also discuss an article about validating data in Python with the package Cerberus. And this led us to a conversation about a set of coding challenges from Advent of Code.
We also cover several other articles and projects from the Python community including, building my own chess engine, the visual guide to NumPy, a free and open-source alternative to SAP, a library for working with STL files and 3D objects, and is Python really a bottleneck?
Course Spotlight: Building With Django REST Framework
This course will get you ready to build with Django REST Framework. The Django REST framework (DRF) is a toolkit built on top of the Django web framework that reduces the amount of code you need to write to create REST interfaces.
Topics:
00:00:00 – Introduction
00:01:51 – What Is Data Engineering and Is It Right for You?
00:12:07 – Building My Own Chess Engine
00:17:52 – We Downloaded 10,000,000 Jupyter Notebooks From Github: This Is What We Learned
00:28:12 – Video Course Spotlight
00:29:20 – Is Python Really a Bottleneck?
00:34:01 – Validating Data in Python With Cerberus
00:39:04 – NumPy Illustrated: The Visual Guide to NumPy
00:42:54 – erpnext: Free and Open Source Alternative to SAP
00:48:49 – numpy-stl: Library for Working With STL Files and 3D Objects
00:54:54 – Thanks and goodbye
Show Links:
What Is Data Engineering and Is It Right for You? — In this article, you’ll get an overview of the discipline of data engineering. You’ll learn what is and isn’t part of a data engineer’s job, who data engineers work with, and why data engineers play a crucial role in many industries.
Building My Own Chess Engine — Writing your own chess engine is a great way to explore computational complexity and combinatorial aspects of programming. Not to mention it’s pretty fun! Follow along with this reflection on how one coder created his own Chess engine from scratch.
We Downloaded 10,000,000 Jupyter Notebooks From Github: This Is What We Learned — The JetBrains Datalore team downloaded ten million Jupyter Notebooks and analyzed them to determine things like which languages were the most popular, what kinds of content are in notebook cells, and how consistently notebooks can be reproduced. It’s a fascinating look into trends in data science technology!
Is Python Really a Bottleneck? — Python is slow. From one perspective, that is. But what are the true bottlenecks in the data engineering/data processing space, and how does Python compare to other technologies when those factors are considered?
Validating Data in Python With Cerberus — Thanks to an Advent of Code challenge, author Hector Castro was exposed to the Cerberus Python package for data validation. Get a quick introduction to Cerberus and see Hector’s solution to an Advent of Code challenge in this quick-yet-informative read.
NumPy Illustrated: The Visual Guide to NumPy — This illustrated guide to NumPy is a great way to learn NumPy or brush up on the package. Full of great visual aides, this tutorial covers all the basics and more!
Projects:
erpnext: Free and Open Source Alternative to SAP
numpy-stl: Library for Working With STL Files and 3D Objects
Additional Links:
Range - Why Generalists Triumph In a Specialized World: David Epstein
Shannon number: Wikipedia article
Apple’s open source chess engine minimum response times: Twitter thread
Advent of Code
cerberus: Lightweight and Extensible Data Validation Library for Python
Cerberus - Greek Mythology: Wikipedia article
A Visual Intro to NumPy and Data Representation
Generating STL Models With Python
Level up your Python skills with our expert-led courses:
Getting Started With Django: Building a Portfolio App
Building HTTP APIs With Django REST Framework
Histogram Plotting in Python: NumPy, Matplotlib, Pandas & Seaborn
Support the podcast & join our community of Pythonistas

Dec 25, 2020 • 48min
2020 Real Python Articles in Review
It’s been quite the year! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles this year. We also upgraded the site and membership with office hours, transcripts, this podcast, and much more.
We are joined by two members of the Real Python team, David Amos and Joanna Jablonski. We wanted to share a year-end wrap-up with a collection of articles that showcase a diversity of Python topics and the quality of what our team created this year.
Joanna and David help to shepherd articles through the multi-stage editing process. They make sure articles not only impart crucial Python knowledge but also provide a thorough didactic experience.
We hope you enjoy this review and as a programming note, there won’t be an episode next week, but we will be back the following week, and look forward to bringing you a year full of great guests, topics, articles, and projects.
Course Spotlight: Python Turtle for Beginners
In this step-by-step course, you’ll learn the basics of Python programming with the help of a simple and interactive Python library called turtle. If you’re a beginner to Python, then this tutorial will definitely help you on your journey as you take your first steps into the world of programming.
Topics:
00:00:00 – Introduction
00:01:41 – Joanna visits the show
00:04:28 – Pandas Project: Make a Gradebook With Python & Pandas
00:07:18 – Build Physical Projects With Python on the Raspberry Pi
00:11:32 – Python Practice Problems: Get Ready for Your Next Interview
00:15:05 – Data Version Control With Python and DVC
00:19:02 – What Are Python Wheels and Why Should You Care?
00:22:57 – Video Course Spotlight
00:23:58 – Python import: Advanced Techniques and Tips
00:26:33 – Hands-On Linear Programming: Optimization With Python
00:29:47 – Customize the Django Admin With Python
00:33:51 – The Python return Statement: Usage and Best Practices
00:36:12 – Python GUI Programming With Tkinter
00:46:47 – Thanks and goodbyes
Show links:
Pandas Project: Make a Gradebook With Python & Pandas
Build Physical Projects With Python on the Raspberry Pi
Python Practice Problems: Get Ready for Your Next Interview
Data Version Control With Python and DVC
What Are Python Wheels and Why Should You Care?
Python import: Advanced Techniques and Tips
Hands-On Linear Programming: Optimization With Python
Customize the Django Admin With Python
The Python return Statement: Usage and Best Practices
Python GUI Programming With Tkinter
Learning Paths Referenced:
Pandas for Data Science: Learning Path
Introduction to Python: Learning Path
Ace Your Python Coding Interview: Learning Path
Django for Web Development: Learning Path
GUI Programming With PyQt: Learning Path
Python Basics Book: Learning Path
Data Collection & Storage: Learning Path
Podcast Episodes Referenced:
Episode 21: Exploring K-means Clustering and Building a Gradebook With Pandas
Episode 13: PDFs in Python and Projects on the Raspberry Pi
Episode 27: Preparing for an Interview With Python Practice Problems
Episode 25: Data Version Control in Python and Real Python Video Transcripts
Episode 23: Python Wheels and Pass by Reference in Python
Episode 24: Options for Packaging Your Python Application: Wheels, Docker, and More
Episode 19: Advanced Python Import Techniques and Managing Users in Django
Episode 17: Linear Programming, PySimpleGUI, and More
Episode 31: Python Return Statement Best Practices and Working With the map() Function
Episode 32: Our New “Python Basics” Book & Filling the Gaps in Your Learning Path
Additional Links:
About Joanna Jablonski: Real Python Team
Real Python’s Office Hours: Learn With Python Experts in Real Time
Office Hours Archive - September 9, 2020 : Guest Jim Anderson
Level up your Python skills with our expert-led courses:
Getting Started With Django: Building a Portfolio App
Python Modules and Packages: An Introduction
Python Turtle for Beginners
Support the podcast & join our community of Pythonistas

Dec 18, 2020 • 58min
How Python Manages Memory and Creating Arrays With np.linspace
Have you wondered how Python manages memory? How are your variables stored in memory, and when do they get deleted? This week on the show, David Amos is here, and he has brought another batch of PyCoder’s Weekly articles and projects.
Along with the Real Python article on Python memory management, we also talk about another article about creating even and non-even spaced arrays in Python with np.linspace.
We share an article titled “The Unholy Way of Using Virtual Environments”. This leads to a discussion on how to structure the directories around a virtual environment.
We also cover several other articles and projects from the Python community including, storing a list in an int, why you should use an ORM (Object Relational Manager), unraveling not in Python, an open-source Python fuzzer, and Python static website generators.
Course Spotlight: How Python Manages Memory
Get ready for a deep dive into the internals of Python to understand how it handles memory management. By the end of this course, you’ll know more about low-level computing, understand how Python abstracts lower-level operations, and find out about Python’s internal memory management algorithms.
Topics:
00:00:00 – Introduction
00:01:38 – np.linspace(): Create Evenly or Non-Evenly Spaced Arrays
00:05:20 – The Unholy Way of Using Virtual Environments
00:17:33 – Storing a list in an int
00:24:48 – Why Should You Use an ORM (Object Relational Mapper)?
00:32:30 – Video Course Spotlight
00:33:24 – Unravelling not in Python
00:40:03 – How Python Manages Memory
00:45:28 – Follow-up from Jupylet
00:46:51 – Announcing the Atheris Python Fuzzer
00:50:42 – nikola: Static Website and Blog Generator
Show Links:
np.linspace(): Create Evenly or Non-Evenly Spaced Arrays – In this tutorial, you’ll learn how to use NumPy’s np.linspace() effectively to create an evenly or non-evenly spaced range of numbers. You’ll explore several practical examples of the function’s many uses in numerical applications.
The Unholy Way of Using Virtual Environments – If you’ve used virtual environments before, you may have created a venv/ folder inside the root directory of your project. This is standard, but has some downsides. Have you every thought about reversing this and putting your project inside your venv/ folder?
Storing a list in an int – For a fun exercise, learn how you can leverage Python’s unlimited integer precision to encode and store lists of any size as a single integer. Because, why not?
Why Should You Use an ORM (Object Relational Mapper)? – Budding web developers learning Model-View-Controller frameworks are taught that they should use an Object Relational Mapper (ORM) to interface with their databases. But the “why” is often brushed aside or omitted entirely, leaving a fledgling programmer with burning questions like “What are ORMs, anyway?” and “What problems do they solve?”
Unravelling not in Python – In the next blog post in his series about Python’s syntactic sugar, Brett Cannon tackles what would seem to be a very simple bit of syntax, but which actually requires diving into multiple layers to fully implement: not.
How Python Manages Memory – Get ready for a deep dive into the internals of Python to understand how it handles memory management. By the end of this course, you’ll know more about low-level computing, understand how Python abstracts lower-level operations, and find out about Python’s internal memory management algorithms.
Announcing the Atheris Python Fuzzer – Get started with fuzzing, a technique for automatically finding bugs in Python code by repeatedly trying various inputs to your program, using Google’s newly open-sourced Python fuzzer called Atheris.
Project Links:
Jupylet: Getting Started
nikola: Static Website and Blog Generator
atheris: Python Fuzzing Framework
Additional Links:
Look Ma, No For-Loops: Array Programming With NumPy: Real Python article
NumPy: numpy.ndarray
An Effective Python Environment: Making Yourself at Home: Real Python article
A quick-and-dirty guide on how to install packages for Python: Brett Cannon’s blog
Data Management With Python, SQLite, and SQLAlchemy: Real Python article
SQLAlchemy: The Python SQL Toolkit and Object Relational Mapper
Writing your first Django app: DjangoProject.com
Memory Management in Python: Real Python article
The Python Language Reference
Memory Management: Python docs
Pelican: Static Site Generator, Written in Python
Lektor: Flexible and Powerful Static Content Management System
Level up your Python skills with our expert-led courses:
Working With Python Virtual Environments
How Python Manages Memory
Using NumPy's np.arange() Effectively
Support the podcast & join our community of Pythonistas

Dec 11, 2020 • 1h 6min
Generators, Coroutines, and Learning Python Through Exercises
Python expert Reuven Lerner discusses generators, coroutines, and the importance of practice in Python. Topics include using 'send' method, 'yield from' syntax, exceptions, and benefits of generator functions. Reuven's teaching techniques, PyCon Africa 2020 talk, and 'Python Workout' book are highlighted.

Dec 4, 2020 • 44min
Looping With enumerate() and Python GUIs With PyQt
If you’re coming to Python from a different language, you may not know about a useful tool for working with loops, Python’s built-in enumerate function. This week on the show, David Amos is here, and he has brought another batch of PyCoder’s Weekly articles and projects.
Along with the Real Python article covering the details of the enumerate function, we also talk about another article about constructing Python graphical user interface elements in PyQt.
David shares a couple of resources for data scientists, including an article about skills not taught in data science boot camps, and a project for creating synthetic data.
We also cover several other articles and projects from the Python community including, an update about youtubedl, hunting for malicious packages on PyPI, using Python’s bisect module, 73 examples to help you master f-strings, and game programming in Jupyter notebooks.
Course Spotlight: Formatting Python Strings
In this course, you’ll see two items to add to your Python string formatting toolkit. You’ll learn about Python’s string format method and the formatted string literal, or f-string. You’ll learn about these formatting techniques in detail and add them to your Python string formatting toolkit.
Topics:
00:00:00 – Introduction
00:01:53 – The youtube-dl Repository Has Been Restored on GitHub With Help From the Electronic Frontier Foundation
00:04:12 – Python enumerate(): Simplify Looping With Counters
00:07:24 – Hunting for Malicious Packages on PyPI
00:14:31 – Sponsor: Scout APM
00:15:31 – Using Python’s bisect module
00:19:00 – 73 Examples to Help You Master Python’s f-Strings
00:21:35 – 10 Python Skills They Don’t Teach in Bootcamp
00:27:32 – Video Course Spotlight
00:28:28 – Python and PyQt: Creating Menus, Toolbars, and Status Bars
00:33:51 – SDV: Synthetic Data Generation for Tabular, Relational, Time Series Data
00:38:19 – jupylet: Game Programming in Jupyter Notebooks
00:42:59 – Thanks and goodbye
Show Links:
The youtube-dl Repository Has Been Restored on GitHub With Help From the Electronic Frontier Foundation
Python enumerate(): Simplify Looping With Counters – Once you learn about for loops in Python, you know that using an index to access items in a sequence isn’t very Pythonic. So what do you do when you need that index value? In this tutorial, you’ll learn all about Python’s built-in enumerate(), where it’s used, and how you can emulate its behavior.
Hunting for Malicious Packages on PyPI – Jordan Wright installed every package on PyPI to look for malicious content. And he didn’t just inspect code, he actually ran the packages. Brave soul! Learn how he set-up this project and what he learned on his adventure.
Using Python’s bisect module – Python’s bisect module has tools for searching and inserting values into sorted lists. It’s one of his “batteries-included” features that often gets overlooked, but can be a great tool for optimizing certain kinds of code.
73 Examples to Help You Master Python’s f-Strings – f-Strings might be one of the most beloved features in Python 3.6+. Here are 73 examples of how to use f-strings to improve your Python code.
10 Python Skills They Don’t Teach in Bootcamp – Here are ten practical and little-known pandas tips to help you take your skills to the next level.
Python and PyQt: Creating Menus, Toolbars, and Status Bars – In this step-by-step tutorial, you’ll learn how to create, customize, and use Python menus, toolbars, and status bars for creating GUI applications using PyQt.
Projects:
jupylet: Game Programming in Jupyter Notebooks
SDV: Synthetic Data Generation for Tabular, Relational, Time Series Data
Additional Links:
Python and PyQt: Building a GUI Desktop Calculator - Real Python article
PyQt Layouts: Create Professional-Looking GUI Applications - Real Python article
Handling SQL Databases With PyQt: The Basics - Real Python article
Synthetic Data Vault (SDV): A Python Library for Dataset Modeling
RPP - Episode 7: AsyncIO + Music, Origins of Black, and Managing Python Releases
Level up your Python skills with our expert-led courses:
Using Jupyter Notebooks
Formatting Python Strings
How to Write Pythonic Loops
Support the podcast & join our community of Pythonistas


