

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

Nov 19, 2021 • 58min
Building a Content Aggregator and Working With RSS in Python
Have you wanted to work with RSS feeds in Python? Maybe you’re looking for a new project to build for your portfolio that uses Django, unit tests, and custom commands. This week on the show, we have Real Python author Ricky White to talk about his recent step-by-step project titled, “Build a Content Aggregator in Python.”
Ricky has been authoring the Real Python interview series for several years and was formerly our Community Manager. He talks about what inspired him to create this project and the Python technology and libraries to build it. He also shares advice about adding tests to personal portfolio projects.
We start the show by discussing Python’s GIL (Global Interpreter Lock) and the efforts to potentially remove it in future versions of Python. This change could make a significant impact on Python code running on multi-core processors. We talk about two recent articles covering the developments.
Course Spotlight: Get Started With Django: Build a Portfolio App
In this course, you’ll learn the basics of creating powerful web applications with Django, a Python web framework. You’ll build a portfolio website to showcase your web development projects, complete with a fully functioning blog.
Topics:
00:00:00 – Introduction
00:02:07 – Citizenship
00:03:52 – Ricky’s Real Python interviews
00:05:55 – Upcoming interview with Eric Wastl about Advent of Code
00:08:05 – Notes From the Meeting On Python GIL Removal
00:18:41 – Sponsor: Cloudsmith
00:19:26 – Build a Content Aggregator in Python
00:20:28 – Django background
00:23:37 – What web technologies were you using before Python?
00:25:07 – What motivated the project?
00:26:46 – Technical hurdles
00:30:52 – Including tests in a portfolio project
00:32:56 – Django custom commands
00:37:02 – Video Course Spotlight
00:38:16 – RSS Feeds - Really Simple Syndication and Podcasts
00:42:16 – Working with django-apscheduler
00:47:06 – Taking the project further and CSS frameworks
00:51:04 – What are you excited about in the world of Python?
00:53:58 – What do you want to learn next?
00:55:52 – Shoutouts and social connections
00:56:57 – Thanks and goodbye
Show Links:
About Ricky White – Real Python
Build a Content Aggregator in Python: Real Python project-based tutorial
About - Advent of Code 2021
A viable solution for Python concurrency: LWN.net
Notes From the Meeting On Python GIL Removal Between Python Core and Sam Gross
What Is the Python Global Interpreter Lock (GIL)? – Real Python
nogil: Python Multithreading without GIL
Walk AS One
What is Ankylosing Spondylitis?
Spondy News
Writing custom django-admin commands | Django documentation
django-apscheduler - A Django app that adds a lightweight wrapper around APScheduler
RabbitMQ - Messaging that just works
RSS: Really Simple Syndication- Wikipedia
Flipboard - Stories from 28,875 topics personalized for you
NetNewsWire: Free and Open Source RSS Reader for Mac and iOS
Welcome to Feedly
Bootstrap - The most popular HTML, CSS, and JS library in the world
Tailwind CSS - Rapidly build modern websites without ever leaving your HTML
Python Software Foundation News: 2021 End of the year fundraiser!
Structural Pattern Matching Python 3.10: Cool New Features for You to Try
Ricky’s Twitter- (@endlesstrax)
Endlesstrax: Ricky’s Website
Level up your Python skills with our expert-led courses:
Getting Started With Django: Building a Portfolio App
Test-Driven Development With pytest
How to Set Up a Django Project
Support the podcast & join our community of Pythonistas

