DiscoverTalk Python To Me
Talk Python To Me
Claim Ownership

Talk Python To Me

Author: Michael Kennedy (@mkennedy)

Subscribed: 28,831Played: 514,062


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.
406 Episodes
If you're like most people, the simplicity and easy of getting started is a big part of pytest's appeal. But beneath that simplicity, there is a lot of power and depth. We have Brian Okken on this episode to dive into his latest pytest tips and tricks for beginners and power users.
The great power of Python is its over 400,000 packages on PyPI to serve as building blocks for your app. How do you get those needed packages on to your dev machine and managed within your project? What about production and QA servers? I don't even know where to start if you're shipping built software to non-dev end users. There are many variations on how this works today. And where we should go from here has become a hot topic of discussion. So today, that's the topic for Talk Python. I have a great panel of guests: Steve Dower, Pradyun Gedam, Ofek Lev, and Paul Moore.
So you know about dependencies and testing, right? If you're talking to a DB in your app, you have to decide how to approach that with your tests. There are lots of solid options you might pick and they vary by goals. Do you mock out the DB layer for isolation or do you use a test DB to make it as real as possible? Do you just punt and use the real DB for expediency? What if your dependency was a huge array of radio telescopes and a rack of hundreds of bespoke servers? That's the challenge on deck today were we discuss testing radio astronomy with pytest with our guest James Smith. He's a Digital Signal Processing engineer at the South African Radio Astronomy Observatory and has some great stories and tips to share.
#404: Clean Code in Python

#404: Clean Code in Python


Clean code is one of those aspects of your programming career that's easy to put on the back burner (sometimes by management more than yourself). But it's important in the short term for writing more debuggable and readable code. And important in the long run for avoiding having your program take on the dreaded "legacy code" moniker. We're fortunate to have Bob Belderbos back on the show. He's been thinking and writing about clean code and Python a lot lately and we'll dive into a bunch of tips you can use right away to make your code cleaner.
Imagine a world with free and unlimited clean energy. That's the musings of a great science fiction story. But nuclear fusion (the kind that powers the sun) has always been close at hand, we see the sun every day, and yet impossibly far away as a technology. We took a major step towards this becoming a reality with the folks at the Lawrence Livermore National Labratory in the US achieved "ignition" where they got significantly more energy out than they put in. And Python played a major role in this research and experiment. We have Jay Salmonson here to give us a look at the science and the Python code of this discovery.
When you think about processing tabular data in Python, what library comes to mind? Pandas, I'd guess. But there are other libraries out there and Polars is one of the more exciting new ones. It's built in Rust, embraces parallelism, and can be 10-20x faster than Pandas out of the box. We have Polars' creator, Ritchie Vink here to give us a look at this exciting new data frame library.
At some point, you've probably migrated an app from one framework or major runtime version to another. For example, Django to Flask, Python 2 to Python 3, or even Angular to Vue.js. This can be a big challenge. If you had 100s of active devs and millions of lines of code, it's a huge challenge. We have Ben Bariteau from Yelp here to recount their story moving 3.8M lines of code from Python 2 to Python 3. But this is not just a 2-to-3 story. It has many lessons on how to migrate code in many situations. There are plenty of gems to take from his experience.
Our code quality tools (linters, test frameworks, and others) play an important role in keeping our code error free and conforming to the rules our teams have chosen. But when these tools become sluggish and slow down development, we often avoid running them or even turn them off. On this episode, we have Charlie Marsh here to introduce Ruff, a fast Python linter, written in Rust. To give you a sense of what he means with fast, common Python linters can take 30-60 seconds to lint the CPython codebase. Ruff takes 300 milliseconds. I ran it on the 20,000 lines of Python code for our courses web app at Talk Python Training, and it was instantaneous. It's the kind of tool that can change how you work. I hope you're excited to learn more about it.
#399: Monorepos in Python

#399: Monorepos in Python


