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.

#409: Privacy as Code with Fides

April 01, 2023 01:08:01 65.57 MB Downloads: 0

We all know that privacy regulations are getting more strict. And that many of our users no longer believe that "privacy is dead". But for even medium-sized organizations, actually tracking how we are using personal info in our myriad of applications and services is very tricky and error prone. On this episode, we have Thomas La Piana from the Fides project to discuss privacy in our applications and how Fides can enforce and track privacy requirements in your Python apps. Links from the show California Consumer Privacy Act (CCPA): oag.ca.gov 30 Biggest GDPR Fines So Far: tessian.com Website fined for Google Fonts: theregister.com Fides on Github: github.com Fides: ethyca.com Bunny.net Fonts: fonts.bunny.net DBT: getdbt.com eBFP Kernel tools: ebpf.io nox: nox.thea.codes rich-click: github.com Watch this episode on YouTube: youtube.com --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Microsoft Founders Hub 2023 Sentry Error Monitoring, Code TALKPYTHON Talk Python Training

#408: Hatch: A Modern Python Workflow

March 24, 2023 01:02:59 60.74 MB Downloads: 0

In recent years, there has been a lot of experimenting how we work with dependencies and external libraries for our Python code. There is pip, pip-tools, Poetry, pdm, pyenv, pipenv, Hatch and others workflows. We dove into this deeply back on episode 406: Reimagining Python's Packaging Workflows. We're back with Ofek Lev to take a deeper look at Hatch. Links from the show Hatch: hatch.pypa.io Ofek on Twitter: @Ofekmeister Mamba: github.com Hatch env management: hatch.pypa.io Packaging a Python project tutorial: packaging.python.org Customize project generation: hatch.pypa.io Textual: textualize.io Ruff on Talk Python: talkpython.fm RustUp: rustup.rs Conda: docs.conda.io import antigravity: xkcd.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Microsoft Founders Hub 2023 Sentry Error Monitoring, Code TALKPYTHON Talk Python Training

#407: pytest tips and tricks for better testing

March 18, 2023 00:56:22 54.39 MB Downloads: 0

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. Links from the show pytest tips and tricks article: pythontest.com Getting started with pytest Course: training.talkpython.fm pytest book: pythontest.com Python Bytes podcast: pythonbytes.fm Brian on Mastodon: @brianokken@fosstodon.org Hypothesis: readthedocs.io Hypothesis: Reproducability: readthedocs.io Get More Done with the DRY Principle: zapier.com "The Key" Keyboard: stackoverflow.blog pytest plugins: docs.pytest.org Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Microsoft Founders Hub 2023 Brilliant 2023 Talk Python Training

#406: Reimagining Python's Packaging Workflows

March 12, 2023 01:06:41 64.28 MB Downloads: 0

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. Links from the show Python Packaging Strategy Discussion - Part 1: discuss.python.org Thoughts on the Python packaging ecosystem: pradyunsg.me Python Packaging Authority: pypa.io Hatch: hatch.pypa.io Pyscript: pyscript.net Dark Matter Developers: The Unseen 99%: hanselman.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Cox Automotive Sentry Error Monitoring, Code TALKPYTHON Talk Python Training

#405: Testing in Radio Astronomy with Python and pytest

March 03, 2023 00:59:21 57.25 MB Downloads: 0

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. Links from the show GPU-based correlator for MeerKAT: github.com Meerkat: sarao.ac.za SARAO: sarao.ac.za Skarab server: peralex.com pycuda: documen.tician.de Commercial Telescopes: telescope.com PyLaTeX: github.com Linearity Test Code: talkpython.fm Correlator Context: talkpython.fm Watch this episode on YouTube: youtube.com --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Taipy Sentry Error Monitoring, Code TALKPYTHON Talk Python Training

#404: Clean Code in Python

February 20, 2023 01:04:42 61.08 MB Downloads: 0

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. Links from the show Bob on Mastodon: @bbelderbos@fosstodon.org PyBites: pybit.es Tips for clean code in Python article: pybit.es Refactoring book: pybitesbooks.com Final type: docs.python.org Sentinels pattern: python-patterns.guide Black formater: pypi.org Guarding clauses: medium.com ChatGPT: chat.openai.com Git Precommit: pre-commit.com #100DaysOfCode in Python course: training.talkpython.fm #100DaysOfWeb in Python course: training.talkpython.fm Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Taipy Brilliant 2023 Talk Python Training

#403: Fusion Ignition Breakthrough and Python

February 13, 2023 01:04:42 62.38 MB Downloads: 0

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. Links from the show Jay on Mastodon: hachyderm.io/@jdsalmonson Jay on Twitter: @JaySalmonson Official Announcement: lasers.llnl.gov QnD Package: github.com PlasmaPy: plasmapy.org ML in Fusion: llnl.gov National Ignition Facility Achieves Ignition in Historic Nuclear Fusion Experiment: newenergytimes.net Video demonstrating the fusion lab: youtube.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Taipy User Interviews Talk Python Training