Nov 12, 2021 • 1h 22min
The Legacy of OLPC and Charismatic Pitfalls in Teaching Programming
Do you remember the One Laptop Per Child program? What went wrong, and what can we learn from the program’s failure? What are the potential pitfalls of charismatic technology, and how can we avoid them when introducing students to programming? This week on the show, former guest Al Sweigart and author Morgan Ames are here to talk about her book “The Charisma Machine - The Life, Death, and Legacy of One Laptop per Child.”
We discuss the OLPC program and how idealized visions of our programming backgrounds can become traps. Morgan explains how these utopian visions are still used to attempt to disrupt education. Along with this cautionary tale, we also talk about educational programs that are working and how entry points to programming are changing.
Course Spotlight: Using Pandas to Make a Gradebook in Python
With this course and Python project, you’ll build a script to calculate grades for a class using pandas. The script will quickly and accurately calculate grades from a variety of data sources. You’ll see examples of loading, merging, and saving data with pandas, as well as plotting some summary statistics.
Topics:
00:00:00 – Introduction
00:02:13 – Morgan’s background
00:02:58 – Computer Science and Information Science
00:04:46 – Early introduction of computers to schools
00:08:25 – What was the One Laptop Per Child (OLPC) Program?
00:12:32 – Turtle art and Scratch
00:16:34 – Sponsor: CData Software
00:17:15 – What is the global south?
00:19:12 – How does charisma apply to objects and technology?
00:28:30 – Python language design and Learn to Code
00:34:53 – Media technology scares and the self taught coder
00:40:35 – Video Course Spotlight
00:41:41 – Technically precocious boys and exclusion of others
00:43:47 – Minecraft and technology maintenance skills
00:49:08 – Skewed utopian visions and lack of ongoing support
00:52:54 – Shifting feminine vs masculine perceived roles in computing
01:02:41 – Changing entry points for programming
01:09:00 – The why of “learn to code” and empowerment
01:13:13 – Metaverse, nostalgia, and dystopia
01:14:45 – The Diamond Age and Code Hero Kickstarter
01:16:53 – Avoiding future charismatic traps
01:18:28 – Shoutouts and social connections
01:21:04 – Thanks and goodbyes
Show Links:
Morgan G. Ames: Personal Website
The Charisma Machine: The Life, Death, and Legacy of One Laptop per Child
Al Sweigart: Personal Website
The OLPC Wiki
Logo History: Logo Foundation
Seymour Papert: Wikipedia article
Mitchel Resnick - LEGO Papert Professor of Learning Research at the MIT Media Lab
Sounding Out with the OLPC XO: Linux Journal
Scratch: The world’s largest free coding community for kids
VR Will Make Life Better—Or Just Be an Opiate for the Masses
The Perils of Using Technology to Solve Other People’s Problems
Gender & Computing - Nathan Ensmenger
Disruptive Fixation: School Reform and the Pitfalls of Techno-Idealism
Connected Learning Lab: Research Themes
STEM vs. STEAM: Why One Letter Matters
Black Girls CODE
Code Hero: A Game That Teaches You To Make Games
Chasing Innovation: The Limits of Entrepreneurship - Online talk
Turkopticon helps the people in the ‘crowd’ of crowdsourcing watch out for each other—because nobody else seems to be.
Morgan G. Ames: Twitter profile
Invent With Python: Learn to Program
Level up your Python skills with our expert-led courses:
Using pandas to Make a Gradebook in Python
Command Line Interfaces in Python
Grow Your Python Portfolio With 13 Intermediate Project Ideas
Support the podcast & join our community of Pythonistas

Nov 5, 2021 • 1h 2min
Exploring Django Templates, Tags, and Filters
Are you getting the most out of the Django framework? It’s a powerful web framework if you’re not interested in reinventing the wheel. Django includes a useful template system with inheritance for composing reusable HTML. This week on the show, we have previous guest and Real Python author Christopher Trudeau to talk about his recent articles and courses about Django.
Christopher explains how Django templates help you avoid rewriting large portions of HTML for your web applications. His first article covers the built-in tags and filters provided by the framework. The second one dives into how customize and implement your own filters and tags. Christopher also talks about his process for choosing topics for articles and courses.
We start the episode by covering a recent article by CPython Developer in Residence, Łukasz Langa. We talked in a previous episode about his plan to study where all the Python core developer activity goes. He’s gathered several years of GitHub data, and we discuss the post.
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:02:03 – Where does all the effort go? Looking at Python core developer activity
00:07:23 – Notes From the Meeting On Python GIL Removal Between Python Core and Sam Gross
00:08:36 – Django background
00:11:28 Flask vs Django
00:14:37 – Django Templates: Built-In Tags and Filters
00:25:26 – Sponsor: Cloudsmith
00:26:12 – Django Templates: Implementing Custom Tags and Filters
00:32:54 – Django Rest Framework - video course
00:42:09 – Video Course Spotlight
00:43:16 – What goes into picking an article to turn into a course?
00:53:18 – What are you excited about in the world of Python?
00:57:00 – Support Django development by donating to the Django Software Foundation
01:00:55 – Thanks and goodbye
Show Links:
About Christopher Trudeau: Real Python Page
arSensa: Christopher’s personal website
Where does all the effort go? Looking at Python core developer activity
Episode 82: Welcoming the CPython Developer in Residence
Notes From the Meeting On Python GIL Removal Between Python Core and Sam Gross
nogil: Python Multithreading without GIL
Django Templates: Built-In Tags and Filters - Real Python Article
Django Templates: Implementing Custom Tags and Filters - Real Python Article
Django: The web framework for perfectionists with deadlines
Asciimatics: A cross-platform package to replace curses and create ASCII animations
Asciimatics: GitHub Repo
Support Django development by donating to the Django Software Foundation
Level up your Python skills with our expert-led courses:
Building HTTP APIs With Django REST Framework
Django View Authorization: Restricting Access
Getting Started With Django: Building a Portfolio App
Support the podcast & join our community of Pythonistas