Monorepos are contrary to how many of us have been taught to use source control. To start a project or app, the first thing we do is create a git repo for it. This leads to many focused and small repositories. A quick check of my GitHub account shows there are 179 non-fork repositories. That's a lot but I think many of us work that way. But it's not like this with monorepos. There you create one (or a couple) repositories for your entire company. This might have 100s or 1,000s of employees working on multiple projects within the single repo. Famously, Google, Meta, Microsoft, and Airbnb all employ very large monorepos with varying strategies of coordination.
The iconic and first ever image of a black hole was recently released. It took over a decade of work and is a major achievement for astronomy and broadens our understanding of the universe for all of us. Would it surprise you to know that Python played a major part in this discovery? Of course it did, and Dr. Sara Issaoun is here to give us the full story.
The beauty of open source software and libraries is that you're not stuck with a single option some vendor is offering. This is especially true when that support is poor and antiquated. Almost any capability you think of has multiple options even for a single language such as Python. Just think about how many web frameworks you can pick today.
For links and very detailed show notes, please view [the original episode page]( code) over on Python Bytes. Thanks for listening!
If you maintain projects on places like GitHub, you know that having a classy readme is important and that maintaining a change log can be helpful for you and consumers of the project. It can also be a pain. That's why I'm excited to welcome back Ned Batchelder to the show. He has a lot of tools to help here as well as some opinions we're looking forward to hearing. We cover his tools and a bunch of others he and I found along the way.
Jupyter is an amazing environment for exploring data and generating executable reports with Python. But there are many external tools, extensions, and libraries to make it so much better and make you more productive. On this episode, we are going to cover a ton of them. We have Markus Schanta, the maintainer of the awesome-jupyter list on the show and we'll highlight a bunch of Jupyter gems.
Space science is one of the few sciences that can spark wonder and imagining in almost anyone. It also happens to be the domain of Python with many missions, telescopes, and analysis happening with Python playing a major role.
When you think data science, Jupyter notebooks and associated tools probably come to mind. But I want to broaden your toolset a bit and encourage you to look around at other tools that are literally at your fingertips. The terminal and shell command line tools. On this episode, you'll meed Jeroen Janssens. He wrote the book Data Science on The Command Line Book and there are a bunch of fun and useful small utilities that will make your life simpler that you can run immediately in the terminal. For example, you can query a CSV file with SQL right from the command line.
No Python announcement of 2022 was met with more fanfare than pyscript. This project, announced at PyCon 2022, allows you to write Python files and run them in your browser in place of JavaScript or even with interactions between Python and JavaScript. There was just one catch: The runtime download was a 9MB WebAssembly file. That made its uses quite limited.
Wondering what Mastodon is all about? More importantly, what does it offer Python developers and other open source folks compared to Twitter? There is a huge amount of interest in the tech community about what's happening at Twitter and whether they should expand to or even move to a new location. So I decided to put together a set of experienced Python developers who have been Mastodon inhabitants for a long time to discuss what this unexpected shift means for one of our important online watering holes.
If you're a fan of Python's async and await keywords and the powers they unlock, then this episode is for you. We have Timo Furrer here to share a whole bunch of asyncio related Python packages. Timo runs the awesome-asyncio list and he and I picked out some of our favorites to share with you.
Python 3.11 is here! Keeping with the annual release cycle, the Python core devs have released the latest version of Python. And this one is a big one. It has more friendly error messages and is massively faster than 3.10 (between 10 to 60% faster) which is a big deal for a year over year release of a 30 year old platform. On this episode, we have Irit Katriel, Pablo Galindo Salgado, Mark Shannon, and Brandt Bucher all of whom participated in releasing Python this week on the show to tell us about that process and some of the highlight features.
Comments (35)



Dec 25th

Vlad Bezden

Great podcast! The best part was about deployment tools py2app and PyInstaller. That is exactly what I was looking for. After listening about it, I just used PyInstaller at the company and it worked like a charm. Thank you for doing it and keep up a good work!

Oct 4th

Javad Hamidi

voice quality is terrible

Jul 29th

Hamza Senhaji Rhazi

this episode is gold, the article submitted with it is gold too

Apr 27th

Joshua Tasker

yo so I'm barely starting to get into this or I really want to learn how to code what do you recommend for me to start I have very little knowledge just being honest

Feb 10th


nix the intro music

Feb 1st

Antonio Andrade

It was fun, thanks for having me over

Dec 28th



Feb 24th

Magnus Lamont

Carlton's talk is on YouTube as "DjangoCon 2019 - Using Django as a Micro-Framework: Hacking on the HTTP handlers.. by Carlton Gibson" Couldn't find it in the show notes.

Feb 3rd

Kit Macleod


Dec 31st

Pat Decker

Michael, At the end of each episode you could ask "Is it Gif or Jif?" Just for the fun of it.

Sep 9th

Carl Littlejohns

great podcast - testing your tests all night (without even being there) - some good coding discipline there for us noobs

Jun 20th

J Bit

great episode! I've been using Python on Windows for the past two years and I love it. I've never had any problems specific to Windows.

Dec 19th
Reply (1)

Hossein Fakhari

at the 53:12 what is the package name? pip install eo? eil?

Sep 16th

Dan Stromberg

Pyodide is undeniably cool. There's also a micropython port to wasm that might make sense for basic webapps.

May 18th

Antonio Andrade

ummm. But the mic sounds terrible hahah

Apr 22nd

Kelechi Emenike

you remind me of me! excellent Googler, master of science, business-related experience, passionate about teaching... the only thing I've not done like you is actually create my own course... you wanna take on a mentee? I'm game please ^--^

Apr 6th

Patryk Siewiera

I listen for a year, I fell like Michael Kennedy is my best friend, im so grateful for showing me that excitement and possibilities with this language, this is my new road in life. thanks so much 10/10

Mar 7th



Feb 16th

Ketan Ramteke

Stackoverflow users are really mean but I still love it, there is no better alternative to it and the meanness keeps bad contents at bay. So it's good to be mean I guess.

Dec 11th
Download from Google Play
Download from App Store