Talk Python To Me

By Michael Kennedy (@mkennedy)

Listen to a podcast, please open Podcast Republic app. Available on Google Play Store.

Category: Software How-To

Open in Apple Podcasts

Open RSS feed

Open Website

Rate for this podcast

Subscribers: 2466
Reviews: 4

 Nov 7, 2018
one of my absolute favourite podcasts even though im almost non-skilled im python, always feel inspired listening to this podcast !

 Oct 3, 2018

Wilber H
 Sep 19, 2018
I wish there was a Python that talks about teaching Python. For reinforcement purposes while driving. Don't get me wrong, conversations are great but some tracks catered to just teaching would be great.

Travis W.
 Aug 31, 2018
Been listening to this podcast for over 6 months now and all I can say is that I'm continually pleased with every episode!


Talk Python to Me is a weekly podcast hosted by developer and entrepreneur Michael Kennedy. We dive deep into the popular packages and software developers, data scientists, and incredible hobbyists doing amazing things with Python. If you're new to Python, you'll quickly learn the ins and outs of the community by hearing from the leaders. And if you've been Pythoning for years, you'll learn about your favorite packages and the hot new ones coming out of open source.

Episode Date
#291 Operational Resilience with Pyomo
Do you have a scientific system that needs optimization or solving? Our guest, on this episode, Clark Petri is here to tell us all about pyomo. This is a library that can solve all sorts of cool problems, linear programming, nonlinear equations, and many other things you can throw at it.

We're gonna solve a really fun diet problem: What is the most nutritious meal that you can eat for the least amount of money? The answer might surprise you a little bit! It's going to be a lot of fun. So listen in to hear about how Clark has used pyomo to do his work and how you might use it in yours.

Links from the show

Clark on Twitter: @clarkpetri
Center for Infrastructure Defense:
I’m not alone in my work post:
handcalcs package:
Diet optimization problem:

Talk Python [Pro Edition]:
Black Friday at Talk Python:


Talk Python Training
Nov 22, 2020
#290 Side Hustles for Data Scientists
Are you a data scientist looking to branch out on your own and start something new? Maybe you're just looking for a way to work with those exciting libraries that aren't yet in play at the day job. Rather than putting everything on the line, quitting your job, and hoping things work out, maybe you should start with a side-hustle.

On this episode, you'll meet Keith McCormick, a data scientist who has many irons in the fire and he's here to tell us about different types of side hustles and why you may want to try or avoid one.

Links from the show

Keith on Twitter: @kmccormickblog
Keith on LinkedIn:
Keith's courses:
Side Hustle Strategies for Data Science and Analytics Experts course:

Talk Python's Excel to Python course:


Talk Python Training
Nov 13, 2020
#289 Discovering exoplanets with Python
When I saw the headline "Machine learning algorithm confirms 50 new exoplanets in historic first" I knew the Python angle of this story had to be told! And that's how this episode was born. Join David Armstrong and Jev Gamper as they tell us how they use Python and machine learning to discover not 1, but 50 new exoplanets in pre-existing Keplar satellite data.

Links from the show

Jev Gamper on Twitter: @brutforcimag
Machine learning algorithm confirms 50 new exoplanets in historic first article:


Talk Python Training
Nov 09, 2020
#288 10 tips to move from Excel to Python
Excel is one of the most used and most empowering piece of software out there. But that doesn't make it a good fit for every data processing need. And when you outgrow Excel, a really good option for a next step is Python and the data science tech stack: Pandas, Jupyter, and friends.

Chris Moffitt is back on Talk Python to give us concrete tips and tricks for moving from Excel to Python!

Links from the show

Chris on Twitter: @chris1610
Practical Business Python:
Escaping Excel Hell with Python and Pandas Episode 200:
SideTable package:

Learn more and go deeper
Move from Excel to Python with Pandas Course:
Excel to Python webcast:


Voyager game
Talk Python Training
Oct 31, 2020
#287 Testing without dependencies, mocking in Python
We know our unit tests should be relatively independent from other parts of the system. For example, running a test shouldn't generally call a credit card possessing API and talk to a database when your goal is just to test the argument validation.