Oct 29, 2021 • 1h 2min
Creating and Manipulating PDFs in Python With borb
Have you wanted to generate PDFs from your Python project? Many of the current libraries require designing the document down at the pixel level. Would you be interested in a tool that lets you specify the page layout while it handles the specific details of laying out the text? This week on the show, we talk with Joris Schellekens about his library for creating and manipulating PDFs named borb.
borb is a pure Python library that can read, write and manipulate PDFs. You can use it to build fillable forms, invoices with attached data files, and multiple column document layouts. We discuss the extensive example repository Joris has created for the library.
Joris shares his background in working with PDFs. He talks about starting the project and the challenges he had to overcome. We also talk about licensing and maintaining an open-source library.
Course Spotlight: Writing Idiomatic Python
What are the programming idioms unique to Python? This course is a short overview for people coming from other languages and an introduction for beginners to the idiomatic practices within Python. You’ll cover truth values, looping, DRY principles, and the Zen of Python.
Topics:
00:00:00 – Introduction
00:01:58 – Articles about borb
00:03:25 – History of the project
00:07:26 – Background in PDFs and Postscript
00:09:18 – Signatures and other challenges of working in PDFs
00:11:33 – Reading from PDFs and standards of versions
00:14:54 – Features of the library and creating documents
00:18:25 – Creating layout features
00:20:42 – How are fonts handled in borb?
00:21:19 – Sponsor: Cloudsmith
00:22:04 – Why use JSON across the library?
00:22:55 – Embedding data and files within a PDF
00:25:12 – What features were crucial for you to include in borb?
00:28:48 – Why creating a separate examples repository?
00:31:04 – Article series about borb
00:32:25 – Writing a book about borb
00:33:44 – Python 3.10 and borb
00:34:19 – Video Course Spotlight
00:35:39 – Licensing borb and AGPL
00:45:14 – Other open-source projects and Stack Overflow answers
00:46:37 – Working with forms in borb
00:47:55 – Additional tools for working with PDFs
00:50:15 – Different users of the library
00:53:36 – Thoughts on the future of PDFs
00:58:10 – What are you excited about in the world of Python?
00:58:40 – What do you want to learn next?
01:00:25 – Social connection info
01:00:46 – Thanks and goodbye
Show Links:
borb: A Python PDF library
borb Examples Repository
Creating a PDF Document in Python with borb
Creating PDF Invoices in Python with borb
Creating a Form in a PDF Document in Python With borb
iText PDF
ISO 32000 (PDF): the family of ISO standards that defines the core PDF specification
XRechnung update: What you should know about electronic invoices to the German public sector!
XRechnung: Standard format for German authorities from 2020
AGPL: Affero General Public License - Wikipedia
Ghostscript: Interpreter for the PostScript language and for PDF
veraPDF: Industry Supported PDF/A Validation
Okular: The Universal Document Viewer
Keras and Tensorflow: Getting Started
Level up your Python skills with our expert-led courses:
How to Work With a PDF in Python
Documenting Code in Python
Writing Idiomatic Python
Support the podcast & join our community of Pythonistas

