Sign in

Michael Kennedy

@mkennedy.codes
2.8K followers 596 following 207 posts

Python enthusiast and entrepreneur. Host of @talkpython.fm and @pythonbytes.fm podcasts, founder of Talk Python Training (talkpython.fm/courses). Python Software Foundation Fellow. Writing at mkennedy.codes Based in Portland, OR, USA.

PostsRepliesMedia
Reposted by Michael Kennedy
DuckDB @duckdb.org · 15/09/2026
DuckLake: The Lakehouse That's Just SQL & Parquet In this episode of @talkpython.fm , host @mkennedy.codes talks with Pedro Holanda and Guillermo Sanchez Dionis from @ducklabs.com about the unique – and powerful – architecture of #DuckLake from top to bottom. Watch/listen to the episode here:
duckdb.org
DuckLake: The Lakehouse That's Just SQL and Parquet
DuckDB is an in-process SQL database management system focused on analytical query processing. It is designed to be easy to install and easy to use. DuckDB has no external dependencies. DuckDB has bin...
1101
Michael Kennedy @mkennedy.codes · 22/09/2026
Thanks for the kind words on the show Eric.
000
Michael Kennedy @mkennedy.codes · 15/09/2026
Thanks for having Pedro and Guellermo on the show! DuckLake looks great.
110
Reposted by Michael Kennedy
Christopher Trudeau @trudeau.dev · 11/09/2026
On this week's episode, @digiglean.bsky.social and I talk about Polars vs SQL, signed links, loads of news, and more. With content from: @wagtail.org @marcogorelli.bsky.social @bbelderbos.bsky.social @snarky.ca @jetbrains.com and others not on the 🦋 buff.ly/Sl499af
realpython.com
Episode #311: Django Developers Survey Results & Reproducible Python Builds – The Real Python Podcast
What are the latest trends uncovered in the 2026 Django Developers Survey? How are Django users employing LLMs in their development process? Christopher Trudeau is back on the show this week with…
183
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 21/08/2026
Ruff. uv. Polars. Pydantic. Granian — all written in Rust, the language that used to be C when Python needed speed. Our new course teaches Rust to Python devs, ending with your own PyO3 extension called from the REPL. training.talkpython.fm/courses/up-...
training.talkpython.fm
Up and Running with Rust Course
## The Python developer's fast track to Rust Learn the language behind Ruff, uv, Polars, and Pydantic, then build your own compiled Rust extension and call it directly from Python.
022
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 13/07/2026
Just shipped a big update to the Talk Python Training app! Rebuilt on the latest Flutter, iPad & Android tablet support, way better offline handling, smoother video playback, and a pile of fixes. If you've got courses, take them on the go. Grab it: training.talkpython.fm/apps
training.talkpython.fm
Talk Python Training Apps
Watch our courses on your device, on the go, or even offline! Our mobile apps are the best way to experience Talk Python courses on Android and iOS.
051
Michael Kennedy @mkennedy.codes · 25/05/2026
Thanks for coming on the podcast Paolo!
030
Reposted by Michael Kennedy
Paolo Melchiorre @paulox.net · 22/05/2026
Had a lot of fun today recording an episode of @talkpython.fm with @mkennedy.codes🎙️ We met last week at @pycon.us after my talk on AI-assisted contributions and maintainer load, and today we continued the chat on the podcast 🎧 Bonus: selfie at the end 📸😂 www.youtube.com/watch?v=1RJ1... #Python #AI
A screenshot of me and Michael Kennedy after the recording of our episode of Talk Python
152
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 20/05/2026
Our latest course is out! Python Web Security: OWASP Top 10 with Agentic AI Learn each of the 2025 OWASP in Flask, FastAPI, and Django. Then build an agent and find your bugs before anyone else does by @mkennedy.codes training.talkpython.fm/courses/agen...
training.talkpython.fm
Python Web Security: OWASP Top 10 with Agentic AI Course
When Mozilla recently ran Claude over the Firefox JavaScript runtime, the AI uncovered more than 100 bugs, 14 of th...
071
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 11/05/2026
Latest episode is out: #548: Event Sourcing Design Pattern with Chris May and @mkennedy.codes talkpython.fm/episodes/sho...
talkpython.fm
Event Sourcing Design Pattern
What if your database worked more like Git? Every change captured as an immutable event you can replay, instead of a single mutating row that quietly forgets its own history. That's event sourcing, an...
042
Michael Kennedy @mkennedy.codes · 06/05/2026
Ha, I love it. Thanks :)
010
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 06/05/2026
Announcing German Subtitles on Talk Python Courses! cc @mkennedy.codes German subtitles and transcripts are now live on every Talk Python course. Switch the player's CC to Deutsch in one click, resize captions to your liking, and watch for Spanish coming next. talkpython.fm/blog/posts/a...
talkpython.fm
Announcing German Subtitles on Courses
Full German subtitles and transcripts are now live on every Talk Python Training course. Switch the player's CC to Deutsch in one click, resize captions to your liking, and watch for Spanish coming ne...
021
Michael Kennedy @mkennedy.codes · 28/04/2026
Thanks for sharing my post Chris!
030
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 28/04/2026
Introducing the new Talk Python web player. It starts out minimal, but once you trigger it, you can change the playback speed, it remembers your position, and , it shows the transcript live below the player so you don’t miss a word. (cc @mkennedy.codes ) talkpython.fm/blog/posts/r...
talkpython.fm
Introducing the new Talk Python web player
Talk Python To Me has rebuilt the web audio player on every episode page. The new player shows transcripts live as the episode plays, supports adjustable playback speed, and remembers where you left o...
031
Michael Kennedy @mkennedy.codes · 03/04/2026
Thank you Steve! I honestly didn't expect such a boost from dropping the ODM, but a lovely extra. Primarily I need to a) drop a stagnant core library, b) enable async - see reason a. :)
011
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 01/04/2026
Latest episode is out: #543: Deep Agents: LangChain's SDK for Agents That Plan and Delegate with Sydney Runkle and @mkennedy.codes Give it a listen: talkpython.fm/episodes/sho...
talkpython.fm
Deep Agents: LangChain's SDK for Agents That Plan and Delegate
When you type a question into ChatGPT, the model only has what you typed to work with. But tools like Claude Code can plan, iterate, test, and recover from mistakes. They work more like we do. The dif...
132
Michael Kennedy @mkennedy.codes · 01/04/2026
New essay: Cutting Python Web App Memory Over 31% I reduced Python web app memory by 3.2 GB using async workers, import isolation, the Raw+DC database pattern, and disk caching. Detailed before and after numbers for each technique. mkennedy.codes/posts/cuttin...
mkennedy.codes
Cutting Python Web App Memory Over 31%
I reduced Python web app memory by 3.2 GB using async workers, import isolation, the Raw+DC database pattern, and disk caching. Detailed before and after numbers for each technique.
1152
Michael Kennedy @mkennedy.codes · 30/03/2026
Follow up post to my Raw+DC design pattern post last month, with numbers. Raw+DC Database Pattern: A Retrospective mkennedy.codes/posts/raw-dc...
mkennedy.codes
Raw+DC Database Pattern: A Retrospective
After migrating three production Python web apps to the Raw+DC database pattern, I share real-world performance benchmarks: nearly 2x requests per second, 18% less memory, native async support, and fr...
030
Michael Kennedy @mkennedy.codes · 30/03/2026
Thanks. :)
020
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 25/03/2026
Latest episode with @squidfunk.com and @mkennedy.codes #542: Zensical - a modern static site generator talkpython.fm/episodes/sho...
talkpython.fm
Zensical - a modern static site generator
If you've built documentation in the Python ecosystem, chances are you've used Martin Donath's work. His Material for MKDocs powers docs for FastAPI, uv, AWS, OpenAI, and tens of thousands of other pr...
033
Michael Kennedy @mkennedy.codes · 19/03/2026
Do you use the Robyn web framework? I just added Chameleon template support to it. :) mkennedy.codes/posts/use-ch...
mkennedy.codes
Use Chameleon templates in the Robyn web framework
Introducing chameleon-robyn, a Python package that adds Chameleon template support to the Rust-backed Robyn web framework as an alternative to Jinja.
010
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 19/03/2026
Latest episode with Samuel Colvin and @mkennedy.codes Monty - Python in Rust for AI talkpython.fm/episodes/sho...
talkpython.fm
Monty - Python in Rust for AI
When LLMs write code to accomplish a task, that code has to actually run somewhere. And right now, the options aren't great. Spin up a sandboxed container and you're paying a full second of cold start...
031
Michael Kennedy @mkennedy.codes · 19/03/2026
It's surely not the main thing you would do, but there is a place for it. What should I do instead? Set up a separate server with message queues just to do some minor async thing?
101
Michael Kennedy @mkennedy.codes · 19/03/2026
New essay: Fire and forget (or never) with Python’s asyncio mkennedy.codes/posts/fire-a...
mkennedy.codes
Fire and forget (or never) with Python’s asyncio
Python's asyncio.create_task() can silently garbage collect fire-and-forget tasks in 3.12+. Learn the background_tasks set pattern to fix it.
143
Michael Kennedy @mkennedy.codes · 10/03/2026
Cool example!
010
Michael Kennedy @mkennedy.codes · 07/03/2026
New essay: What hyper-personal software looks like. mkennedy.codes/posts/what-h...
mkennedy.codes
What hyper-personal software looks like
Agentic AI is enabling an explosion of personal software no one will ever see. I built a browser extension in 15 minutes just for me, and that's the point.
120
Reposted by Michael Kennedy
Sebastián Ramírez @tiangolo.com · 11/02/2026
We had a great chat at the @talkpython.fm podcast with @mkennedy.codes and some of my teammates: @patrick.wtf, @savannah.dev, @nucleonjohn.bsky.social🎙️ If you're curious about what goes underneath @fastapicloud.com, check it out 🎧️
042
Reposted by Michael Kennedy
Python Bytes @pythonbytes.fm · 11/02/2026
🎙️ Python Bytes 469: Commands, out of the terminal with @mkennedy.codes and @brianokken.bsky.social pythonbytes.fm/469 #Python
pythonbytes.fm
Commands, out of the terminal
News and announcements from the Python community for the week of Feb 9th, 2026
161
Michael Kennedy @mkennedy.codes · 13/02/2026
Just added a new feature to Tallyman. Pass --image and you'll get a nice, sharable summary of your project. mkennedy.codes/tools/tallym...
mkennedy.codes
Tallyman
Tallyman is a CLI tool that categorizes and analyzes codebases by language and file type, revealing the shape of your project.
040
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 10/02/2026
Latest episode is out, this time with the @fastapicloud.com team. cc @mkennedy.codes #536: Fly inside FastAPI Cloud talkpython.fm/episodes/sho...
talkpython.fm
Fly inside FastAPI Cloud
You've built your FastAPI app, it's running great locally, and now you want to share it with the world. But then reality hits -- containers, load balancers, HTTPS certificates, cloud consoles with 200...
142
Michael Kennedy @mkennedy.codes · 10/02/2026
Congrats Chris!
000
Michael Kennedy @mkennedy.codes · 10/02/2026
Same with the ORM. I'm looking at needing to migrate to another, what even? Now that some of them are sunsetting. That sucks. Dataclasses, pydantic models, etc, they are going strong.
010
Michael Kennedy @mkennedy.codes · 10/02/2026
Definitely Pat. It's trade-off. I think we are a bit too far down the road of too many dependencies. Now that I'm religiously running pip-audit, there is almost a vuln once a month I have to work around for just a basic app. The code paths probably don't touch the real issue, but they drag along.
110
Reposted by Michael Kennedy
Kelly Paredes @kellypared.bsky.social · 09/02/2026
Are you going to Pycon? Do you teach #Python to adults or children? Check out the 14th annual #Pycon Ed Summit! Join us! us.pycon.org/2026/events/... #computerscience #education #coding @seantibor.com @anthonypjshaw.bsky.social @mkennedy.codes @brianokken.bsky.social @realpython.com
us.pycon.org
Education Summit
PyCon US 2026
053
Michael Kennedy @mkennedy.codes · 09/02/2026
Wow Pat! That’s amazing. How long did that take it to run. 100k is the biggest thing I ran it on.
100
Michael Kennedy @mkennedy.codes · 08/02/2026
Just launched a new open source project. Tallyman: A command-line tool that gives you a real picture of your codebase - not just raw line counts, but where your effort actually lives. It groups results into meaningful categories like Code, Design, Docs, Specs, and Data. github.com/mikeckennedy...
github.com
GitHub - mikeckennedy/tallyman: A command-line tool that summarizes the size of a codebase by language, showing lines of code with and without comments and blank lines.
A command-line tool that summarizes the size of a codebase by language, showing lines of code with and without comments and blank lines. - mikeckennedy/tallyman
281
Michael Kennedy @mkennedy.codes · 08/02/2026
Indeed Andrew, and interesting angle. I do think it's learning to lead with training wheels a bit. :) Cool idea.
010
Michael Kennedy @mkennedy.codes · 06/02/2026
New essay: It's not vibe coding - Agentic engineering mkennedy.codes/posts/its-no...
mkennedy.codes
It's not vibe coding: Agentic engineering
AI does the implementation, humans own the architecture and quality. Here's why the distinction matters.
230
Michael Kennedy @mkennedy.codes · 05/02/2026
BTW, the "shady" download links you mentioned were legit. They just didn't exist any longer for some of them.
110
Michael Kennedy @mkennedy.codes · 05/02/2026
Thanks for the heads up xmatt. Yes, these are at the very far end of my migrated posts to the new blog platform. Not all of the content was able to be migrated over. I updated that post, but also about 200 others with link fixes, date fixes, and a few other items.
100
Michael Kennedy @mkennedy.codes · 04/02/2026
I'm thrilled to announce I just released Command Book App: A native macOS app for developers, data scientists, AI enthusiasts and more. Command Book manages commands like "tail this log while I'm developing the app", "Run the dev web server with true auto-reload", and more. commandbookapp.com
commandbookapp.com
Command Book - Manage Long-Running Terminal Commands
Command Book is a native macOS app for managing long-running terminal commands. Save, run, and monitor your web servers, databases, and background processes. Never lose your terminal setup again. Free...
081
Michael Kennedy @mkennedy.codes · 27/01/2026
It’s good stuff!
010
Reposted by Michael Kennedy
Talk Python Podcast @talkpython.fm · 23/01/2026
New episode is out! PyView: Real-time Python Web Apps with Larry Ogrodnek and host @mkennedy.codes talkpython.fm/episodes/sho...
talkpython.fm
PyView: Real-time Python Web Apps
Building on the web is like working with the perfect clay. It’s malleable and can become almost anything. But too often, frameworks try to hide the web’s best parts away from us. Today, we’re looking ...
061
Michael Kennedy @mkennedy.codes · 22/01/2026
Thanks! Looks interesting for sure. I'm a big fan of tower defense type of games and while not the same, not super different looking. Right now I'm working through Mass Effect and am getting close to being done with game 4 and will need something new after that.
000
Michael Kennedy @mkennedy.codes · 21/01/2026
New essay: Blocking AI crawlers might be a bad idea - Disappearing from AI results won't make #AI go away mkennedy.codes/posts/why-hi...
mkennedy.codes
Blocking AI crawlers might be a bad idea
Instead of blocking AI crawlers out of frustration, content creators should embrace deep AI integrations to ensure accurate recommendations and better user experiences. Disappearing from AI results wo...
010
Michael Kennedy @mkennedy.codes · 19/01/2026
Thanks Chris! Here was Saturday. :) bsky.app/profile/mken...
000
Michael Kennedy @mkennedy.codes · 17/01/2026
@digiglean.bsky.social @trudeau.dev Thanks so much for the recent coverage of a couple of my articles and podcast episodes. 🙏
160
Reposted by Michael Kennedy
Christopher Trudeau @trudeau.dev · 16/01/2026
On this week's episode, @digiglean.bsky.social and I talk performance topics, spec-driven dev, and more. With content from: @misrasaurabh1.bsky.social @mkennedy.codes @di.github.io @andrewnez.bsky.social @francoisz.bsky.social @robbowley.net @free.law and others not on the 🦋
buff.ly
Episode #280: Considering Fast and Slow in Python Programming – The Real Python Podcast
How often have you heard about the speed of Python? What's actually being measured, where are the bottlenecks---development time or run time---and which matters more for productivity? Christopher…
043
Michael Kennedy @mkennedy.codes · 16/01/2026
I also implemented Jeremy Howard's LLMs.txt (see llmstxt.org). You'll find @talkpython.fm 's at talkpython.fm/llms.txt
llmstxt.org
The /llms.txt file – llms-txt
A proposal to standardise on using an /llms.txt file to provide information to help LLMs use a website at inference time.
000
Michael Kennedy @mkennedy.codes · 16/01/2026
I just added an MCP server to @talkpython.fm If you want to use the entire 10 year catalog of episodes, transcripts, guests, etc as part of your AI / LLM exploration. Just visit talkpython.fm/api/mcp/docs
talkpython.fm
MCP API Documentation - Talk Python To Me Podcast
Talk Python to Me is a weekly podcast hosted by developer and entrepreneur Michael Kennedy. Our interviews dive deep into the popular packages and software developers, data scientists, and incredible ...
141