Talk Python To Me

by Michael Kennedy (@mkennedy)

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.

  

Latest Episodes

#320: Python in the Electrical Energy Sector

In this episode, we cover how Python is being used to understand the electrical markets and grid in Australia. Our guest, Jack Simpson, has used Python to uncover a bunch of interesting developments as the country has adopted more and more solar energy. We round out the episode looking at some best practices for high-performance, large-data processing in Pandas and beyond.

In addition to that, we also spend some time on how Jack used Python and Open CV (computer vision) to automate the study of massive bee colonies and behaviors. Spoiler alert: That involved gluing Wing Ding fonts to the backs of bees!

Links from the show

Jack Simpson: jacksimpson.co
Bees, lasers, and machine learning: jacksimpson.co
South Australian Gas Generator Interventions: jacksimpson.co
PySAM System Advisor Model: sam.nrel.gov
Visualizing the impact of Melbourne’s COVID-19 lockdown on Solar Panel Installations: jacksimpson.co

Stack Overflow Python graph: insights.stackoverflow.com
Episode transcripts: talkpython.fm

Sponsors

Square
Linode
AssemblyAI
Talk Python Training


Audio Download

Posted on 12 June 2021 | 8:00 am


#319: Typosquatting and Supply Chains Vulnerabilities

One of the true superpowers of Python is the libraries over at the Python Package Index. They are all just a "pip install" away. Yet, like all code that you run on your system, it is done with some degree of trust. How do we know that all of those useful packages are trustworthy?

That's the topic of this episode. Bentz Tozer and John Speed Meyers are here to share their research into typosquatting on PyPI and other sneaky deeds. But we also discuss some potential solutions and fixes.

Links from the show

Overview topics
SolarWinds: csoonline.com
XCodeGhost: macrumors.com
Python Package Index nukes 3,653 malicious libraries uploaded: theregister.com
Dependency confusion: medium.com
Typosquatting Is About More Than Typos: iqt.org
Approaches to Protecting the Software Supply Chain: iqt.org
A Quant’s View of Software Supply Chain Securityz: usenix.org

Organizations
Open Source Security Foundation (OpenSSF): openssf.org
Python Security Response Team: python.org

Proposed solutions and tools
pypi-scan: github.com
AuraBorealis App: github.com
Project Aura: aura.sourcecode.ai
Aura source code: github.com
Reduce Typosquatting Harm via Social Distancing for Top PyPI Packages: github.com
Have I Been Pwned: haveibeenpwned.com
Snyk Package Advisor: snyk.io
Backstabbers-Knife-Collection: dasfreak.github.io
NetworkML Package: github.com

Misc
Google as a Visionary Sponsor: pyfound.blogspot.com
Episode transcripts: talkpython.fm

Sponsors

Square
Talk Python Training
AssemblyAI


Audio Download

Posted on 6 June 2021 | 8:00 am


#318: Measuring your ML impact with CodeCarbon

Machine learning has made huge advancements in the past couple of years. We now have ML models helping doctors catch disease early. Google is using ML to suggest traffic routes in their maps app that will lesson the amount of gasoline used in the trip. And many more examples. But there is a heavy cost for training machine learning models.

In this episode, you'll meet Victor Schmidt, Jonathan Wilson, and Boris Feld. They work on the CodeCarbon project together. This project offers a Python package and dashboarding tool to help you understand and minimize your ML model's environmental impact.

Links from the show

Guests
Victor Schmidt: @vict0rsch
Jonathan Wilson: haverford.edu
Boris Feld: @Lothiraldan

CodeCarbon project: codecarbon.io
MIT "5 Cars" Article: technologyreview.com

Green Future Choice Renewable Power in Portland: portlandgeneral.com
YouTube Live Stream: youtube.com
Episode transcripts: talkpython.fm

Sponsors

Square
Talk Python Training
AssemblyAI


Audio Download

Posted on 28 May 2021 | 8:00 am


#317: Python at the US Federal Election Commission

When you think of government software development and projects, do you fast apps and modern tech stacks jump to mind? Probably not. So you'll be delighted to hear from our guest, Laura Beaufort. She's the Tech Lead at the US Federal Election Commission.

She and her team have built a very modern tech stack running modern Flask web apps with APIs powered by SQLAlchemy and Flask-RESTFUL. The app is available open-source on GitHub. And they deploy it with continuous delivery out to cloud.gov.

There are lots of lessons to learn for governmental agencies around the world as well as private organizations, small and large.

Links from the show

Laura on Twitter: @laurabeaufort
Wagtail CMS: wagtail.io
FEC: fec.gov
18F: 18f.gsa.gov
Open source at the FEC: code.gov
Cloud.gov PaaS: cloud.gov
18F De-risking Guide: derisking-guide.18f.gov
US Digital Services episode: talkpython.fm
Digital Services Playbook: playbook.cio.gov
Digital.gov Communities of practice: digital.gov
FEC Github Repos: github.com
Laura's presentation to community of practice: youtube.com
YouTube Live Stream: youtube.com
Episode transcripts: talkpython.fm