Oct 22, 2021 • 1h 2min
Ready to Publish Your Python Packages?
Are you interested in sharing your Python project with the broader world? Would you like to make it easily installable using pip? How do you create Python packages that share your code in a scalable and maintainable way? This week on the show, Real Python author and former guest Dane Hillard returns to talk about his new book, “Publishing Python Packages.”
Dane shares his research into creating Python packages. We talk about the tools, techniques, and potential pitfalls of publishing your packages. Dane also discusses his experiences unraveling projects and determining dependencies.
We also talk about Dane’s recent conference talk at PyGotham titled “Keeping code safe and modern with semantic searches.” He shares some security tools and practices.
Course Spotlight: Documenting Python Code: A Complete Guide
This course will get you up to speed with how to document your Python code. Documenting your code is an important step to help developers and users fully understand its usage and purpose.
Topics:
00:00:00 – Introduction
00:01:57 – PyGotham Talk: Keeping code safe and modern with semantic searches
00:06:24 – What was the driving reason for starting Publishing Pyhton Packages?
00:08:54 – What is CookieCutter?
00:11:53 – The book as a research project
00:15:20 – Sponsor: CData Software
00:16:01 – What is a package?
00:18:56 – What is a published package?
00:25:37 – What other experiences made you want to write this book?
00:28:05 – Where to start?
00:33:26 – Balance of examples and explanation
00:40:49 – Cohesion and studying the relationships between sections of code
00:46:19 – Documentation and tools like Sphinx
00:50:18 – Video Course Spotlight
00:51:30 – What were you most excited to share in the book?
00:54:06 – Additional resources for packaging
00:57:17 – What are you excited about in the world of Python?
00:57:53 – What do you want to learn next?
00:59:30 – Shout outs and plugs
01:00:28 – Thanks and goodbye
Show Links:
About Dane Hillard
Publishing Python Packages - Manning Early Access Program (MEAP)
Episode 49: The Challenges of Developing Into a Python Professional
Keeping code safe and modern with semantic searches - Dane Hillard
Semgrep: Static analysis at ludicrous speed
SonarSource: Code Quality & Code Security
Snyk: Find and automatically fix vulnerabilities in your code
CookieCutter: Better Project Templates
Obsidian: A powerful knowledge base on top of a local folder of plain text Markdown files
The Python Package Index (PyPI): A repository of software for the Python programming language
PIP: The package installer for Python
Graphviz -Open source graph visualization software
cibuildwheel - Builds and tests your wheels across all of your platforms
Sphinx: A tool that makes it easy to create intelligent and beautiful documentation
Documenting Python Code: A Complete Guide - Real Python Article
Python Packaging User Guide - Python Packaging Authority
How to Publish an Open-Source Python Package to PyPI - Real Python Article
What Are Python Wheels and Why Should You Care? - Real Python Article
PEP 517 – A build-system independent format for source trees
PEP 518 – Specifying Minimum Build System Requirements for Python Projects
PEP 440 – Version Identification and Dependency Specification
Episode 29: Resolving Package Dependencies With the New Version of Pip
Episode 80: Make Your Python App Interactive With a Text User Interface (TUI) - With Will McGugan
Webpack - Module Federation
PyGotham 2021
Publishing Python Packages - Manning Early Access Program (MEAP)
Level up your Python skills with our expert-led courses:
Using Pygame to Build an Asteroids Game in Python
Cool New Features in Python 3.10
Documenting Code in Python
Support the podcast & join our community of Pythonistas

Oct 15, 2021 • 1h 33min
Welcoming the CPython Developer in Residence
Earlier this year, the Python Software Foundation announced the creation of the Developer in Residence role. The first Visionary Sponsors of the PSF have provided funding for this new role for one year. What development responsibilities does this job address? This week on the show, we talk to previous guest Łukasz Langa about becoming the first CPython Developer in Residence.
We talk about how the first months in this role are shaping up. Łukasz discusses the need to address the backlog of open issues and pull requests. He also talks about how he is working to help the project’s volunteers move their contributions forward.
We cover his PyCon 2021 talk about generating real-time FM audio synthesis in Python. He also shares his experience developing a similar synthesis engine for an embedded hardware project.
Course Spotlight: Speech Recognition With Python
In this course, you’ll cover the fundamentals of speech recognition with Python. You’ll learn which speech recognition library gives the best results and build a full-featured “Guess The Word” game with it.
Topics:
00:00:00 – Introduction
00:01:51 – PyCon 2021 talk
00:20:54 – CPython Developer in Residence: Why did you want the role?
00:29:23 – Sponsor: DataStax Astra DB
00:29:55 – What were the expected responsibilities of the role?
00:35:47 – Working through BPO issues and GitHub pull requests
00:42:14 – Moving to migrate the systems
00:51:10 – Video Course Spotlight
00:52:26 – What trends can you see currently?
00:57:28 – Do you feel the amount of activity is increasing due to the role being in place?
01:03:46 – What skills would you look for in a person in this role?
01:07:26 – If there was a team of people how would things be different?
01:11:00 – How to follow along with the journey?
01:13:35 – Gathering and sharing data about the process
01:18:45 – What are you excited about in the world of Python?
01:25:04 – What do you want to learn next?
01:26:41 – Shout outs and plugs
01:31:36 – Thanks and goodbye
Show Links:
Generate buzz with realtime FM audio synthesis: PyCon 2021 Talk - YouTube
Limited Edition Medusa Black: Polyend
I am the new CPython Developer in Residence
Weekly Report, October 4 - 10: Łukasz Langa’s Blog
Meet the Python Developer in Residence: Lukasz Langa - Talk Python Podcast
Argument Clinic How-To: Python docs
PEP 594 – Removing dead batteries from the standard library
Datasette: An open source multi-tool for exploring and publishing data
Episode 80: Make Your Python App Interactive With a Text User Interface (TUI)
Why I’m working on Open Source full time: Will McGugan
Level up your Python skills with our expert-led courses:
Cool New Features in Python 3.10
Documenting Python Projects With Sphinx and Read The Docs - Archived
Speech Recognition With Python
Support the podcast & join our community of Pythonistas