#402: Polars: A Lightning-fast DataFrame for Python

February 08, 2023 00:58:48 56.73 MB Downloads: 0

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. Links from the show Ritchie on Mastodon: @ritchie46@fosstodon.org Ritchie on Twitter: @RitchieVink Ritchie's website: ritchievink.com Polars: pola.rs Apache Arrow: arrow.apache.org Polars Benchmarks: pola.rs Coming from Pandas Guide: github.io Watch this episode on YouTube: youtube.com --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Taipy User Interviews Talk Python Training

#402: Polars: A Lightning-fast DataFrame for Python [updated audio]

February 08, 2023 00:58:48 57.59 MB Downloads: 0

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. Links from the show Ritchie on Mastodon: @ritchie46@fosstodon.org Ritchie on Twitter: @RitchieVink Ritchie's website: ritchievink.com Polars: pola.rs Apache Arrow: arrow.apache.org Polars Benchmarks: pola.rs Coming from Pandas Guide: github.io Watch this episode on YouTube: youtube.com --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Taipy User Interviews Talk Python Training

#401: Migrating 3.8 Million Lines of Python

February 02, 2023 01:00:57 58.78 MB Downloads: 0

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. Links from the show Ben on Twitter: @benbariteau Ben's Talk at PyCon 2022: youtube.com python-modernize: github.com python-future: github.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Cox Automotive User Interviews Talk Python Training

#400: Ruff - The Fast, Rust-based Python Linter

January 25, 2023 01:03:45 53.83 MB Downloads: 0

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. Links from the show Charlie on Twitter: @charliermarsh Charlie on Mastodon: @charliermarsh@hachyderm Ruff: github.com PyCharm Developer Advocate Job: jetbrains.com/careers Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Cox Automotive User Interviews Talk Python Training

#399: Monorepos in Python

January 18, 2023 01:10:31 59.51 MB Downloads: 0

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. On this episode, we have David Vujic here to give us his perspective on monorepos as well as highlight an architectural pattern and set of tools for accomplishing this in Python. Links from the show David on Twitter: @davidvujic David on Mastodon: @davidvujic@mastodon.nu Monorepo definition: wikipedia.org git-sizer tool for large repos: github.com git partial clones: docs.gitlab.com git sparse checkout: git-scm.com Polylith architecture: polylith.gitbook.io Article: A simple & scalable Python project structure: davidvujic.blogspot.com The last Python Architecture you will ever need?: davidvujic.blogspot.com python-polylith plugin for poetry: github.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Microsoft Founders Hub 2023 Brilliant 2023 Talk Python Training

#398: Imaging Black Holes with Python

January 14, 2023 00:58:13 49.17 MB Downloads: 0

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. Links from the show Sara's PyCon keynote: youtube.com Sara on Twitter: @saraissaoun Event Horizon Telescope: eventhorizontelescope.org Black Hole Image Makes History; NASA Telescopes Coordinated Observations: nasa.gov Event Horizon Data: eventhorizontelescope.org Imaging, analysis, and simulation software for radio interferometry Package: github.com Initial data showing ring (matplotlib) (video at time): youtube.com Mars 2020 Helicopter GitHub Badge: github.blog Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Cox Automotive Sentry Error Monitoring, Code TALKPYTHON Talk Python Training

#397: Evaluating New Open Source Tech Panel

January 05, 2023 01:03:25 55.62 MB Downloads: 0

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. Links from the show Guests Emily Morehouse-Valcarcel: @emilyemorehouse Cecil Phillip: @cecilphillip@hachyderm.io Kim van Wyk: @kimvanwyk@fosstodon.org Łukasz Langa: @ambv@mastodon.social Gareth Thomas: @thestub@pythonist.as Dan Gerlanc: @dgerlanc@fosstodon.org Does the GitHub page need to be pretty?: github.com/tiangolo/fastapi Do fancy "marketing pages" matter? Poetry: python-poetry.org Tailwind: tailwindcss.com VueJS: vuejs.org Aesara: github.com/aesara-devs/ Story of creating Michael's Site: mkennedy.codes Went to the community: fosstodon.org Hugo Site Generator: gohugo.io Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Cox Automotive Sentry Error Monitoring, Code TALKPYTHON AssemblyAI Talk Python Training

#396: AI Goes on Trial For Writing Code (crossover)

December 30, 2022 00:37:32 31.81 MB Downloads: 0

For links and very detailed show notes, please view the original episode page over on Python Bytes. Thanks for listening! Sponsors Sentry Error Monitoring, Code TALKPYTHON AWS Insiders AssemblyAI Talk Python Training