Talk Python To Me show

Talk Python To Me

Summary: 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.

Join Now to Subscribe to this Podcast
  • Visit Website
  • RSS
  • Artist: Michael Kennedy (@mkennedy)
  • Copyright: Copyright 2015-2024

Podcasts:

 #408: Hatch: A Modern Python Workflow | File Type: audio/mpeg | Duration: 01:02:59

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.

 #407: pytest tips and tricks for better testing | File Type: audio/mpeg | Duration: 00:56:22

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.

 #406: Reimagining Python's Packaging Workflows | File Type: audio/mpeg | Duration: 01:06:41

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.

 #405: Testing in Radio Astronomy with Python and pytest | File Type: audio/mpeg | Duration: 00:59:21

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 | File Type: audio/mpeg | Duration: 01:04:42

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.

 #403: Fusion Ignition Breakthrough and Python | File Type: audio/mpeg | Duration: 01:04:42

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.

 #402: Polars: A Lightning-fast DataFrame for Python [updated audio] | File Type: audio/mpeg | Duration: 00:58:48

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.

 #401: Migrating 3.8 Million Lines of Python | File Type: audio/mpeg | Duration: 01:00:57

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.

 #400: Ruff - The Fast, Rust-based Python Linter | File Type: audio/mpeg | Duration: 01:03:45

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 | File Type: audio/mpeg | Duration: 01:10:31

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.

 #398: Imaging Black Holes with Python | File Type: audio/mpeg | Duration: 00:58:13

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.

 #397: Evaluating New Open Source Tech Panel | File Type: audio/mpeg | Duration: 01:03:25

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.

 #396: AI Goes on Trial For Writing Code (crossover) | File Type: audio/mpeg | Duration: 00:37:32

For links and very detailed show notes, please view [the original episode page](https://pythonbytes.fm/episodes/show/312/ai-goes-on-trial-for-writing- code) over on Python Bytes. Thanks for listening!

 #395: Tools for README.md Creation and Maintenance | File Type: audio/mpeg | Duration: 01:13:31

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.

 #394: Awesome Jupyter Libraries and Extensions in 2022 | File Type: audio/mpeg | Duration: 01:02:22

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.

Comments

Login or signup comment.