Oct 8, 2021 • 54min
Exploring the New Features of Python 3.10
Python 3.10 is here! This week on the show, two former guests and Real Python authors return to talk about the new version. Geir Arne Hjelle’s article was posted to the site Monday, and it’s titled “Python 3.10: Cool New Features for You to Try”. Christopher Trudeau’s video course came out on Tuesday, and it covers the topics from the article with multiple visual examples of Python 3.10 code.
Geir Arne and Christopher worked together to create code examples of the new features used in both. We talk about more user-friendly error messages, structural pattern matching, enhancements to Python’s type system, and much more.
Geir Arne and Christopher not only cover the new features but they offer advice about ways you might incorporate them into your code. We also discuss what you should think about before running the new version for your projects.
Course Spotlight: Cool New Features in Python 3.10
In this course, you’ll explore some of the coolest and most useful features in Python 3.10. You’ll appreciate more user-friendly error messages, learn about how you can handle complicated data structures with structural pattern matching, and explore new enhancements to Python’s type system.
Topics:
00:00:00 – Introduction
00:02:20 – Better Error Messages
00:07:14 – Structural Pattern Matching
00:14:14 – Sponsor: Snyk
00:14:55 – Type Unions, Aliases, and Guards
00:22:34 – Future Annotations
00:26:46 – Stricter Zipping of Sequences
00:28:30 – New Functions in the statistics Module
00:31:46 – Video Course Spotlight
00:32:50 – Asynchronous Iteration
00:38:59 – Default Text Encodings
00:41:33 – Context Manager Syntax
00:43:19 – Modern and Secure SSL
00:45:10 – Should you upgrade now?
00:49:59 – How to Detect Python 3.10 at Runtime
00:53:07 – Thanks and goodbye
Show Links:
About Geir Arne Hjelle: Real Python Team Profile
About Christopher Trudeau: Real Python Team Profile
Python 3.10: Cool New Features for You to Try: Real Python Article
Cool New Features in Python 3.10: Real Python Video Course
Python 3.10.0 Released: python.org
Better error messages: What’s New docs.python.org
PEP 634: Structural Pattern Matching - Specification
PEP 635: Structural Pattern Matching - Motivation and Rationale
PEP 636: Structural Pattern Matching - Tutorial
PEP 604: Allow writing union types as X | Y
PEP 613: Explicit Type Aliases
PEP 647: User-Defined Type Guards
PEP 612: Parameter Specification Variables
Using the Python zip() Function for Parallel Iteration: Real Python Article
statistics — Mathematical statistics functions: docs.python.org
PEP 525: Asynchronous Generators
Context Managers and Python’s with Statement: Real Python Article
Run Python Versions in Docker: How to Try the Latest Python Release: Real Python Article
Level up your Python skills with our expert-led courses:
Hands-On Python 3 Concurrency With the asyncio Module
Cool New Features in Python 3.10
Cool New Features in Python 3.9
Support the podcast & join our community of Pythonistas