Sponsors

Square
Talk Python Training
AssemblyAI


Audio Download

Posted on 21 May 2021 | 8:00 am


#316: Flask 2.0

Flask is one of the most popular Python web frameworks. And they have huge news to share with us. Flask 2.0 just released after a ton of work. And it's as big of a deal as the version number suggests. Async changes are coming, Python 3.5 and below (including Python 2) support has been dropped and much much more. Join me as I discuss Flask 2.0 with David Lord and Philip Jones.

Links from the show

Pallets Team on Twitter: @PalletsTeam
Reddit discussion on Flask 2.0: reddit.com
Phil's Why is Flask not Async Talk: youtube.com
Miguel Grinberg's Websocket Ideas: twitter.com
Pydantic with Quart: gitlab.com/pgjones/quart-schema
Open source goes to Mars 🚀: github.blog
YouTube Live Stream: youtube.com
Episode transcripts: talkpython.fm

Sponsors

Talk Python Training
AssemblyAI


Audio Download

Posted on 14 May 2021 | 8:00 am


#315: Awesome FastAPI extensions and add ons

Have you heard that FastAPI is awesome? We have Michael Herman back on the show to help us make it even more awesome with his FastAPI awesome list. He's categorized many extensions and other libraries working with FastAPI to help you be even more efficient with this framework.

Links from the show

Michael on Twitter: @mikeherman
awesome-fastapi list: github.com
FastAPI: fastapi.tiangolo.com
TestDriven.io: TestDriven.io
Monitaur: Monitaur.ai
FastAPI 3-course bundle: testdriven.io/talkpython
Thonny: thonny.org
hotwire-django: github.com
Chameleon decorator for FastAPI: github.com
Jinja2 decorator for FastAPI: github.com
Catch Talk Python Live Streams: talkpython.fm/live
Episode transcripts: talkpython.fm

Sponsors

Talk Python Training
AssemblyAI


Audio Download

Posted on 7 May 2021 | 8:00 am


#314: Ask us about modern Python projects and tools

Here's an episode that I did not see coming! Sebastian Witowski and I put together a live stream ask me anything (AMA) as a follow up to some of the ideas around his recent course, Modern Python Projects. We dove deep in comparisons of Poetry vs. pip vs pyenv and answered questions like do you need to use Docker? When should you? and so on.

After the AMA was over, I realized it would also make a great podcast too. So here go you! This is our AMA with Sebastian around all the ideas of modern Python workflows. I hope you enjoy it!

Links from the show

Sebastian on Twitter: @SebaWitowski
Modern Python Projects Course: talkpython.fm/modern-python-projects
YouTube Live Stream edition: youtube.com
Episode transcripts: talkpython.fm

Sponsors

45Drives
Talk Python Training
AssemblyAI


Audio Download

Posted on 30 April 2021 | 8:00 am


#313: Automate your data exchange with PyDantic

Data validation and conversion is one of the truly tricky part of getting external data into your app. This might come from a REST API, a file on disk, or somewhere else. This includes checking for required fields, correct data types, converting from compatible types (for example, strings to numbers), and much more. Pydantic is one of the best ways to do this in modern Python using dataclass-like constructs and type annotations to make it all seamless and automatic.

We welcome Samuel Colvin, creator of Pydantic, to the show. We'll dive into the history of Pydantic and it's many uses and benefits.

Links from the show

Samuel on Twitter: @samuel_colvin
pydantic: pydantic-docs.helpmanual.io
Contributing / help wanted @ pydantic: github.com
python-devtools package: python-devtools.helpmanual.io

IMPORTANT: PEP 563, PEP 649 and the future of pydantic #2678
GitHub issue on Typing: github.com

YouTube live stream video: youtube.com
Episode transcripts: talkpython.fm

Sponsors

45Drives
Talk Python Training
AssemblyAI


Audio Download

Posted on 22 April 2021 | 8:00 am


#312: Python Apps that Scale to Billions of Users

How do you build Python applications that can handling literally billions of requests. I has certainly been done to great success with places like YouTube (handling 1M requests / sec) and Instagram as well as internal pricing APIs at places like PayPal and other banks.

While Python can be fast at some operations and slow at others, it's generally not so much about language raw performance as it is about building an architecture for this scale. That's why it's great to have Julian Danjou on the show today. We'll dive into his book "The Hacker's Guide to Scaling Python" as well as some of his performance work he's doing over at Datadog.

Links from the show

Julian on Twitter: @juldanjou
Scaling Python Book: scaling-python.com

DD Trace production profiling code: github.com
Futurist package: pypi.org
Tenacity package: tenacity.readthedocs.io
Cotyledon package: cotyledon.readthedocs.io
Locust.io Load Testing: locust.io
Datadog: datadoghq.com
daiquiri package: daiquiri.readthedocs.io

YouTube Live Stream Video: youtube.com
Episode transcripts: talkpython.fm

Sponsors

45Drives
Talk Python Training
AssemblyAI


Audio Download

Posted on 18 April 2021 | 8:00 am