{"@attributes":{"version":"2.0"},"channel":{"title":"Posts on Talk Python Blog","link":"https:\/\/talkpython.fm\/blog\/posts\/","description":"Recent content in Posts on Talk Python Blog","generator":"Hugo","language":"en-us","lastBuildDate":"Thu, 02 Apr 2026 19:40:26 -0700","item":[{"title":"Announcing Course Completion Certificates","link":"https:\/\/talkpython.fm\/blog\/posts\/announcing-course-completion-certificates\/","pubDate":"Thu, 02 Apr 2026 19:39:51 -0700","guid":"https:\/\/talkpython.fm\/blog\/posts\/announcing-course-completion-certificates\/","description":"<p>I&rsquo;m very excited to share that you can now generate <strong>course completion certificates<\/strong> automatically at Talk Python Training. What&rsquo;s even better is our certificates allow you to one-click add them as official licenses and certifications on LinkedIn.<\/p>\n<p>Remember last week, I added some really nice features to your account page showing which courses are completed and which ones you&rsquo;ve recently participated in. Just start there. Find a course you recently completed, click certificate, and there is a Share to LinkedIn UI right there. It&rsquo;s nearly entirely automated.<\/p>"},{"title":"Updates from Talk Python - March 2026","link":"https:\/\/talkpython.fm\/blog\/posts\/updates-from-talk-python-march-2026\/","pubDate":"Mon, 23 Mar 2026 14:04:09 -0700","guid":"https:\/\/talkpython.fm\/blog\/posts\/updates-from-talk-python-march-2026\/","description":"<p>There have been a bunch of changes to make the podcast and courses at Talk Python just a little bit better. And I wrote a few interesting articles that might pique your interest. So I thought it was time to send you all a quick little update and let you know what&rsquo;s new and improved.<\/p>\n<h2 id=\"talk-python-courses\">Talk Python Courses<\/h2>\n<p><strong>Account Dashboard for courses<\/strong><\/p>\n<p>I spoke to a lot of users who said that it&rsquo;s a bit difficult to jump back into your account and see which courses you were last taking. I can certainly appreciate that, especially if you have the bundle with every class is available. So I added this cool new dashboard that sorts and displays your progress through your most recent course activity as well as courses that you have finished.<\/p>"},{"title":"Talk Python now has a CLI","link":"https:\/\/talkpython.fm\/blog\/posts\/talk-python-now-has-a-cli\/","pubDate":"Sat, 07 Feb 2026 15:39:55 -0800","guid":"https:\/\/talkpython.fm\/blog\/posts\/talk-python-now-has-a-cli\/","description":"<p><strong>TL;DR<\/strong>: Talk Python now has an open-source CLI tool (<a href=\"https:\/\/github.com\/talkpython\/talk-python-cli\">talk-python-cli<\/a>) that lets you search 500+ podcast episodes, transcripts, guests, and training courses directly from your terminal. Install it with <code>uv tool install talk-python-cli<\/code>. It supports text, JSON, and markdown output: built for humans, scripts, and AI\/LLMs alike.<\/p>\n<p>Talk Python To Me has been running for over 10 years. Over that time, <strong>we have recorded an incredible amount of wisdom and history from the Python ecosystem<\/strong>. In fact, if you combine all our show notes, transcripts, and more, it totals over 7.5M words!<\/p>"},{"title":"Announcing Talk Python AI Integrations","link":"https:\/\/talkpython.fm\/blog\/posts\/announcing-talk-python-ai-integrations\/","pubDate":"Mon, 19 Jan 2026 09:49:43 -0800","guid":"https:\/\/talkpython.fm\/blog\/posts\/announcing-talk-python-ai-integrations\/","description":"<p><strong>TL;DR:<\/strong> Talk Python now offers two AI integration features: an MCP server for real-time podcast data access in Claude, Cursor, and similar tools, plus an llms.txt file for AI assistants without MCP support. Search episodes, transcripts, guests, and courses directly from your AI.<\/p>\n<p>We&rsquo;ve just added two new and exciting features to the Talk Python To Me website to allow deeper and richer integration with AI and LLMs.<\/p>\n<ol>\n<li>A full MCP server at <a href=\"https:\/\/talkpython.fm\/api\/mcp\/docs\">talkpython.fm\/api\/mcp\/docs<\/a><\/li>\n<li>A LLMs summary to guide non-MCP use-cases: <a href=\"https:\/\/talkpython.fm\/llms.txt\">talkpython.fm\/llms.txt<\/a><\/li>\n<\/ol>\n<h2 id=\"what-is-the-talk-python-mcp-server\">What is the Talk Python MCP server?<\/h2>\n<p>New to the idea of an MCP server? MCP (Model Context Protocol) servers are lightweight services that expose data and functionality to AI assistants through a standardized interface, allowing models like Claude to query external systems and access real-time information beyond their training data. <strong>The Talk Python To Me MCP server acts as a bridge between AI conversations and the podcast&rsquo;s extensive catalog<\/strong>. This enables you to search episodes, look up guest appearances, retrieve transcripts, and explore course content directly within your AI workflow, making research and content discovery seamless.<\/p>"},{"title":"Talk Python in Production Story","link":"https:\/\/talkpython.fm\/blog\/posts\/talk-python-in-production-story\/","pubDate":"Mon, 13 Oct 2025 13:59:20 -0700","guid":"https:\/\/talkpython.fm\/blog\/posts\/talk-python-in-production-story\/","description":"<p><strong>TL;DR:<\/strong> Michael published &ldquo;Talk Python in Production,&rdquo; a book telling the 10-year story of scaling talkpython.fm. It covers real-world Python DevOps lessons from a small team that runs 28 apps on a single server for under $65\/month. <a href=\"https:\/\/mkennedy.codes\/posts\/talk-python-in-production-book-is-out\/\">Read the full backstory<\/a> or <a href=\"https:\/\/talkpython.fm\/books\/python-in-production\">get the book<\/a>.<\/p>\n<p>If you were <a href=\"https:\/\/talkpython.fm\">a website<\/a> that started from modest beginnings and grew over ten years to support a ton of features and a variety of users, wouldn&rsquo;t it be great if someone told your story?<\/p>"},{"title":"New Theme Song: Served In A Flask","link":"https:\/\/talkpython.fm\/blog\/posts\/new-theme-song-served-in-a-flask\/","pubDate":"Wed, 18 Jun 2025 11:55:42 -0700","guid":"https:\/\/talkpython.fm\/blog\/posts\/new-theme-song-served-in-a-flask\/","description":"<p><img src=\"flask-image.webp\" alt=\"\"><\/p>\n<p><strong>TL;DR:<\/strong> Talk Python has a new theme song called &ldquo;Served In A Flask.&rdquo; It&rsquo;s a geeky rap celebrating our migration from Pyramid to Quart (async Flask). Listen below or <a href=\"https:\/\/blobs.talkpython.fm\/02-served-in-a-flask.mp3\">download it<\/a>. Full lyrics included.<\/p>\n<p>Those of you who were early listeners of Talk Python To Me might remember the amazing theme song we launched with: <a href=\"https:\/\/soundcloud.com\/smixx\/smixx-developers-feat-steve\">Developers, Developers, Developers<\/a> by <a href=\"https:\/\/soundcloud.com\/smixx\">Smixx<\/a>. Thanks to Smixx for letting us use his music for our intros.<\/p>"},{"title":"Deep Dives Complete: 600K Words of Talk\u00a0Python Insights","link":"https:\/\/talkpython.fm\/blog\/posts\/deep-dive-retrospective-at-talk-python\/","pubDate":"Wed, 11 Jun 2025 14:12:55 -0700","guid":"https:\/\/talkpython.fm\/blog\/posts\/deep-dive-retrospective-at-talk-python\/","description":"<p><img src=\"https:\/\/cdn-podcast.talkpython.fm\/blog\/posts\/deep-dive-retrospective-at-talk-python\/deep-dive-complete.webp\" alt=\"\"><\/p>\n<p><strong>TL;DR:<\/strong> All 509 Talk Python episodes now have deep dive summaries. That&rsquo;s 600,000 words of searchable, structured insights. Each deep dive is ~1,200 words (5-7 min read) and includes resources beyond the original show notes. They also supercharge our site search.<\/p>\n<p>It&rsquo;s been a real journey. I&rsquo;m thrilled to announce that <a href=\"https:\/\/talkpython.fm\/episodes\/all\">every single Talk Python To Me episode<\/a> <strong>now has a deep dive analysis<\/strong> for that show. This short post is just a bit of a celebration (and heads up!) about this new way to learn from the podcast.<\/p>"},{"title":"Introducing Episode Deep Dives at Talk Python","link":"https:\/\/talkpython.fm\/blog\/posts\/introducing-episode-deep-dives-at-talk-python\/","pubDate":"Sun, 29 Dec 2024 12:10:54 -0800","guid":"https:\/\/talkpython.fm\/blog\/posts\/introducing-episode-deep-dives-at-talk-python\/","description":"<p><strong>Update<\/strong>: We just completed generating deep dives for every episode. <a href=\"https:\/\/talkpython.fm\/blog\/posts\/deep-dive-retrospective-at-talk-python\">Read more about that here<\/a>.<\/p>\n<p><strong>TL;DR:<\/strong> Episode Deep Dives are structured summaries of each Talk Python episode. They include guest background, key topics organized by theme, links to tools\/libraries mentioned, and notable quotes. Think &ldquo;show notes on steroids.&rdquo; Available for episodes #440+ with more being added.<\/p>\n<p>Have you ever listened to a podcast episode and later wished there was a quick, detailed way to revisit the best points, without scrubbing through the entire recording again? That\u2019s exactly why we launched <strong>Episode Deep Dives<\/strong> at Talk Python. This feature provides a rich, structured walkthrough of each podcast episode, giving you a snapshot of all the essential details and takeaways in one convenient place. Whether you\u2019re curious about a specific tool our guest mentioned or you want to recall the main ideas days after listening, <strong>Episode Deep Dives<\/strong> makes it easy to dive right back into the heart of the conversation.<\/p>"},{"title":"Top Talk Python Episodes of 2024","link":"https:\/\/talkpython.fm\/blog\/posts\/top-talk-python-podcast-episodes-of-2024\/","pubDate":"Sun, 22 Dec 2024 09:28:14 -0800","guid":"https:\/\/talkpython.fm\/blog\/posts\/top-talk-python-podcast-episodes-of-2024\/","description":"<p>We&rsquo;re rapidly closing in on the end of 2024, and it&rsquo;s been fun to dive into the podcast data and see if we can highlight some of our most well-received episodes of the year. In this post, I break down the details of our top 5 most popular episodes (by downloads). Here they are!<\/p>\n<p><strong>TL;DR: The top 5 Talk Python episodes of 2024 by downloads:<\/strong><\/p>\n<ol>\n<li><a href=\"https:\/\/talkpython.fm\/episodes\/show\/477\/awesome-text-tricks-with-nlp-and-spacy\">Awesome Text Tricks with NLP and spaCy<\/a> with Vincent D. Warmerdam<\/li>\n<li><a href=\"https:\/\/talkpython.fm\/episodes\/show\/473\/being-a-developer-with-adhd\">Being a Developer with ADHD<\/a> with Chris Ferdinandi<\/li>\n<li><a href=\"https:\/\/talkpython.fm\/episodes\/show\/450\/versioning-web-apis-in-python\">Versioning Web APIs in Python<\/a> with Stanislav Zmiev<\/li>\n<li><a href=\"https:\/\/talkpython.fm\/episodes\/show\/462\/pandas-and-beyond-with-wes-mckinney\">Pandas and Beyond<\/a> with Wes McKinney<\/li>\n<li><a href=\"https:\/\/talkpython.fm\/episodes\/show\/472\/state-of-flask-and-pallets-in-2024\">State of Flask and Pallets in 2024<\/a> with David Lord<\/li>\n<\/ol>\n<p><img src=\"top-talk-python-podcast-episodes-2024.webp\" alt=\"\"><\/p>"},{"title":"Hetzner policy changes, regret?","link":"https:\/\/talkpython.fm\/blog\/posts\/update-on-hetzner-changes-pricing-and-limits\/","pubDate":"Sun, 08 Dec 2024 08:45:10 -0800","guid":"https:\/\/talkpython.fm\/blog\/posts\/update-on-hetzner-changes-pricing-and-limits\/","description":"<p><strong>TL;DR:<\/strong> No regrets. Hetzner raised prices ~20% and reduced bandwidth limits. For us, that&rsquo;s about $6\/month more. We still pay ~$35\/month at Hetzner vs $143\/month at Digital Ocean. Still an easy win.<\/p>\n<p>Timing is everything. One month ago, <a href=\"https:\/\/talkpython.fm\/blog\/posts\/we-have-moved-to-hetzner\/\">we moved to Hetzner<\/a> for our core infrastructure. Days later, Hetzner announced what was received by the tech space as a big change. There&rsquo;s a whole <a href=\"https:\/\/news.ycombinator.com\/item?id=42264427\">Hacker News thread<\/a> on it. Some folks asked me if this made me regret changing to Hetzner or commented that I probably regret the move. Well, let me tell you about the changes, then I&rsquo;ll share my thoughts.<\/p>"},{"title":"Talk Python rewritten in Quart (async Flask)","link":"https:\/\/talkpython.fm\/blog\/posts\/talk-python-rewritten-in-quart-async-flask\/","pubDate":"Mon, 18 Nov 2024 19:26:23 -0800","guid":"https:\/\/talkpython.fm\/blog\/posts\/talk-python-rewritten-in-quart-async-flask\/","description":"<p><strong>TL;DR:<\/strong> We migrated talkpython.fm from Pyramid to Quart (async Flask). Why Quart over FastAPI or Django? Flask&rsquo;s simplicity + Quart&rsquo;s true async support. The migration took a few days, changed 5,000+ lines of code, and page response times dropped from 42ms to 8ms. I also created <a href=\"https:\/\/github.com\/mikeckennedy\/chameleon-flask\">chameleon-flask<\/a> so we didn&rsquo;t have to rewrite our templates.<\/p>\n<p>The code powering <a href=\"https:\/\/talkpython.fm\/episodes\/all\">talkpython.fm<\/a> is highly modern and leverages many new Python concepts. It makes extensive use of Pydantic with its entire data access layer powered the <a href=\"https:\/\/beanie-odm.dev\/\">Beanie ODM<\/a>. It has type hints at all the architectural boundaries (e.g. data access layer public functions). But we haven&rsquo;t been able to fully take advantage of these benefits because our web framework has become frozen in time.<\/p>"},{"title":"We've moved to Hetzner","link":"https:\/\/talkpython.fm\/blog\/posts\/we-have-moved-to-hetzner\/","pubDate":"Wed, 06 Nov 2024 18:11:33 -0800","guid":"https:\/\/talkpython.fm\/blog\/posts\/we-have-moved-to-hetzner\/","description":"<p><img src=\"https:\/\/cdn-podcast.talkpython.fm\/blog\/posts\/we-have-moved-to-hetzner\/hetzner-dashboard.webp\" alt=\"\"><\/p>\n<p>[<strong>Update<\/strong> Dec 8, 2024: Since writing this article and making this move <a href=\"https:\/\/hetzner.cloud\/?ref=UQMdSwUenwRE\">Hetzner<\/a> has changed their limits and pricing. Since people have been asking, I posted an update <a href=\"https:\/\/talkpython.fm\/blog\/posts\/update-on-hetzner-changes-pricing-and-limits\">Hetzner policy changes, regret?<\/a>. I&rsquo;ve also updated the numbers below accordingly. TL;DR: Does it change the benefit or decision for us? Nope!]<\/p>\n<p><strong>TL;DR:<\/strong> We moved from Digital Ocean to Hetzner&rsquo;s US data center. Benchmarks showed Hetzner has 8x faster bandwidth and 1.2x faster CPUs at nearly 5x lower cost. We&rsquo;re saving ~$1,500\/year for better servers.<\/p>"},{"title":"Cloud-native essay dives into our infrastructure","link":"https:\/\/talkpython.fm\/blog\/posts\/opposite-of-cloud-native-article-dives-into-our-infrastructure\/","pubDate":"Wed, 06 Nov 2024 11:41:25 -0800","guid":"https:\/\/talkpython.fm\/blog\/posts\/opposite-of-cloud-native-article-dives-into-our-infrastructure\/","description":"<p><strong>TL;DR:<\/strong> I coined the term &ldquo;stack-native&rdquo; as the opposite of cloud-native. It means building your app with just enough full-stack building blocks to run reliably with minimal complexity. Talk Python runs 28 apps handling 9 million monthly requests on a single server for $65\/month. An equivalent AWS setup would cost an estimated $1,226\/month.<\/p>\n<p>I just wrote an article entitled &ldquo;<a href=\"https:\/\/mkennedy.codes\/posts\/opposite-of-cloud-native-is-stack-native\/\">Opposite of Cloud Native is?<\/a>&rdquo; It&rsquo;s inspired by how we&rsquo;re running things here at Talk Python:<\/p>"},{"title":"Self-hosted Open Source and more","link":"https:\/\/talkpython.fm\/blog\/posts\/self-hosted-open-source-and-more\/","pubDate":"Tue, 11 Jun 2024 14:42:11 -0700","guid":"https:\/\/talkpython.fm\/blog\/posts\/self-hosted-open-source-and-more\/","description":"<p>Time for another update from Talk Python (<a href=\"https:\/\/talkpython.fm\">the podcast<\/a> and <a href=\"https:\/\/training.talkpython.fm\/courses\/all\">courses<\/a>). Here are a few fun things in that space since we last spoke.<\/p>\n<p><strong>TL;DR:<\/strong> I went deep on self-hosted infrastructure on Django Chat, discussed &ldquo;Is Coding Dead?&rdquo; on Teaching Python, share how I actually use LLMs for dev work (with real prompts), plus 6 new podcast episodes and our new NLP\/spaCy course.<\/p>\n<h2 id=\"why-talk-python-runs-on-self-hosted-open-source\">Why Talk Python runs on self-hosted open source<\/h2>\n<p>We&rsquo;ve recently completely overhauled how we run our websites and APIs at Talk Python. It&rsquo;s highly influenced by the whole &ldquo;Leaving the Cloud&rdquo; series of conversations I&rsquo;ve mentioned here and there on some of my shows.<\/p>"},{"title":"Platform Week and Some Fun New Python Tools","link":"https:\/\/talkpython.fm\/blog\/posts\/platform-week-at-talk-python-training\/","pubDate":"Sun, 28 Apr 2024 14:59:24 -0700","guid":"https:\/\/talkpython.fm\/blog\/posts\/platform-week-at-talk-python-training\/","description":"<p>I&rsquo;m back with a few new <strong>Talk Python To Me episodes<\/strong> that are pretty awesome, a <strong>couple of excellent tools<\/strong>, and a short summary of <strong>Platform Week<\/strong> at Talk Python.<\/p>\n<p><strong>TL;DR:<\/strong> New podcast episodes on GPT actions, supply chain security, serverless Python, and building a SaaS with AI. Plus tools (CloudFlare Python workers, PyCharm&rsquo;s local LLM) and a recap of Platform Week where I knocked out 15 issues.<\/p>\n<h2 id=\"latest-talk-python-podcast-episodes\">Latest Talk Python podcast episodes<\/h2>\n<p>Since we last spoke, I released a few really fun and inspiring episodes:<\/p>"},{"title":"Michael's Keynote: The State of Python in 2024","link":"https:\/\/talkpython.fm\/blog\/posts\/michaels-the-state-of-python-in-2024\/","pubDate":"Sat, 30 Mar 2024 15:09:18 -0700","guid":"https:\/\/talkpython.fm\/blog\/posts\/michaels-the-state-of-python-in-2024\/","description":"<p>I&rsquo;m excited to be writing to you again. Last time I said I&rsquo;d be trying this new format and I asked a bunch of you what you thought. You all told me you <a href=\"https:\/\/fast-poll.com\/poll\/results\/a3042392\">overwhelmingly prefer a personal message<\/a> like this so I&rsquo;ll keep writing as long as you all keep enjoying them.<\/p>\n<p><strong>TL;DR:<\/strong> My PyCon Philippines keynote is now on YouTube, we have a VS Code AMA coming up, course prices go up tomorrow, and I&rsquo;ve got 6 tools you&rsquo;ll want to check out (including LMStudio for running local LLMs).<\/p>"},{"title":"Build An Audio AI App Course, Plus Data Doodling","link":"https:\/\/talkpython.fm\/blog\/posts\/free-course-build-an-audio-ai-app-plus-data-doodling\/","pubDate":"Fri, 15 Mar 2024 15:15:59 -0700","guid":"https:\/\/talkpython.fm\/blog\/posts\/free-course-build-an-audio-ai-app-plus-data-doodling\/","description":"<p>Michael here, writing you a more conversational email about what&rsquo;s new at <a href=\"https:\/\/talkpython.fm\">Talk Python To Me<\/a>. This is something I going to try for a while rather than just headlines of new podcasts we&rsquo;ve been sending to the friends of the show. &laquo; That&rsquo;s you, thank you! I hope you enjoy this format.<\/p>\n<p><strong>TL;DR:<\/strong> In this update: our new free AI course, the Rock Solid Python typing course, uv (the pip replacement everyone&rsquo;s talking about), Djangonauts, and a fun Data Doodling video.<\/p>"}]}}