Oct 1, 2021 • 1h 3min
Make Your Python App Interactive With a Text User Interface (TUI)
Have you wanted to create a Python application that goes further than a command-line interface? You would like it to have a friendly interface but don’t want to make a GUI (Graphical User Interface) or web application. Maybe a TUI (Text User Interface)would be a perfect fit for the project. This week on the show, we have Will McGugan to talk about his projects Textual and Rich.
Rich is a Python library for writing rich text to the terminal with color and style. It’s a great tool if you want to display advanced content such as tables, markdown, and syntax-highlighted code. We talk about how Will started on the project and how it’s developed over the years.
We also talk about Will’s new project Textual, a TUI using much of Rich at its core. He shares how the project is coming along and what are challenges in developing this type of application. We discuss how a TUI has more in common with CSS and web development than command line or graphical interfaces.
We also have a quick announcement at the top of the show from CPython Developer in Residence Łukasz Langa about next week’s release of Python 3.10.
Course Spotlight: Rock, Paper, Scissors With Python: A Command Line Game
In this course, you’ll learn to program rock paper scissors in Python from scratch. You’ll learn how to take in user input, make the computer choose a random action, determine a winner, and split your code into functions.
Topics:
00:00:00 – Introduction
00:02:08 – Python 3.10 Release Party - Announcement
00:03:32 – Will McGugan and the background of the Rich library
00:10:11 – Moya framework
00:21:38 – Sponsor: DataStax Astra DB
00:22:10 – The spark that started Textual
00:26:31 – Needing AsyncIO for a TUI
00:28:07 – Describing a TUI (Text User Interface)
00:33:57 – Scrolling, resizing, and similarities with CSS
00:36:37 – Video Course Spotlight
00:38:03 – What areas were difficult in developing Textual?
00:39:42 – Similarities to game development
00:41:47 – Testing across different terminals
00:45:01 – What were you excited to include in the project?
00:47:04 – Are there particular uses you foresee for Textual?
00:49:21 – Career changes and open source reviewing
00:54:21 – Version numbers and Textual
00:55:49 – What are you excited about in the world of Python?
00:58:27 – What do you want to learn next?
01:00:57 – Shoutouts and plugs
01:01:47 – Thanks and goodbye
Show Links
Will McGugan’s Blog
Will McGugan’s GitHub
Rich Documentation
The Python Rich Package: Unleash the Power of Console Text
Pygments: Python Syntax Highlighter
object.__repr__ (self): Python docs
Regular Expressions: Regexes in Python (Part 1) - Real Python
Moya: Open source web development platform built with Python
Building Rich terminal dashboards: Will’s blog
Textual: A TUI (Text User Interface) framework for Python inspired by modern web development
The 2021 Python Language Summit: Making CPython Faster
Episode 69: Planning a Faster Future at the Python Language Summit
Python 3.10 Release Party Announcement
Łukasz Langa’s twitter: Developer in Residence
Pablo Galindo Salgado’s twitter: Python 3.10 and 3.11 release manager
Will McGugan’s Twitter
Why I’m working on Open Source full time
Level up your Python skills with our expert-led courses:
Grow Your Python Portfolio With 13 Intermediate Project Ideas
Command Line Interfaces in Python
Rock, Paper, Scissors With Python: A Command Line Game
Support the podcast & join our community of Pythonistas