And yet, your method does all three of those and more. What do you do? Some languages use elaborate dependency passing frameworks that go under the banner of inversion of control (IoC) and dependency injections (DI). In Python, the most common fix is to temporarily redefine what those two functions do using patching and mocking.

On this episode, we welcome back Anna-Lena Pokes to talk us through the whole spectrum of test doubles, dummies, mocks, and more.

Links from the show

Anna-Lena's personal site:
100 Days of Code episode:
Anna-Lena on Github:
PyCon talk from Lisa Road (2018) - “Demystifying the patch function”:
PyCon talk from Edwin Jung (2019) - Mocking and Patching Pitfalls:
Keynote talk “Finding Magic in Python” (about magical universe
Blog post about mocking in Python:
Stackoverflow post on difference between stubs and mocks:
Freezegun project:
KI Macht Schule (AI goes to school):
Code Combat:


Talk Python Training
Oct 21, 2020
#286 Python and ML at NASA Jet Propulsion Laboratory (JPL)
NASA's Jet Propulsion Laboratory (JPL)'s primary function is the construction and operation of planetary robotic spacecraft, though it also conducts Earth-orbit and astronomy missions. It is also responsible for operating NASA's Deep Space Network.

On this episode, you'll meet Chris Mattman. He's the Division Manager for the Artificial Intelligence, Analytics and Innovation at NASA JPL and he's JPL's first Principal Scientist in the area of Data Science. We cover a wide range of topics, and dive into how Python and open-source are growing in the space exploration field. And he answers the question of whether he thinks we'll have Python running on robots and rovers in space.

Links from the show

Chris on Twitter: @chrismattmann
Chris at JPL:
Nature: A vision for data science:
Open source at JPL:
Apache Nutch:
7 Minutes of Terror: The Challenges of Getting to Mars:
tqdm package:
Panama Papers:


Talk Python Training
Oct 16, 2020
#285 Dask as a Platform Service with Coiled
If you're into data science, you've probably heard about Dask. It's a package that feels like familiar APIs such as Numpy, Pandas, and Scikit-Learn. Yet it can scale that computation across CPU cores on your local machine all the way to distributed grid-based computing in large clusters.

While powerful, this may take some serious setup to execute in its full glory. That's why Matthew Rocklin has teamed up with Hugo Bowne-Anderson and others to launch a business to help Python loving data scientists run Dask workloads in the cloud. And they are here to tell us about they open-source foundation business.

And they must be on to something, between recording and releasing this episode, they raised $5M in VC funding.

Links from the show

Hugo on Twitter: @hugobowne
Matthew on Twitter: @mrocklin
Coiled raised $5M in Sept:
A brief history of dask article:
Coiled: Dask for Everyone, Everywhere:
The incredible growth of python:
Growth updated (SO Trends current):
Coiled Youtube channel:
Snorkel package:


Talk Python Training
Oct 09, 2020
#284 Modern and fast APIs with FastAPI
As Python 3 has eclipsed the old constrains of Python 2 and web frameworks that adopted them, we have seen a big jump in new frameworks appearing on the scene taking full advantage of things like type hints, async and await, and more.

No framework has done this more successfully than FastAPI recently. That's why we are here with the creator of FastAPI, Sebastián Ramírez to dive into this exciting new Python web framework.

Links from the show

Sebastian: @tiangolo
FastAPI: One of the fastest Python frameworks available:
FastAPI for Flask Users:
FastAPI Docker image:
Traffic server:


Talk Python Training
Oct 04, 2020
#283 Web scraping, the 2020 edition
Web scraping is pulling the HTML of a website down and parsing useful data out of it. The use-cases for this type of functionality are endless. Have a bunch of data on governmental sites that are only listed online in HTML without a download? There's an API for that! Do you want to keep abreast of what your competitors are featuring on their site? There's an API for that. Need alerts for changes on a website, for example enrollment is now open at your college and you want to be first to get in and avoid the 8am Monday morning course slot? There's an API for that.

That API is screen scraping and Attila Tóth from ScrapingHub is here to tell us all about it.

Links from the show

Attila Tóth on LinkedIn:
Scrapy project:
Scrapinghub on Twitter: @scrapinghub
cookiecutter template for Scrapy projects:
Splash: headless browser designed specifically for web scraping:
Awesome Web Scraping list:

Talk Python episode 50 on web scraping:
How Web Scraping is Revealing Lobbying and Corruption in Peru:
Web Data Extraction Summit event:


Talk Python Training
Sep 23, 2020
#282 pre-commit framework
Git hook scripts are useful for identifying simple issues before committing your code. Hooks run on every commit to automatically point out issues in code such as trailing whitespace and debug statements. By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks.

As we created more libraries and projects we recognized that sharing our pre-commit hooks across projects is painful. That's why I'm happy to welcome Anthony Sottile to the show to discuss pre-commit, a framework for managing and maintaining multi-language pre-commit hooks.

Links from the show

Anthony at Twitter: @codewithanthony
pre-commit continuous integration:
pre-commit hooks:
pre-commit on GitHub:
shhgit secret discovery project:
babi editor:
Twitch stream:

Anthony on GitHub:


Talk Python Training
Sep 17, 2020
#281 Python in Car Racing
I love to bring you stories of Python being used in amazing places outside the traditional tech silos of pure web development and data science.

On this episode, you'll meet Robert "Kane" Replogle, who works on the simulation and test software at Richard Childress Racing. The NASCAR team that just finished #1 and 2 in at the Texas Motor Speedway.

You'll hear how Python is allowing them to model car behavior, air flow, and more much faster than others using outdated tools.

Watch the hot lap around Brands Hatch

Links from the show

Kane on LinkedIn:
Kane on Twitter: @ReplogleRk
Richard Childress Racing:
Windshear, the 180 mph tunnel:
blackcellmagic package:


SonarQube linting tools
Talk Python Training
Sep 09, 2020
#280 Python and AI in Journalism
If there has ever been a time in history that journalism is needed to shine a light on what's happening in the world, it's now. Would it surprise you to hear that Python and machine learning are playing an increasingly important role in discovering and bringing us the news? On this episode, you'll meet Carolyn Stansky, a journalist and developer who's been researching this intersection.

Links from the show

Carolyn on Twitter: @carolstran
Carolyn on LinkedIn:
Carolyn's site:
Carolyn's talk: How AI is enhancing journalism:

Examples of AI / automation in use
LA Homicide Tracker:
Buzzfeed Finding and tracking secret spy planes:
NY Times comment moderation:
Al Jazzira: Drones in warzones:

Tools - Quartz AI Studio, focused on helping smaller papers and journalists:
Google News Initiative:

Newspaper3k Package:
Google News and Australia fight:
Twitter thread on American news overwhelming other countries:


Talk Python Training
Sep 05, 2020
#279 Modern Python Developer's Toolkit
Python is quick and easy to learn. And yet, there is a massive gap between knowing the common aspects of the language (loops, variables, functions, and so on) and how to write a well-factored application using modern tools and libraries. That's where learning Python is a never-ending journey.

Sebastian Witowski is here to give us his take on a modern Python developer's toolkit. There are a bunch of great tips in store for us.

Links from the show

Sebastian on Twitter: @SebaWitowski
The tutorial recording from PyCon:
Sebastian’s website:
Workshop resources site:
Writing Faster Python talk:
Hugo Static Site Theme:

Announcements at Talk Python
Python Memory Course:
Excel to Python and Pandas Course:
Excel to Python Webcast:
Team Cohorts:


Talk Python Training
Aug 29, 2020
#278 Teach kids Python with real programming and fun games at Code Combat
If there is one message I've been pushing across all of the Talk Python episodes, it's that programming is a superpower. Rather than all of us abandoning what we're interested in and becoming CS majors, we can take our passion or expertise and 10x it with a little programming skill.

In that case, we should be teaching kids fluency in programming at a younger age. And yet, almost every platform or example meant to do so pulls its punches. We'll teach kids programming concepts but not code itself. That's a bridge too far.

But it's not! That's why I'm excited about Code Combat. It's an online coding platform that uses real Python syntax to guide your hero, visually, through a dungeon full of challenges. Yet the editor and customized error messages mean this is approachable for kids before they can even type reliably.

On this episode, we'll meet Nick Winter, one of the cofounders of Code Combat. There's a lot of philosophy behind the tool and technology to make it kid-friend and real Python at the same time.

Oh, and it's running Python in the browser.

Links from the show


On Twitter
Code Combat: @CodeCombat
Nick Winter: @nwinter

Nick's website:
Code Combat on GitHub:
Brett's learnable programming talk:



Talk Python Training
Aug 21, 2020
#277 10 tips every Django developer should know
We recently covered 10 tips that every Flask developer should know. But we left out a pretty big group in the Python web space: Django developers! And this one is for you. I invited Bob Belderbos, who's been running his SaaS business on Python and Django for several years now, to share his tips and tricks.

The 10 tips

  1. Django Admin
  2. ORM magic
  3. Models
  4. Debugging/Performance Toolbar
  5. Extending the User model
  6. Class based views (CBVs)
  8. Write your own middleware
  9. Config variable management with python-decouple and dj-database-url
  10. Built-in template tags and filters

Links from the show

Bob on Twitter: @bbelderbos
Code Challenges Platform:

Django admin:
Django admin cookbook:
Use some Django ORM magic to get the most common first names:
Django custom manager:
Debug toolbar:
Extending the user model / working with signals / @receiver:
Class-based views:
Comparing class and function-based views:
Example of class-based views:
Django command template:
Django middleware example:

Config settings management:

Useful template tags and filters:

is_new filter example:
Asynchronous Tasks with Django and Celery:
Celery debugging - CELERY_ALWAYS_EAGER:

Extra tools Michael mentioned
BeeKeeper Studio:
Human time to Python parse string site (the one I forgot):


Talk Python Training
Aug 10, 2020
#276 Geekout: Life in the solar system and beyond
We're back with another GeekOut episode. Richard Campbell, a developer and podcaster who also dives deep into science and tech topics, is back for our second GeekOut episode. Last time we geeked out about the real science and progress around a moon base. This time it's why is there life on Earth, where could it be or have been in the solar system, and beyond.

In case you didn't catch the first GeekOut, episode 253, this one is more of a general science and tech episode. I love digging into the deep internals of all the tools of the Python space, but given all that is going on in the world, I thought it'd be fun to take a step back and just enjoy some fun geekery and give you all something to just sit back and let your mind dream.

Links from the show

Richard on Twitter: @richcampbell
All Richard's GeekOut Episodes:
Moonbase Geekout Episode:
High Altitude Venus Operational Concept (HAVOC):
New Horizons:
The Planets: Saturn - NOVA documentary (Cassini):
Mission to Jupiter - Galileo:


Talk Python Training
Aug 06, 2020
#275 Beautiful Pythonic Refactorings
Do you obsess about writing your code just the right way before you get started? Maybe you have some ugly code on your hands and you need to make it better. Either way, refactoring could be your ticket to happier days! On this episode, we'll talk through a powerful example of iteratively refactoring some code until we eventually turn our ugly duckling into a Pythonic beauty.

Conor Hoekstra is our guest on this episode to talk us through refactoring some web scraping code.

Links from the show

The PyCon talk:
Presentation source code:
Conor on Twitter: @code_report
Youtube channel:
Perf example exceptions vs. test:
PyCon Online:
RAPIDS AI project:
Slides from presentation (with 9 refactoring steps):
Talk Python episode on Sourcery:

pip for venv only environment variable


Talk Python Training
Aug 01, 2020
#274 Profiling data science code with FIL
Do you write data science code? Do you struggle loading large amounts of data or wonder what parts of your code use the maximum amount of memory? Maybe you just want to require smaller compute resources (servers, RAM, and so on).

If so, this episode is for you. We have Itamar Turner-Trauring, creator of the Python data science memory profiler FIL here to talk memory usage and data science.

Links from the show

Itamar on twitter: @itamarst
Python Bytes coverage of FIL:
Video: Small Big Data: using NumPy and Pandas when your data doesn't fit in memory:
Software Engineering for Data Scientists Article:

Python Tutor:
Weak references:

memory_profiler package:
Austin profiler:
WSL2 on Windows:


Talk Python Training
Jul 24, 2020
#273 CoCalc: A fully colloborative notebook development environment
Everyone in the Python space is familiar with Notebooks these days. One of the original notebook environments was SageMath. Created by William Stein, and collaborators, it began as an open-source, Python-based, computational environment focused on mathematicians.

It has since grown into a full-blown company and has become a proper collaborative environment for things like Jupyter notebooks, Linux-backed Bash shells, and much more. Think Google Docs but across all these facets of development in your browser.

We welcome back William Stein to give us an update on his journey from professor to entrepreneur building CoCalc along the way.

Links from the show

William on Twitter: @wstein389
Episode 59 about SageMath:
Comparing CoCalc to other products:
X11 server:


Talk Python Training
Jul 18, 2020
#272 No IoT things in hand? Simulate them with Device Simulator Express
Python is one of the primary languages for IoT devices. With runtimes such as CircuitPython and MicroPython, they are ideal for the really small IoT chips.

Maybe you've heard of the Circuit Playground Express, BBC micro:bit, or the fancy Adafruit CLUE. They aren't too expensive (ranging from $25 to $50 each). But for large groups such as classrooms, this can be a lot of money. Moreover, getting your hands on these devices can sometimes be tricky as well.

With an extension for VS Code called Device simulator express, you can have instant access to all three (virtually of course). This cool extension adds a visual emulator as well as the native interactions such as buttons and temperature sensors.

Get your IoT on without a real device using VS code today. Let's meet the most recent team behind this project:


* Andrea Mah
* Sayyeda Mussa
* Vandy Liu
* Xuan-Nam Kevin Nguyen

Links from the show

Device simulator express:
Source code:
Meet the team (short video intro):
Overview video:

Circuit Playground Express:
BBC micro:bit:


Talk Python Training
Jul 12, 2020
#271 Unlock the mysteries of time, Python's datetime that is!
Time is a simple thing, right? And working with it in Python is great. You just import datetime and then (somewhat oddly) use the datetime class from that module.

Oh except, there are times with timezones, and times without. And why is there a total_seconds() but not total_minutes(), hours() or days() on timedelta? How about computing the number of weeks?

What if you wanted to iterate over the next 22 workdays, skipping weekends?

Ok, we'd better talk about time in Python! Good thing Paul Ganssle is here. He's a core developer who controls time in CPython.

Links from the show

Talk Python Training Humble Bundle:

Paul on Twitter: @pganssle
Paul's Blog:
Paul's Website:

Datetime blog posts
pytz: The fastest footgun in the West:
Stop using utcnow and utcfromtimestamp:
A curious case of non-transitive datetime comparison:
Semantics of timezone-aware datetime arithmetic:


PEP 495: Local time disambiguation:
PEP 615: Support for the IANA Time Zone Database in the Standard Library:

zoneinfo documentation in Python 3.9:

Extra libraries

Indiana Time Zones:


Talk Python Training
Jul 04, 2020
#270 Python in supply chains: oil rigs, rockets, and lettuce
On this episode, we are going to weave a thread through three different areas of Python programming that at first seem unlikely to have much in common. Yet, the core will be the same throughout. I think this is a cool lesson to learn as you get deeper into programming and a great story to highlight it.

We are going to meet Ravin Kumar who wrote Python code and data science tooling for oil rig tool manufacturer, a rocket company, and a hip multilocation restaurant chain.

Links from the show

Ravin on Twitter: @canyon289
Arviz project:
pystan project:
Bayesian Decision Making:
open-aerospace project:
Get notified when Bayesian Computation In Python is out:
Bayesian Analysis with Python Book:


Sentry Error Monitoring, Code TALKPYTHON
Talk Python Training
Jun 25, 2020
#269 HoloViz - a suite of tools for Python visualization
The toolchain for modern data science can be intimidating. How do you choose between all the data visualization libraries out there? How about creating interactive web apps from those analyses? On this episode, we dive into a project that attempts to bring the whole story together: HoloViz.

HoloViz is a coordinated effort to make browser-based data visualization in Python easier to use, easier to learn, and more powerful. And we have Philipp Rudiger from HoloViz here to guide us through it.

Links from the show

Philipp on Twitter: @PhilippJFR
HoloViews on Twitter: @HoloViews
Panel on Twitter: @Panel_org
Datashader on Twitter: @datashader
HoloViz tutorial:
Panel website:
HoloViews website:
GeoViews website:
Project Discourse:
PyData Berlin talk:
Census example:


Talk Python Training
Jun 19, 2020
#268 Analyzing dozens of notebook environments
Are you using interactive notebooks for your data exploration or day-to-day programming? What environment do you use? Was it Jupyter and now you've made the move to JupyterLab? That's a great choice. But did you know there are more environments out there to choose from and compare? Have you heard of Callisto or Iodide? How about CoCalc or PolyNote? That's just the tip of the iceberg!

That's why I'm happy to have Sam Lau and Philip Guo here to share their research comparing and categorizing over 60 notebook environments.

Links from the show


Sentry Error Monitoring, Code TALKPYTHON
Talk Python Training
Jun 13, 2020
#267 15 amazing pytest plugins
Do you write tests for your code? You probably should. And most of the time, pytest is the industry standard these days. But pytest can be much more than what you get from just installing it as a tool.

There are many amazing plugins that improve pytest in many aspects. That's why I invited Brian Okken to the show to tell us about his favorites. Listen in and your Python testing will be faster, stronger, and more beautiful!

Links from the show

Brian Okken: @brianokken
Brian's pytest book:
Test & Code podcast:
Test & Code 104: Top 28 pytest plugins:

The list of plugins



Sentry Error Monitoring, Code TALKPYTHON
Talk Python Training
Jun 06, 2020
#266 Refactoring your code, like magic with Sourcery
Refactoring your code is a fundamental step on the path to professional and maintainable software. We rarely have the perfect picture of what we need to build when we start writing code and attempts to over plan and overdesign software often lead to analysis paralysis rather than ideal outcomes.

Join me as I discuss refactoring with Brendan Maginnis and Nick Thapen as well as their tool, Sourcery, to automate refactoring in the popular Python editors.

Links from the show


Brendan Maginnis: @brendan_m6s
Nick Thapen: @nthapen

Sourcery on Twitter: @sourceryai
VS Code and PyCharm Plugins:
GitHub Bot:
For an instant demo ⭐ this repo, and Sourcery will refactor your most popular Python repo:

Python Refactorings article:

Talk Python episode:
Nuitka site:

Gilded Rose Kata:


Talk Python Training
May 29, 2020
#265 Why is Python slow?
The debate about whether Python is fast or slow is never-ending. It depends on what you're optimizing for: Server CPU consumption? Developer time? Maintainability? There are many factors. But if we keep our eye on pure computational speed in the Python layer, then yes, Python is slow.

In this episode, we invite Anthony Shaw back on the show. He's here to dig into the reasons Python is computationally slower than many of its peer languages and technologies such as C++ and JavaScript.

Links from the show

Anthony's CPython Source Book:
Anthony's PyCon Talk:
N-body problem example:
HPy project:
Austin profiler:

Prior episodes:
#240: A guided tour of the CPython source:
#214: Dive into CPython 3.8:
#168: 10 Python security holes:


Sentry Error Monitoring, Code TALKPYTHON
Talk Python Training
May 19, 2020