Sep 24, 2021 • 56min
Measuring Your Python Learning Progress
Where are you along the path of learning Python? Do you feel like you’re making progress? What are ways you can put the learning path into a more precise focus? This week on the show, we talk with previous guest Martin Breuss about his recent article “How Long Does It Take to Learn Python?”
Martin discusses methods for measuring your progress and the various reasons for learning the language. We talk about how different backgrounds will affect your approach. We also suggest resources to help you on your path.
We share a couple of recent Python projects to round out the episode. The first is a library to draw stylized maps from OpenStreetMap data. The other is a framework for the analysis and visualization of trees, which includes a set of phylogenomic tools.
Course Spotlight: Using the Python return Statement Effectively
In this step-by-step course, you’ll learn how to use the Python return statement when writing functions. Additionally, you’ll cover some good programming practices related to the use of return. With this knowledge, you’ll be able to write readable, robust, and maintainable functions in Python.
Topics:
00:00:00 – Introduction
00:01:44 – Real Python Core Team Member
00:03:13 – How long does it take to learn Python?
00:03:40 – Why did you want to explore this topic?
00:05:05 – Python backgrounds Martin and Christopher
00:16:39 – What area excited you?
00:19:38 – Sponsor: Rev AI
00:20:16 – What are other areas that define, why Python?
00:23:30 – Keeping the scope narrower
00:24:48 – Measuring your progress
00:32:49 – Video Course Spotlight
00:34:12 – Effective mentorship
00:39:02 – Using search engines
00:43:07 – The journey of learning Python
00:48:38 – Programming challenges and practicing
00:49:40 – pretty maps - Minimal Python library to draw customized maps
00:52:02 – ETE Toolkit - Python environment for tree exploration
00:54:30 – Thanks and goodbye
Show Links:
About Martin Breuss: Real Python Team
How Long Does It Take to Learn Python?
Four stages of competence: Wikipedia Article
The Basic Python Syntax: Links to Real Python Resources
BTW these large scary math symbols are just for-loops
Measuring the “Filter Bubble”: How Google is influencing what you click
What does Google know about me?
Ace Your Python Coding Interview: Real Python Learning Path
CodingBat: Coding Practice
Episode 4: Learning Python Through Errors
Episode 48: Stochastic Gradient Descent and Deploying Your Python Scripts on the Web
Projects:
pretty maps: A minimal Python library to draw customized maps from OpenStreetMap data
ETE Toolkit: A Python framework for the analysis and visualization of trees
NCBI: National Center for Biotechnology Information
ete-ncbiquery: Fast and handy queries to the NCBI taxonomy database
Level up your Python skills with our expert-led courses:
Using the Python return Statement Effectively
Graph Your Data With Python and ggplot
How to Set Up a Django Project
Support the podcast & join our community of Pythonistas

Sep 17, 2021 • 48min
Learning Python Through Illustrated Stories
Are you a visual learner? Does it help to have programming concepts shared with concrete examples and images? Would you like to see if your child might be interested in programming? This week on the show, we talk with author Shari Eskenas about her books, “A Day in Code - Python: Learn to Code in Python Through an Illustrated Story” and “Learn Python Through Nursery Rhymes & Fairy Tales.”
We talk about the books and what inspired her to bring programming to picture books. Shari discusses her goal of providing a fun way for beginners to experience learning to code.
Shari is also an electrical engineer with multiple patents and the founder of Sundae Electronics. We talk briefly about SoundBrake, which is an audio device that alerts headphone users to outside sounds.
Shari’s programming background is primarily in C, and we cover her path to Python. We also discuss how she is using Python and the Raspberry Pi to prototype new projects.
Course Spotlight: Reading and Writing Files With Pandas
In this course, you’ll learn about the Pandas IO tools API and how you can use it to read and write files. You’ll use the Pandas read_csv() function to work with CSV files. You’ll also cover similar methods for efficiently working with Excel, CSV, JSON, HTML, SQL, pickle, and big data files.
Topics:
00:00:00 – Introduction
00:02:05 – A Day in Code Books
00:05:32 – Showing Python classes and object oriented concepts
00:08:02 – What Python concepts did you want to cover in the book?
00:09:17 – Translating the book and concepts from C to Python
00:11:04 – Reception of the book
00:12:10 – Using real objects and names in code
00:14:05 – Sponsor: DataStax Astra DB
00:14:38 – Learn Python Through Nursery Rhymes & Fairy Tales
00:20:25 – Sundae Electronics and SoundBrake
00:26:47 – Video Course Spotlight
00:27:57 – Prototyping with Python and Raspberry Pi
00:38:19 – When did you start to learn Python?
00:39:31 – Real Python community
00:41:33 – How do you see yourself using Python in the future?
00:43:39 – What are you excited about in the world of Python?
00:45:02 – What do you want to learn next?
00:45:51 – Shout outs and plugs: Kickstarter campaign
00:46:40 – Social media connections
00:47:08 – Thanks and goodbye
Show Links:
A Day in Code - Python: Learn to code in Python through an illustrated story
A Day in Code: An illustrated story written in the C programming language
Learn Python through Nursery Rhymes & Fairy Tales: Kickstarter
Sundae Electronics
Raspberry Pi Computers and Microcontrollers
Raspberry Pi Remote Access
CircuitPython: The Easiest Way to Program Microcontrollers
Real Python Community
Level up your Python skills with our expert-led courses:
Reading and Writing Files With pandas
Getting Started With MicroPython
Python Basics: Setting Up Python
Support the podcast & join our community of Pythonistas


