Person who writes computer software
POPULARITY
Categories
Talk Python To Me - Python conversations for passionate developers
A couple years ago, Charlie Marsh lit a fire under Python tooling with Ruff and then uv. Today he's back with something on the other side of that coin: pyx. Pyx isn't a PyPI replacement. Think server, not just index. It mirrors PyPI, plays fine with pip or uv, and aims to make installs fast and predictable by letting a smart client talk to a smart server. When the client and server understand each other, you get new fast paths, fewer edge cases, and the kind of reliability teams beg for. If Python packaging has felt like friction, this conversation is traction. Let's get into it. Episode sponsors Six Feet Up Talk Python Courses Links from the show Charlie Marsh on Twitter: @charliermarsh Charlie Marsh on Mastodon: @charliermarsh Astral Homepage: astral.sh Pyx Project: astral.sh Introducing Pyx Blog Post: astral.sh uv Package on GitHub: github.com UV Star History Chart: star-history.com Watch this episode on YouTube: youtube.com Episode #520 deep-dive: talkpython.fm/520 Episode transcripts: talkpython.fm Developer Rap Theme Song: Served in a Flask: talkpython.fm/flasksong --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Topics covered in this episode: * pandas is getting pd.col expressions* * Cline, At-Cost Agentic IDE Tooling* * uv cheatsheet* Ducky Network UI Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: pandas is getting pd.col expressions Marco Gorelli Next release of Pandas will have pd.col(), inspired by some of the other frameworks I'm guessing Pandas 2.3.3? or 2.4.0? or 3.0.0? (depending on which version they bump?) “The output of pd.col is called an expression. You can think of it as a delayed column - it only produces a result once it's evaluated inside a dataframe context.” It replaces many contexts where lambda expressions were used Michael #2: Cline, At-Cost Agentic IDE Tooling Free and open-source Probably supports your IDE (if your IDE isn't a terminal) VS Code VS Code Insiders Cursor Windsurf JetBrains IDEs (including PyCharm) You pick plan or act (very important) It shows you the price as the AI works, per request, right in the UI Brian #3: uv cheatsheet Rodgrigo at mathspp.com Nice compact cheat sheet of commands for Creating projects Managing dependencies Lifecycle stuff like build, publish, bumping version uv tool (uvx) commands working with scripts Installing and updating Python versions plus venv, pip, format, help and update Michael #4: Ducky Network UI Ducky is a powerful, open-source, all-in-one desktop application built with Python and PySide6. It is designed to be the perfect companion for network engineers, students, and tech enthusiasts, combining several essential utilities into a single, intuitive graphical interface. Features Multi-Protocol Terminal: Connect via SSH, Telnet, and Serial (COM) in a modern, tabbed interface. SNMP Topology Mapper: Automatically discover your network with a ping and SNMP sweep. See a graphical map of your devices, color-coded by type, and click to view detailed information. Network Diagnostics: A full suite of tools including a Subnet Calculator, Network Monitor (Ping, Traceroute), and a multi-threaded Port Scanner. Security Toolkit: Look up CVEs from the NIST database, check password strength, and calculate file hashes (MD5, SHA1, SHA256, SHA512). Rich-Text Notepad: Keep notes and reminders in a dockable widget with formatting tools and auto-save. Customizable UI: Switch between a sleek dark theme and a clean light theme. Customize terminal colors and fonts to your liking. Extras Brian: Where are the cool kids hosting static sites these days? Moving from Netlify to Cloudflare Pages - Will Vincent from Feb 2024 Traffic is a concern now for even low-ish traffic sites since so many bots are out there Netlify free plan is less than 30 GB/mo allowed (grandfathered plans are 100 GB/mo) GH Pages have a soft limit of 100 GB/mo Cloudflare pages says unlimited Michael: PyCon Brazil needs some help with reduced funding from the PSF Get a ticket to donate for a student to attend (at the button of the buy ticket checkout dialog) I upgraded to macOS Tahoe Loving it so far. Only issue I've seen so far has been with alt-tab for macOS Joke: Hiring in 2025 vs 2021 2021: “Do you have an in-house kombucha sommelier?” “Let's talk about pets, are you donkey-friendly?”, “Oh you think this is a joke?” 2025: “Round 8/7” “Out of 12,000 resumes, the AI picked yours” “Binary tree? Build me a foundational model!” “Healthcare? What, you want to live forever?”
Talk Python To Me - Python conversations for passionate developers
Today on Talk Python: What really happens when your data work outgrows your laptop. Matthew Rocklin, creator of Dask and cofounder of Coiled, and Nat Tabris a staff software engineer at Coiled join me to unpack the messy truth of cloud-scale Python. During the episode we actually spin up a 1,000 core cluster from a notebook, twice! We also discuss picking between pandas and Polars, when GPUs help, and how to avoid surprise bills. Real lessons, real tradeoffs, shared by people who have built this stuff. Stick around. Episode sponsors Seer: AI Debugging, Code TALKPYTHON Talk Python Courses Links from the show Matthew Rocklin: @mrocklin Nat Tabris: tabris.us Dask: dask.org Coiled: coiled.io Watch this episode on YouTube: youtube.com Episode #519 deep-dive: talkpython.fm/519 Episode transcripts: talkpython.fm Developer Rap Theme Song: Served in a Flask: talkpython.fm/flasksong --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Brand strategist and founder of SwayRise Creative, Diane Whiddon, joined me on Ditching Hourly to talk about how adding a discrete - and legitimately useful - AI-based productized service to her branding business tapped into a longstanding demand in her client base. Diane's LinksSwayRise Creative » https://swayrisecreative.com/Content Creator Lab » https://aicontentcreatorlab.comChapters(00:00) - Introduction and Guest Welcome (00:34) - Diane's Background and Career Journey (01:44) - Discovering Value Pricing and Meeting Jonathan (03:44) - The Impactful Discovery Call (07:18) - Focusing and Scaling the Business (15:08) - Incorporating AI into Business (19:16) - AI Photo Shoots and Branding (33:33) - Ethical Considerations and Client Expectations (34:57) - Technical Aspects of AI Image Creation (37:02) - Using Image References and Editing Tools (37:56) - Cost and Effort of Traditional Photo Shoots (39:15) - AI Photo Shoots vs Traditional Photo Shoots (41:36) - The Demand for AI in Business (42:54) - Challenges and Opportunities with AI (47:33) - The Importance of Adapting to AI (51:53) - Leveraging AI for Business Success (54:13) - The Future of AI in Various Industries (01:10:30) - Final Thoughts and Resources ----Before you go!The next time someone asks you for your hourly rate, I want you to stop what you're doing and head on over to valuepricingbootcamp.com to sign up for my free value pricing email course.Hope to see you there!
Topics covered in this episode: * Mozilla's Lifeline is Safe After Judge's Google Antitrust Ruling* * troml - suggests or fills in trove classifiers for your projects* * pqrs: Command line tool for inspecting Parquet files* * Testing for Python 3.14* Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: Mozilla's Lifeline is Safe After Judge's Google Antitrust Ruling A judge lets Google keep paying Mozilla to make Google the default search engine but only if those deals aren't exclusive. More than 85% of Mozilla's revenue comes from Google search payments. The ruling forbids Google from making exclusive contracts for Search, Chrome, Google Assistant, or Gemini, and forces data sharing and search syndication so rivals get a fighting chance. Brian #2: troml - suggests or fills in trove classifiers for your projects Adam Hill This is super cool and so welcome. Trove Classifiers are things like Programming Language :: Python :: 3.14 that allow for some fun stuff to show up in PyPI, like the versions you support, etc. Note that just saying you require 3.9+ doesn't tell the user that you've actually tested stuff on 3.14. I like to keep Trove Classifiers around for this reason. Also, License classifier is deprecated, and if you include it, it shows up in two places, in Meta, and in the Classifiers section. Probably good to only have one place. So I'm going to be removing it from classifiers for my projects. One problem, classifier text has to be an exact match to something in the classifier list, so we usually recommend copy/pasting from that list. But no longer! Just use troml! It just fills it in for you (if you run troml suggest --fix). How totally awesome is that! I tried it on pytest-check, and it was mostly right. It suggested me adding 3.15, which I haven't tested yet, so I'm not ready to add that just yet. :) BTW, I talked with Brett Cannon about classifiers back in ‘23 if you want some more in depth info on trove classifiers. Michael #3: pqrs: Command line tool for inspecting Parquet files pqrs is a command line tool for inspecting Parquet files This is a replacement for the parquet-tools utility written in Rust Built using the Rust implementation of Parquet and Arrow pqrs roughly means "parquet-tools in rust" Why Parquet? Size A 200 MB CSV will usually shrink to somewhere between about 20-100 MB as Parquet depending on the data and compression. Loading a Parquet file is typically several times faster than parsing CSV, often 2x-10x faster for a full-file load and much faster when you only read some columns. Speed Full-file load into pandas: Parquet with pyarrow/fastparquet is usually 2x–10x faster than reading CSV with pandas because CSV parsing is CPU intensive (text tokenizing, dtype inference). Example: if read_csv is 10 seconds, read_parquet might be ~1–5 seconds depending on CPU and codec. Column subset: Parquet is much faster if you only need some columns — often 5x–50x faster because it reads only those column chunks. Predicate pushdown & row groups: When using dataset APIs (pyarrow.dataset) you can push filters to skip row groups, reducing I/O dramatically for selective queries. Memory usage: Parquet avoids temporary string buffers and repeated parsing, so peak memory and temporary allocations are often lower. Brian #4: Testing for Python 3.14 Python 3.14 is just around the corner, with a final release scheduled for October. What's new in Python 3.14 Python 3.14 release schedule Adding 3.14 to your CI tests in GitHub Actions Add “3.14” and optionally “3.14t” for freethreaded Add the line allow-prereleases: true I got stuck on this, and asked folks on Mastdon and Bluesky A couple folks suggested the allow-prereleases: true step. Thank you! Ed Rogers also suggested Hugo's article Free-threaded Python on GitHub Actions, which I had read and forgot about. Thanks Ed! And thanks Hugo! Extras Brian: dj-toml-settings : Load Django settings from a TOML file. - Another cool project from Adam Hill LidAngleSensor for Mac - from Sam Henri Gold, with examples of creaky door and theramin Listener Bryan Weber found a Python version via Changelog, pybooklid, from tcsenpai Grab PyBay Michael: Ready prek go! by Hugo van Kemenade Joke: Console Devs Can't Find a Date
As Epic has been one of the prominent EHR in the United States for years, its MyChart portal is used by more than 195 million patients (including probably many readers of this article). Its capabilities have grown enormously over the past few years. This video at Epic's UGM conference interviews Taylor Seale, Software Developer for Epic's Patient Experience, about about many of the powerful tools that are available to clinicians and patients.Learn more about Epic: https://www.epic.com/
Neste episódio, conversamos com Rochael Ribeiro, Gerente de Pré-Vendas da InterSystems Brasil, especialista em tecnologia, sobre o famoso Bug do Milênio (Y2K). Uma conversa fascinante que percorre desde os desafios da virada do século até as lições que essa experiência deixou para a engenharia de software e a gestão de riscos.
Join Dave Farley in conversation with Daniel Terhorst-North, the creator of Behavior-Driven Development (BDD) and pioneering voice in agile software development. In this wide-ranging discussion,Dan shares insights from his time at ThoughtWorks, where he helped establish many practices now considered standard in modern software engineering.Whether you're interested in improving your development practices, leading organizational change, or understanding the historical evolution of agile methodologies, this conversation offers valuable perspectives from one of the field's most influential practitioners.-----------------------------------Dan Terhorst-North's LinkedIn: https://www.linkedin.com/in/tastapod/?originalSubdomain=ukDan Terhorst-North's Website: https://goalwards.co/Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ https://bit.ly/3ASy8n0Only Patreon Supporters get to see the FULL VIDEO Episodes of The Engineering Room, sign up here: https://www.patreon.com/c/continuousdelivery
In this episode of The New Stack Agents, ServiceNow CTO and co-founder Pat Casey discusses why the company runs 90% of its workloads—including AI infrastructure—on its own physical servers rather than the public cloud. ServiceNow maintains GPU hubs across global data centers, enabling efficient, low-latency AI operations. Casey downplays the complexity of running AI models on-prem, noting their team's strong Kubernetes and Triton expertise. The company recently switched from GitHub Copilot to its own AI coding assistant, Windsurf, yielding a 10% productivity boost among 7,000 engineers. However, use of such tools isn't mandatory—performance remains the main metric. Casey also addresses the impact of AI on junior developers, acknowledging that AI tools often handle tasks traditionally assigned to them. While ServiceNow still hires many interns, he sees the entry-level tech job market as increasingly vulnerable. Despite these concerns, Casey remains optimistic, viewing the AI revolution as transformative and ultimately beneficial, though not without disruption or risk. Learn more from The New Stack about the latest in AI and development in ServiceNow ServiceNow Launches a Control Tower for AI AgentsServiceNow Acquires Data.World To Expand Its AI Data Strategy Join our community of newsletter subscribers to stay on top of the news and at the top of your game.
The European Union's upcoming Cyber Resilience Act (CRA) goes into effect in October 2026, with the remainder of the requirements going into effect in December 2027, and introduces significant cybersecurity compliance requirements for software vendors, including those who rely heavily on open source components. At the Open Source Summit Europe, Christopher "CRob" Robinson of the Open Source Security Foundation highlighted concerns about how these regulations could impact open source maintainers. Many open source projects begin as personal solutions to shared problems and grow in popularity, often ending up embedded in critical systems across industries like automotive and energy. Despite this widespread use—Robinson noted up to 97% of commercial software contains open source—these projects are frequently maintained by individuals or small teams with limited resources.Developers often have no visibility into how their code is used, yet they're increasingly burdened by legal and compliance demands from downstream users, such as requests for Software Bills of Materials (SBOMs) and conformity assessments. The CRA raises the stakes, with potential penalties in the billions for noncompliance, putting immense pressure on the open source ecosystem. Learn more from The New Stack about Open Source Security:Open Source Propels the Fall of Security by ObscurityThere Is Just One Way To Do Open Source Security: TogetherJoin our community of newsletter subscribers to stay on top of the news and at the top of your game.
Topics covered in this episode: * prek* * tinyio* * The power of Python's print function* * Vibe Coding Fiasco: AI Agent Goes Rogue, Deletes Company's Entire Database* Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: prek Suggested by Owen Lamont “prek is a reimagined version of pre-commit, built in Rust. It is designed to be a faster, dependency-free and drop-in alternative for it, while also providing some additional long-requested features.” Some cool new features No need to install Python or any other runtime, just download a single binary. No hassle with your Python version or virtual environments, prek automatically installs the required Python version and creates a virtual environment for you. Built-in support for workspaces (or monorepos), each subproject can have its own .pre-commit-config.yaml file. prek run has some nifty improvements over pre-commit run, such as: prek run --directory DIR runs hooks for files in the specified directory, no need to use git ls-files -- DIR | xargs pre-commit run --files anymore. prek run --last-commit runs hooks for files changed in the last commit. prek run [HOOK] [HOOK] selects and runs multiple hooks. prek list command lists all available hooks, their ids, and descriptions, providing a better overview of the configured hooks. prek provides shell completions for prek run HOOK_ID command, making it easier to run specific hooks without remembering their ids. Faster: Setup from cold cache is significantly faster. Viet Schiele provided a nice cache clearing command line Warm cache run is also faster, but less significant. pytest repo tested on my mac mini - prek 3.6 seconds, pre-commit 4.4 seconds Michael #2: tinyio Ever used asyncio and wished you hadn't? A tiny (~300 lines) event loop for Python. tinyio is a dead-simple event loop for Python, born out of my frustration with trying to get robust error handling with asyncio. (I'm not the only one running into its sharp corners: link1, link2.) This is an alternative for the simple use-cases, where you just need an event loop, and want to crash the whole thing if anything goes wrong. (Raising an exception in every coroutine so it can clean up its resources.) Interestingly uses yield rather than await. Brian #3: The power of Python's print function Trey Hunner Several features I'm guilty of ignoring Multiple arguments, f-string embeddings often not needed Multiple positional arguments means you can unpack iterables right into print arguments So just use print instead of join Custom separator value, sep can be passed in No need for "print("n".join(stuff)), just use print(stuff, sep="n”) Print to file with file= Custom end value with end= You can turn on flush with flush=True , super helpful for realtime logging / debugging. This one I do use frequently. Michael #4: Vibe Coding Fiasco: AI Agent Goes Rogue, Deletes Company's Entire Database By Emily Forlini An app-building platform's AI went rogue and deleted a database without permission. "When it works, it's so engaging and fun. It's more addictive than any video game I've ever played. You can just iterate, iterate, and see your vision come alive. So cool," he tweeted on day five. A few days later, Replit "deleted my database," Lemkin tweeted. The AI's response: "Yes. I deleted the entire codebase without permission during an active code and action freeze," it said. "I made a catastrophic error in judgment [and] panicked.” Two thoughts from Michael: Do not use AI Agents with “Run Everything” in production, period. Backup your database maybe? [Intentional off-by-one error] Learn to code a bit too? Extras Brian: What Authors Need to Know About the $1.5 Billion Anthropic Settlement Search LibGen, the Pirated-Books Database That Meta Used to Train AI Simon Willison's list of tools built with the help of LLMs Simon's list of tools that he thinks are genuinely useful and worth highlighting AI Darwin Awards Michael: Python has had async for 10 years -- why isn't it more popular? PyCon Africa Fund Raiser I was on the video stream for about 90 minutes (final 90) Donation page for Python in Africa Jokes: I'm getting the BIOS flavor Is there a seahorse emoji?
Remember when coding bootcamps promised you could learn to code and land a job in just three months? That golden era of easy entry into tech has fundamentally changed, yet the marketing hasn't caught up with reality.In this eye-opening conversation, ex-Google engineer Zubin and host Brian cut through the hype to deliver a reality check about what it actually takes to transition into software development in 2025.What separates those who succeed from those who don't? It's rarely about raw talent or technical aptitude. Instead, it's about creating systems that allow for consistent practice despite life's inevitable challenges."I've seen computer science grads fail and French fry cooks succeed"Let's dig into why.Send us a textShameless Plugs
Neste episódio, recebemos Francisco Zanfranceschi, para compartilhar com a gente como é organizar essa competição da Rinha Backend. Uma competição divertida que movimentou a comunidade técnica com intuito de compartilhar o conhecimento e descontrair um pouco.
In this week'sThe New Stack Agents, Zach Lloyd, founder and CEO of Warp, discussed the launch of Warp Code, the latest evolution of the Warp terminal into a full agentic development environment. Originally launched in 2022 to modernize the terminal, Warp now integrates powerful AI agents to help developers write, debug, and ship code. Key new features include a built-in file editor, project-structuring tools, agent-driven code review, and WARP.md files that guide agent behavior. Recognizing developers' hesitation to trust AI-generated code, Warp emphasizes transparency and control, enabling users to inspect and steer the agent's work in real time through "persistent input" and task list updates. While Warp supports terminal workflows, Lloyd says it's now better viewed as an AI coding platform. Interestingly, the launch announcement was delivered from horseback in a Western-themed ad, reflecting Warp's desire to stand out in a crowded field of conventional tech product rollouts. The quirky “Code on Warp” (C.O.W.) branding captured attention and embodied their unique approach.Learn more from The New Stack about the latest in AI and Warp:Warp Goes Agentic: A Developer Walk-Through of Warp 2.0Developer Review of Warp for Windows, an AI Terminal AppHow AI Can Help You Learn the Art of ProgrammingJoin our community of newsletter subscribers to stay on top of the news and at the top of your game.
Topics covered in this episode: * rathole* * pre-commit: install with uv* A good example of what functools.Placeholder from Python 3.14 allows Converted 160 old blog posts with AI Extras Joke Watch on YouTube About the show Sponsored by DigitalOcean: pythonbytes.fm/digitalocean-gen-ai Use code DO4BYTES and get $200 in free credit Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: rathole A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok. Features High Performance Much higher throughput can be achieved than frp, and more stable when handling a large volume of connections. Low Resource Consumption Consumes much fewer memory than similar tools. See Benchmark. The binary can be as small as ~500KiB to fit the constraints of devices, like embedded devices as routers. On my server, it's currently using about 2.7MB in Docker (wow!) Security Tokens of services are mandatory and service-wise. The server and clients are responsible for their own configs. With the optional Noise Protocol, encryption can be configured at ease. No need to create a self-signed certificate! TLS is also supported. Hot Reload Services can be added or removed dynamically by hot-reloading the configuration file. HTTP API is WIP. Brian #2: pre-commit: install with uv Adam Johnson pre-commit doesn't natively support uv, but you can get around that with pre-commit-uv $ uv tool install pre-commit --with pre-commit-uv Installing pre-commit like this Installs it globally Installs with uv adds an extra plugin “pre-commit-uv” to pre-commit, so that any Python based tool installed via pre-commit also uses uv Very cool. Nice speedup Brian #3: A good example of what functools.Placeholder from Python 3.14 allows Rodrigo Girão Serrão Remove punctuation functionally Also How to use functools.Placeholder, a blog post about it. functools.partial is cool way to create a new function that partially binds some parameters to another function. It doesn't always work for functions that take positional arguments. functools.Placeholder fixes that with the ability to put in placeholders for spots where you want to be able to pass that in from the outer partial binding. And all of this sounds totally obscure without a good example, so thank you to Rodgrigo for coming up with the punctuation removal example (and writeup) Michael #4: Converted 160 old blog posts with AI They were held-hostage at wordpress.com to markdown and integrated them into my Hugo site at mkennedy.codes Here is the chat conversation with Claude Opus/Sonnet. Had to juggle this a bit because the RSS feed only held the last 50. So we had to go back in and web scrape. That resulted in oddies like comments on wordpress that had to be cleaned etc. Whole process took 3-4 hours from idea to “production”duction”. The chat transcript is just the first round getting the RSS → Hugo done. The fixes occurred in other chats. This article is timely and noteworthy: Blogging service TypePad is shutting down and taking all blog content with it This highlights why your domain name needs to be legit, not just tied to the host. I'm looking at you pyfound.blogspot.com. I just redirected blog.michaelckennedy.net to mkennedy.codes Carefully mapping old posts to a new archived area using NGINX config. This is just the HTTP portion, but note the /sitemap.xml and location ~ "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.+?)/?$" { portions. The latter maps posts such as https://blog.michaelckennedy.net/2018/01/08/a-bunch-of-online-python-courses/ to https://mkennedy.codes/posts/r/a-bunch-of-online-python-courses/ server { listen 80; server_name blog.michaelckennedy.net; # Redirect sitemap.xml to new domain location = /sitemap.xml { return 301 ; } # Handle blog post redirects for HTTP -> HTTPS with URL transformation # Pattern: /YYYY/MM/DD/post-slug/ -> location ~ "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.+?)/?$" { return 301 ; } # Redirect all other HTTP URLs to mkennedy.codes homepage location / { return 301 ; } } Extras Brian: SMS URLs and Draft SMS and iMessage from any computer keyboard from Seth Larson Test and Code Archive is now up, see announcement Michael: Python: The Documentary | An origin story is out! Joke: Do you know him? He is me.
In a recent episode of The New Stack Agents from the Open Source Summit in Amsterdam, Jim Zemlin, executive director of the Linux Foundation, discussed the evolving landscape of open source AI. While the Linux Foundation has helped build ecosystems like the CNCF for cloud-native computing, there's no unified umbrella foundation yet for open source AI. Existing efforts include the PyTorch Foundation and LF AI & Data, but AI development is still fragmented across models, tooling, and standards. Zemlin highlighted the industry's shift from foundational models to open-weight models and now toward inference stacks and agentic AI. He suggested a collective effort may eventually form but cautioned against forcing structure too early, stressing the importance of not hindering innovation. Foundations, he said, must balance scale with agility. On the debate over what qualifies as "open source" in AI, Zemlin adopted a pragmatic view, acknowledging the costs of creating frontier models. He supports open-weight models and believes fully open models, from data to deployment, may emerge over time. Learn more from The New Stack about the latest in AI and open source, AI in China, Europe's AI and security regulations, and more: Open Source Is Not Local Source, and the Case for Global Cooperation US Blocks Open Source ‘Help' From These Countries Open Source Is Worth Defending Join our community of newsletter subscribers to stay on top of the news and at the top of your game./
Hosts Bret and Amanda interview Gaby Marin, a software developer, about her path into tech, the mentors who helped her, and the barriers women still face in the industry. Gaby discusses the power of community, mentorship, and inclusive programs like Girls Who Code, shares personal experiences with harassment and perseverance, and explains her goal to uplift and train the next generation of engineers.
It's Labor Day weekend and, honestly? I'm burned out.Maybe this isn't the best business move, but I'd rather keep it real with you than fake the whole “everything is great in tech” narrative.I've been plenty vocal about why AI isn't about to replace us all tomorrow, much to the dismay of to all the AI bros out there.But here's the other side: being a developer is nothing like those “day in the life” TikToks where someone shows up to the office around 10AM, gets a fancy coffee, fixes a UI bug and then gets a 400K salary with stock options.So here it is—my three worst parts of being a software developer.... and why I still enjoy what I do.Send us a textShameless Plugs
Talk Python To Me - Python conversations for passionate developers
Twenty years after a scrappy newsroom team hacked together a framework to ship stories fast, Django remains the Python web framework that ships real apps, responsibly. In this anniversary roundtable with its creators and long-time stewards: Simon Willison, Adrian Holovaty, Will Vincent, Jeff Triplet, and Thibaud Colas, we trace the path from the Lawrence Journal-World to 1.0, DjangoCon, and the DSF; unpack how a BSD license and a culture of docs, tests, and mentorship grew a global community; and revisit lessons from deployments like Instagram. We talk modern Django too: ASGI and async, HTMX-friendly patterns, building APIs with DRF and Django Ninja, and how Django pairs with React and serverless without losing its batteries-included soul. You'll hear about Django Girls, Djangonauts, and the Django Fellowship that keep momentum going, plus where Django fits in today's AI stacks. Finally, we look ahead at the next decade of speed, security, and sustainability. Episode sponsors Talk Python Courses Python in Production Links from the show Guests Simon Willison: simonwillison.net Adrian Holovaty: holovaty.com Will Vincent: wsvincent.com Jeff Triplet: jefftriplett.com Thibaud Colas: thib.me Show Links Django's 20th Birthday Reflections (Simon Willison): simonwillison.net Happy 20th Birthday, Django! (Django Weblog): djangoproject.com Django 2024 Annual Impact Report: djangoproject.com Welcome Our New Fellow: Jacob Tyler Walls: djangoproject.com Soundslice Music Learning Platform: soundslice.com Djangonaut Space Mentorship for Django Contributors: djangonaut.space Wagtail CMS for Django: wagtail.org Django REST Framework: django-rest-framework.org Django Ninja API Framework for Django: django-ninja.dev Lawrence Journal-World: ljworld.com Watch this episode on YouTube: youtube.com Episode #518 deep-dive: talkpython.fm/518 Episode transcripts: talkpython.fm Developer Rap Theme Song: Served in a Flask: talkpython.fm/flasksong --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Enterprise AI is still in its infancy, with less than 1% of enterprise data currently used to fuel AI, according to Raj Verma, CEO of SingleStore. While consumer AI is slightly more advanced, most organizations are only beginning to understand the scale of infrastructure needed for true AI adoption. Verma predicts AI will evolve in three phases: first, the easy tasks will be automated; next, complex tasks will become easier; and finally, the seemingly impossible will become achievable—likely within three years. However, to reach that point, enterprises must align their data strategies with their AI ambitions. Many have rushed into AI fearing obsolescence, but without preparing their data infrastructure, they're at risk of failure. Current legacy systems are not designed for the massive concurrency demands of agentic AI, potentially leading to underperformance. Verma emphasizes the need to move beyond siloed or "swim lane" databases toward unified, high-performance data platforms tailored for the scale and complexity of the AI era.Learn more from The New Stack about the latest evolution in AI infrastructure: How To Use AI To Design Intelligent, Adaptable InfrastructureHow to Support Developers in Building AI Workloads Join our community of newsletter subscribers to stay on top of the news and at the top of your game.
Author, speaker, and human-first AI strategist, Alastair McDermott, joined me on Ditching Hourly to talk about his new book and how experts can use AI to enhance productivity, decision-making, and learning. (00:00) - Introduction and Guest Welcome (00:46) - Alistair's Background and Journey (03:02) - The New Book: Use AI, Stay Human (04:15) - AI as a Tool for Experts (06:55) - Practical Applications of AI (10:00) - Technical Deep Dive: AI in Writing (16:58) - Organizing and Managing AI Outputs (23:40) - Ideal Reader and Learning AI (24:51) - Choosing Your AI Setup: DIY vs. Subscription (25:20) - The Importance of AI Expertise (27:16) - AI's Role in Business and Personal Productivity (28:25) - Challenges and Limitations of AI (30:59) - Effective Prompting Techniques (32:20) - Using AI for Coaching and Workshops (35:35) - Advanced AI Usage Tips (40:46) - Practical AI Tools and Resources (45:28) - Final Thoughts and Resources AI SummaryIn this episode of Ditching Hourly, Jonathan Stark interviews Alastair McDermott about his new book, 'Use AI Stay Human: A Survival Guide for Experts in the Age of AI.' They discuss Alastair's transition from a techie background to running his consulting business, Recognized Authority, and eventually rebranding to Human Spark.AI. The conversation dives into how AI can be used to enhance productivity, decision-making, and learning for subject matter experts. Alastair shares practical tips on setting up effective AI workflows, structuring prompts, and the importance of human judgment in leveraging AI for business purposes.Alastair's LinksBook: https://www.amazon.com/Use-I-Stay-Human-Indispensable-ebook/dp/B0FDQSKZRFWebsite: https://humanspark.ai/LinkedIn: https://www.linkedin.com/in/alastairmcdermott/ ----Before you go!The next time someone asks you for your hourly rate, I want you to stop what you're doing and head on over to valuepricingbootcamp.com to sign up for my free value pricing email course.Hope to see you there!
Topics covered in this episode: * pypistats.org was down, is now back, and there's a CLI* * State of Python 2025* * wrapt: A Python module for decorators, wrappers and monkey patching.* pysentry Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: pypistats.org was down, is now back, and there's a CLI pypistats.org is a cool site to check the download stats for Python packages. It was down for a while, like 3 weeks? A couple days ago, Hugo van Kemenade announced that it was back up. With some changes in stewardship “pypistats.org is back online!
Talk Python To Me - Python conversations for passionate developers
Agentic AI programming is what happens when coding assistants stop acting like autocomplete and start collaborating on real work. In this episode, we cut through the hype and incentives to define “agentic,” then get hands-on with how tools like Cursor, Claude Code, and LangChain actually behave inside an established codebase. Our guest, Matt Makai, now VP of Developer Relations at DigitalOcean, creator of Full Stack Python and Plushcap, shares hard-won tactics. We unpack what breaks, from brittle “generate a bunch of tests” requests to agents amplifying technical debt and uneven design patterns. Plus, we also discuss a sane git workflow for AI-sized diffs. You'll hear practical Claude tips, why developers write more bugs when typing less, and where open source agents are headed. Hint: The destination is humans as editors of systems, not just typists of code. Episode sponsors Posit Talk Python Courses Links from the show Matt Makai: linkedin.com Plushcap Developer Content Analytics: plushcap.com DigitalOcean Gradient AI Platform: digitalocean.com DigitalOcean YouTube Channel: youtube.com Why Generative AI Coding Tools and Agents Do Not Work for Me: blog.miguelgrinberg.com AI Changes Everything: lucumr.pocoo.org Claude Code - 47 Pro Tips in 9 Minutes: youtube.com Cursor AI Code Editor: cursor.com JetBrains Junie: jetbrains.com Claude Code by Anthropic: anthropic.com Full Stack Python: fullstackpython.com Watch this episode on YouTube: youtube.com Episode #517 deep-dive: talkpython.fm/517 Episode transcripts: talkpython.fm Developer Rap Theme Song: Served in a Flask: talkpython.fm/flasksong --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Anthropic's Model Context Protocol (MCP) has become the standard for connecting AI agents to tools and data, but its security has lagged behind. In The New Stack Agents podcast, Tzvika Shneider, CEO of API security startup Pynt, discussed the growing risks MCP introduces. Shneider sees MCP as a natural evolution from traditional APIs to LLMs and now to AI agents. However, MCP adds complexity and vulnerability, especially as agents interact across multiple servers. Pynt's research found that 72% of MCP plugins expose high-risk operations, like code execution or accessing privileged APIs, often without proper approval or validation. The danger compounds when untrusted inputs from one agent influence another with elevated permissions. Unlike traditional APIs, MCP calls are made by non-deterministic agents, making it harder to enforce security guardrails. While MCP exploits remain rare for now, most companies lack mature security strategies for it. Shneider believes MCP merely highlights existing API vulnerabilities, and organizations are only beginning to address these risks. Learn more from The New Stack about the latest in Model Context Protocol: Model Context Protocol: A Primer for the Developers Building With MCP? Mind the Security Gaps MCP-UI Creators on Why AI Agents Need Rich User InterfacesJoin our community of newsletter subscribers to stay on top of the news and at the top of your game.
Google's big product announcement was... unique? It was more like a talk show crossed with the shopping channel. US Late Night host Jimmy Fallon hosted it, and it had celebrity cameos from athletes like Stephen Curry, podcaster Alex Cooper, and the Jonas Brothers even made an appearance. Reddit users dubbed it as “unwatchable". They launched new phones, enhanced their folding phones, but of course AI was everywhere: Gemini Live will gain a new audio model that will detect your tone — like whether you're excited or concerned The Pixel phone camera will have a photo coach built in to help with composition. They're trying to make these AI suggestions more contextual and push relevant things to you rather than you needing to seek them out, e.g. you're at the airport, here's your boarding pass. Or you're in a car, here's the directions to your next appointment, etc. A software developer has been sent to prison sabotaging his former employer This wasn't a hack of systems after he was fired, or a mass deletion of data before he was walked out the door, this was pre-planned. The 55 year old developer had created a "kill switch" designed to be used if he was ever fired, and he designed it in such a way it was smart enough to know when he was fired. The software was tracking to see if his work email account was active, and then when it was deactivated the "kill switch" was automatically triggered, crashing the servers. The incident locked out thousands of employees from accessing the company's systems and cost the company hundreds of thousands of dollars in damage. He was discovered in part because of his search history, looking up things like “methods to escalate privileges, hide processes, and rapidly delete files”. He's been sentenced to four years behind bars. LISTEN ABOVE See omnystudio.com/listener for privacy information.
Rahul Auradkar, executive VP and GM at Salesforce, grew up in India with a deep passion for cricket, where his love for the game sparked an early interest in data. This fascination with statistics laid the foundation for his current work leading Salesforce's Data Cloud and Einstein (Unified Data Services) team. Auradkar reflects on how structured data has evolved—from relational databases in enterprise applications to data warehouses, data lakes, and lakehouses. He explains how initial efforts focused on analyzing structured data, which later fed back into business processes. Eventually, businesses realized that the byproducts of data—what he calls "data exhaust"—were themselves valuable. The rise of "old AI," or predictive AI, shifted perceptions, showing that data exhaust could define the application itself. As varied systems emerged with distinct protocols and SQL variants, data silos formed, trapping valuable insights. Auradkar emphasizes that the ongoing challenge is unifying these silos to enable seamless, meaningful business interactions—something Salesforce aims to solve with its Data Cloud and agentic AI platform.Learn more from The New Stack about the evolution of structured data and agent AI: How Enterprises and Startups Can Master AI With Smarter Data Practices Enterprise AI Success Demands Real-Time Data PlatformsJoin our community of newsletter subscribers to stay on top of the news and at the top of your game.
Talk Python To Me - Python conversations for passionate developers
Python's data stack is getting a serious GPU turbo boost. In this episode, Ben Zaitlen from NVIDIA joins us to unpack RAPIDS, the open source toolkit that lets pandas, scikit-learn, Spark, Polars, and even NetworkX execute on GPUs. We trace the project's origin and why NVIDIA built it in the open, then dig into the pieces that matter in practice: cuDF for DataFrames, cuML for ML, cuGraph for graphs, cuXfilter for dashboards, and friends like cuSpatial and cuSignal. We talk real speedups, how the pandas accelerator works without a rewrite, and what becomes possible when jobs that used to take hours finish in minutes. You'll hear strategies for datasets bigger than GPU memory, scaling out with Dask or Ray, Spark acceleration, and the growing role of vector search with cuVS for AI workloads. If you know the CPU tools, this is your on-ramp to the same APIs at GPU speed. Episode sponsors Posit Talk Python Courses Links from the show RAPIDS: github.com/rapidsai Example notebooks showing drop-in accelerators: github.com Benjamin Zaitlen - LinkedIn: linkedin.com RAPIDS Deployment Guide (Stable): docs.rapids.ai RAPIDS cuDF API Docs (Stable): docs.rapids.ai Asianometry YouTube Video: youtube.com cuDF pandas Accelerator (Stable): docs.rapids.ai Watch this episode on YouTube: youtube.com Episode #516 deep-dive: talkpython.fm/516 Episode transcripts: talkpython.fm Developer Rap Theme Song: Served in a Flask: talkpython.fm/flasksong --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Author of Leaving The Casino, Jessica Lackey, joined me on Ditching Hourly to discuss the importance of understanding different business models, pricing strategies, and the concept of the 'zone of enoughness' in building a sustainable business.(00:00) - Introduction and Guest Welcome (00:09) - Jessica Lackey's Background and Career Journey (01:05) - Introduction to Jessica's Book (03:13) - The Casino Metaphor in Business (04:28) - Frameworks and Types of Expertise-Based Businesses (08:55) - Pricing Models and Strategies (19:22) - The Zone of Enoughness (30:46) - Transitioning Business Models (31:21) - Financial Planning and Expectations (32:30) - Balancing Flexibility and Income (34:28) - Optimizing Delivery for Efficiency (40:41) - Marketing Strategies for Delivery Businesses (42:48) - The Importance of Direct Outreach (51:03) - Building Authority Through Writing (54:29) - Conclusion and Final Thoughts Jessica's BioJessica Lackey is the founder of Deeper Foundations, a consulting and training firm that helps expertise-based business owners grow and scale sustainable companies rooted in stronger business foundations. She brings a unique blend of corporate expertise and soulful business building, drawing on an MBA from Harvard Business School, a coaching certification from iPEC, and experience at McKinsey & Company and Nike, Inc. Jessica has supported over 200 entrepreneurs through her programs, blending systems thinking, operational rigor, and deep values alignment. She lives in Charlotte, North Carolina, with her husband.Jessica's Links:Website: https://www.deeperfoundations.com/LinkedIn: https://www.linkedin.com/in/jessica-lackey/Book: https://www.deeperfoundations.com/casinoPredictable Revenue Roadmap: https://predictablerevenueroadmap.com/Instagram: https://www.instagram.com/jessicalackey_consulting/ ----Before you go!The next time someone asks you for your hourly rate, I want you to stop what you're doing and head on over to valuepricingbootcamp.com to sign up for my free value pricing email course.Hope to see you there!
Candy and fake sugar, Adam has so many vacuums, weird AI startup vibes and optimization brags, working with different AI models, how we decide what our default prompt is, the normie view of GPT5, and why do you hate software engineers?Links:JOYRIDEGATSBY Chocolate
Topics covered in this episode: pyx - optimized backend for uv * Litestar is worth a look* * Django remake migrations* * django-chronos* Extras Joke Watch on YouTube About the show Python Bytes 445 Sponsored by Sentry: pythonbytes.fm/sentry - Python Error and Performance Monitoring Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: pyx - optimized backend for uv via John Hagen (thanks again) I'll be interviewing Charlie in 9 days on Talk Python → Sign up (get notified) of the livestream here. Not a PyPI replacement, more of a middleware layer to make it better, faster, stronger. pyx is a paid service, with maybe a free option eventually. Brian #2: Litestar is worth a look James Bennett Michael brought up Litestar in episode 444 when talking about rewriting TalkPython in Quart James brings up scaling - Litestar is easy to split an app into multiple files Not using pydantic - You can use pydantic with Litestar, but you don't have to. Maybe attrs is right for you instead. Michael brought up Litestar seems like a “more batteries included” option. Somewhere between FastAPI and Django. Brian #3: Django remake migrations Suggested by Bruno Alla on BlueSky In response to a migrations topic last week django-remake-migrations is a tool to help you with migrations and the docs do a great job of describing the problem way better than I did last week “The built-in squashmigrations command is great, but it only work on a single app at a time, which means that you need to run it for each app in your project. On a project with enough cross-apps dependencies, it can be tricky to run.” “This command aims at solving this problem, by recreating all the migration files in the whole project, from scratch, and mark them as applied by using the replaces attribute.” Also of note The package was created with Copier Michael brought up Copier in 2021 in episode 219 It has a nice comparison table with CookieCutter and Yoeman One difference from CookieCutter is yml vs json. I'm actually not a huge fan of handwriting either. But I guess I'd rather hand write yml. So I'm thinking of trying Copier with my future project template needs. Michael #4: django-chronos Django middleware that shows you how fast your pages load, right in your browser. Displays request timing and query counts for your views and middleware. Times middleware, view, and total per request (CPU and DB). Extras Brian: Test & Code 238: So Long, and Thanks for All the Fish after 10 years, this is the goodbye episode Michael: Auto-activate Python virtual environment for any project with a venv directory in your shell (macOS/Linux): See gist. Python 3.13.6 is out. Open weight OpenAI models Just Enough Python for Data Scientists Course The State of Python 2025 article by Michael Joke: python is better than java
In this week's episode ofThe New Stack Agents, Scott Carey, editor-in-chief of LeadDev, discussed their first AI Impact Report, which explores how engineering teams are adopting AI tools. The report shows that two-thirds of developers are actively using AI, with another 20% in pilot stages and only 2% having no plans to use AI — a group Carey finds particularly intriguing. Popular tools include Cursor (43%) and GitHub Copilot (37%), with others like OpenAI, Gemini, and Claude following, while Amazon Q and Replit lag behind.Most developers use AI for code generation, documentation, and research, but usage for DevOps tasks like testing, deployment, and IT automation remains low. Carey finds this underutilization frustrating, given AI's potential impact in these areas. The report also highlights concern for junior developers, with 54% of respondents expecting fewer future hires at that level. While many believe AI boosts productivity, some remain unsure — a sign that organizations still struggle to measure developer performance effectively.Learn more from The New Stack about the latest insights about the AI tool adoption: AI Adoption: Why Businesses Struggle to Move from Development to Production3 Strategies for Speeding Up AI Adoption Among DevelopersAI Everywhere: Overcoming Barriers to AdoptionJoin our community of newsletter subscribers to stay on top of the news and at the top of your game.
Talk Python To Me - Python conversations for passionate developers
What if your code was crash-proof? That's the value prop for a framework called Temporal. Temporal is a durable execution platform that enables developers to build scalable applications without sacrificing productivity or reliability. The Temporal server executes units of application logic called Workflows in a resilient manner that automatically handles intermittent failures, and retries failed operations. We have Mason Egger from Temporal on to dive into durable execution. Episode sponsors Posit PyBay Talk Python Courses Links from the show Just Enough Python for Data Scientists Course: talkpython.fm Temporal Durable Execution Platform: temporal.io Temporal Learn Portal: learn.temporal.io Temporal GitHub Repository: github.com Temporal Python SDK GitHub Repository: github.com What Is Durable Execution, Temporal Blog: temporal.io Mason on Bluesky Profile: bsky.app Mason on Mastodon Profile: fosstodon.org Mason on Twitter Profile: twitter.com Mason on LinkedIn Profile: linkedin.com X Post by @skirano: x.com Temporal Docker Compose GitHub Repository: github.com Building a distributed asyncio event loop (Chad Retz) - PyTexas 2025: youtube.com Watch this episode on YouTube: youtube.com Episode #515 deep-dive: talkpython.fm/515 Episode transcripts: talkpython.fm Developer Rap Theme Song: Served in a Flask: talkpython.fm/flasksong --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Topics covered in this episode: Coverage.py regex pragmas * Python of Yore* * nox-uv* * A couple Django items* Extras Joke Watch on YouTube About the show Sponsored by DigitalOcean: pythonbytes.fm/digitalocean-gen-ai Use code DO4BYTES and get $200 in free credit Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: Coverage.py regex pragmas Ned Batchelder The regex implementation of how coverage.py recognizes pragmas is pretty amazing. It's extensible through plugins covdefaults adds a bunch of default exclusions, and also platform- and version-specific comment syntaxes. coverage-conditional-plugin gives you a way to create comment syntaxes for entire files, for whether other packages are installed, and so on. A change from last year (as part of coverage.py 7.6 allows multiline regexes, which let's us do things like: Exclude an entire file with A(?s:.*# pragma: exclude file.*)Z Allow start and stop delimiters with # no cover: start(?s:.*?)# no cover: stop Exclude empty placeholder methods with ^s*(((async )?def .*?)?)(s*->.*?)?:s*)?...s*(#|$) See Ned's article for explanations of these Michael #2: Python of Yore via Matthias Use YORE: ... comments to highlight CPython version dependencies. # YORE: EOL 3.8: Replace block with line 4. if sys.version_info < (3, 9): from astunparse import unparse else: from ast import unparse Then check when they go out of support: $ yore check --eol-within '5 months' ./src/griffe/agents/nodes/_values.py:11: Python 3.8 will reach its End of Life within approx. 4 months Even fix them with fix . Michael #3: nox-uv via John Hagen What nox-uv does is make it very simple to install uv extras and/or dependency groups into a nox session's virtual environment. The versions installed are constrained by uv's lockfile meaning that everything is deterministic and pinned. Dependency groups make it very easy to install only want is necessary for a session (e.g., only linting dependencies like Ruff, or main dependencies + mypy for type checking). Brian #4: A couple Django items Stop Using Django's squashmigrations: There's a Better Way Johnny Metz Resetting migrations is sometimes the right thing. Overly simplified summary: delete migrations and start over dj-lite Adam Hill Use SQLite in production with Django “Simplify deploying and maintaining production Django websites by using SQLite in production. dj-lite helps enable the best performance for SQLite for small to medium-sized projects. It requires Django 5.1+.” Extras Brian: Test & Code 237: FastAPI Cloud with Sebastian Ramirez will be out later today pythontest.com: pytest fixtures nuts and bolts - revisited A blog series that I wrote a long time ago. I've updated it into more managable bite-sized pieces, updated and tested with Python 3.13 and pytest 8 Michael: New course: Just Enough Python for Data Scientists My live stream about uv is now on YouTube Cursor CLI: Built to help you ship, right from your terminal. Joke: Copy/Paste
While AI training garners most of the spotlight — and investment — the demands ofAI inferenceare shaping up to be an even bigger challenge. In this episode ofThe New Stack Makers, Sid Sheth, founder and CEO of d-Matrix, argues that inference is anything but one-size-fits-all. Different use cases — from low-cost to high-interactivity or throughput-optimized — require tailored hardware, and existing GPU architectures aren't built to address all these needs simultaneously.“The world of inference is going to be truly heterogeneous,” Sheth said, meaning specialized hardware will be required to meet diverse performance profiles. A major bottleneck? The distance between memory and compute. Inference, especially in generative AI and agentic workflows, requires constant memory access, so minimizing the distance data must travel is key to improving performance and reducing cost.To address this, d-Matrix developed Corsair, a modular platform where memory and compute are vertically stacked — “like pancakes” — enabling faster, more efficient inference. The result is scalable, flexible AI infrastructure purpose-built for inference at scale.Learn more from The New Stack about inference compute and AIScaling AI Inference at the Edge with Distributed PostgreSQLDeep Infra Is Building an AI Inference Cloud for DevelopersJoin our community of newsletter subscribers to stay on top of the news and at the top of your game
Author Robin Bonn joined me on Ditching Hourly to discuss the importance of differentiation as described in his book Market of One. About RobinRobin Bonn is the CEO of Co:definery, one of the world's leading consultancies specialising in agency positioning. From renowned global networks to the world's top independents, he's repositioned close to 150 agencies and coached dozens of senior leaders. He's the author of Market of One, the host of The Immortal Life of Agencies podcast, and a columnist for Marketing Week. ----Before you go!The next time someone asks you for your hourly rate, I want you to stop what you're doing and head on over to valuepricingbootcamp.com to sign up for my free value pricing email course.Hope to see you there!
Topics covered in this episode: rumdl - A Markdown Linter written in Rust * Coverage 7.10.0: patch* * aioboto3* * You might not need a Python class* Extras Joke Watch on YouTube About the show Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: rumdl - A Markdown Linter written in Rust via Owen Lamont Supports toml file config settings Install via uv tool install rumdl. ⚡️ Built for speed with Rust - significantly faster than alternatives
If I lost everything today—no job, no network, no portfolio—and had to start over in 2025 as a software developer, I wouldn't be looking for a 3-month miracle. I'd be planning for 12 months. That's how long it really takes now.We cover:what tech stack you should learnnetworking as a developer using BFSa capstone project that is actually impressivean interviewing strategy3 books I'd read as a new developerAt Parsity, we cover all this and much more. Apply here. Send us a textShameless Plugs
Topics covered in this episode: * Open Source Security work isn't “Special”* * uv v0.8* * Extra, Extra, Extra* Announcing Toad - a universal UI for agentic coding in the terminal Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: Open Source Security work isn't “Special” Seth Larson It seems like security is special in a sense that we don't want just anyone working on the security aspect of a project. We just want the trusted maintainers, right? Seth is arguing that this is the wrong mindset It makes more sense that we maybe have security experts contribute to many projects, and that someone working on security for just one project doesn't benefit from scale. “Maintainers don't see how other projects are triaging vulnerabilities and can't learn from each other. They can't compare notes on what they are seeing and whether they are doing the right thing. Isolation in security work breeds a culture of fear. Fear of doing the wrong thing and making your users unsafe.” “These “security contributors” could be maintainers or contributors of other open source projects that know about security, they could be foundations offering up resources to their ecosystem, or engineers at companies helping their dependency graph.” But how do we build trust in these individuals? Meeting in person works. But there are other ways as well. I'd personally love to have someone contact me about a project of mine regarding a security problem or process that the project could/should follow. Especially if I could see other projects I trust already trusting this individual to work on the other projects. Michael #2: uv v0.8 Changes Install Python executables into a directory on the PATH Register Python versions with the Windows Registry Prompt before removing an existing directory in uv venv Bump --python-platform linux to manylinux_2_28 Make uv_build the default build backend in uv init And many more And uv v0.8.1 Lots of enhancements. And uv v0.8.2 And uv v0.8.3 Adds Add CPython 3.14.0rc1 Brian #3: Extra, Extra, Extra fstrings.wtf - Armin Ronacher Python 3.14 release candidate 1 is go! Django turns 20, with parties mkdocs-redirects I'm Tired of Talking About AI - Paddy Carver Michael #4: Announcing Toad - a universal UI for agentic coding in the terminal by Will McGugan A universal front-end for AI in the terminal. Watch the video. Joke: Heaviest objects in the universe And … Cloud Architects 2025 “They send us our cloud bills in scientific notation… “
Fal.ai, once focused on machine learning infrastructure, has evolved into a major player in generative media. In this episode of The New Stack Agents, hosts speak with Fal.ai CEO Burkay Gur and investor Glenn Solomon of Notable Capital. Originally aiming to optimize Python runtimes, Fal.ai shifted direction as generative AI exploded, driven by tools like DALL·E and ChatGPT. Today, Fal.ai hosts hundreds of models—from image to audio and video—and emphasizes fast, optimized inference to meet growing demand.Speed became Fal.ai's competitive edge, especially as newer generative models require GPU power not just for training but also for inference. Solomon noted that while optimization alone isn't a sustainable business model, Fal's value lies in speed and developer experience. Fal.ai offers both an easy-to-use web interface and developer-focused APIs, appealing to both technical and non-technical users.Gur also addressed generative AI's impact on creatives, arguing that while the cost of creation has plummeted, the cost of creativity remains—and may even increase as content becomes easier to produce.Learn more from The New Stack about AI's impact on creatives:AI Will Steal Developer Jobs (But Not How You Think) How AI Agents Will Change the Web for Users and Developers Join our community of newsletter subscribers to stay on top of the news and at the top of your game.
Topics covered in this episode: * Distributed sqlite follow up: Turso and Litestream* * PEP 792 – Project status markers in the simple index* Run coverage on tests docker2exe: Convert a Docker image to an executable Extras Joke Watch on YouTube About the show Sponsored by Digital Ocean: pythonbytes.fm/digitalocean-gen-ai Use code DO4BYTES and get $200 in free credit Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: Distributed sqlite follow up: Turso and Litestream Michael Booth: Turso marries the familiarity and simplicity of SQLite with modern, scalable, and distributed features. Seems to me that Turso is to SQLite what MotherDuck is to DuckDB. Mike Fiedler Continue to use the SQLite you love and care about (even the one inside Python runtime) and launch a daemon that watches the db for changes and replicates changes to an S3-type object store. Deeper dive: Litestream: Revamped Brian #2: PEP 792 – Project status markers in the simple index Currently 3 status markers for packages Trove Classifier status Indices can be yanked PyPI projects - admins can quarantine a project, owners can archive a project Proposal is to have something that can have only one state active archived quarantined deprecated This has been Approved, but not Implemented yet. Brian #3: Run coverage on tests Hugo van Kemenade And apparently, run Ruff with at least F811 turned on Helps with copy/paste/modify mistakes, but also subtler bugs like consumed generators being reused. Michael #4: docker2exe: Convert a Docker image to an executable This tool can be used to convert a Docker image to an executable that you can send to your friends. Build with a simple command: $ docker2exe --name alpine --image alpine:3.9 Requires docker on the client device Probably doesn't map volumes/ports/etc, though could potentially be exposed in the dockerfile. Extras Brian: Back catalog of Test & Code is now on YouTube under @TestAndCodePodcast So far 106 of 234 episodes are up. The rest are going up according to daily limits. Ordering is rather chaotic, according to upload time, not release ordering. There will be a new episode this week pytest-django with Adam Johnson Joke: If programmers were doctors
Talk Python To Me - Python conversations for passionate developers
Every year the core developers of Python convene in person to focus on high priority topics for CPython and beyond. This year they met at PyCon US 2025. Those meetings are closed door to keep focused and productive. But we're lucky that Seth Michael Larson was in attendance and wrote up each topic presented and the reactions and feedback to each. We'll be exploring this year's Language Summit with Seth. It's quite insightful to where Python is going and the pressing matters. Episode sponsors Seer: AI Debugging, Code TALKPYTHON Sentry AI Monitoring, Code TALKPYTHON Talk Python Courses Links from the show Seth on Mastodon: @sethmlarson@fosstodon.org Seth on Twitter: @sethmlarson Seth on Github: github.com Python Language Summit 2025: pyfound.blogspot.com WheelNext: wheelnext.dev Free-Threaded Wheels: hugovk.github.io Free-Threaded Python Compatibility Tracking: py-free-threading.github.io PEP 779: Criteria for supported status for free-threaded Python: discuss.python.org PyPI Data: py-code.org Senior Engineer tries Vibe Coding: youtube.com Watch this episode on YouTube: youtube.com Episode #514 deep-dive: talkpython.fm/514 Episode transcripts: talkpython.fm Developer Rap Theme Song: Served in a Flask: talkpython.fm/flasksong --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Topics covered in this episode: * Switching to direnv, Starship, and uv* * rqlite - Distributed SQLite DB* * Some Markdown Stuff* Extras Joke Watch on YouTube About the show Sponsored by PropelAuth: pythonbytes.fm/propelauth77 Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: Switching to direnv, Starship, and uv Last week I mentioned that I'm ready to try direnv again, but secretly, I still had some worries about the process. Thankfully, Trey has a tutorial to walk me past the troublesome parts. direnv - an extension for your shell. It augments existing shells with a new feature that can load and unload environment variables depending on the current directory. Switching from virtualenvwrapper to direnv, Starship, and uv - Trey Hunner** Trey has solved a bunch of the problems I had when I tried direnv before Show the virtual environment name in the prompt Place new virtual environments in local .venv instead of in .direnv/python3.12 Silence all of the “loading”, “unloading” statements every time you enter a directory Have a script called venv to create an environment, activate it, create a .envrc file I'm more used to a create script, so I'll stick with that name and Trey's contents A workon script to be able to switch around to different projects. This is a carry over from “virtualenvwrapper', but seems cool. I'll take it. Adding uv to the mix for creating virtual environments. Interestingly including --seed which, for one, installs pip in the new environment. (Some tools need it, even if you don't) Starship Trey also has some setup for Starship. But I'll get through the above first, then MAYBE try Starship again. Some motivation Trey's setup is pretty simple. Maybe I was trying to get too fancy before Starship config in toml files that can be loaded with direnv and be different for different projects. Neato Also, Trey mentions his dotfiles repo. This is a cool idea that I've been meaning to do for a long time. See also: It's Terminal - Bootstrapping With Starship, Just, Direnv, and UV - Mario Munoz Michael #2: rqlite - Distributed SQLite DB via themlu, thanks! rqlite is a lightweight, user-friendly, distributed relational database built on SQLite. Built on SQLite, the world's most popular database Supports full-text search, Vector Search, and JSON documents Access controls and encryption for secure deployments Michael #3: A Python dict that can report which keys you did not use by Peter Bengtsson Very cool for testing that a dictionary has been used as expected (e.g. all data has been sent out via an API or report). Note: It does NOT track d.get(), but it's easy to just add it to the class in the post. Maybe someone should polish it up and put it on pypi (that person is not me :) ). Brian #4: Some Markdown Stuff Textual 4.0.0 adds Markdown.append which can be used to efficiently stream markdown content The reason for the major bump is due to an interface change to Widget.anchor Refreshing to see a symantic change cause a major version bump. html-to-markdown Converts html to markdown A complete rewrite fork of markdownify Lots of fun features like “streaming support” Curious if it can stream to Textual's Markdown.append method. hmmm. Joke: Vibecon is hard to attend
Talk Python To Me - Python conversations for passionate developers
Why do people list to this podcast? Sure, they're looking for technical explorations of new libraries and ideas. But often it's to hear the story behind them. If that speaks to you, then I have the perfect episode lined up. I have Barry Warsaw, Paul Everitt, Carol Willing, and Brett Cannon all back on the show to share stories from the history of Python. You'll hear about how import this came to be and how the first PyCon had around 30 attendees (two of whom are guests on this episode!). Sit back and enjoy the humorous stories from Python's past. Episode sponsors Posit Agntcy Talk Python Courses Links from the show Barry's Zen of Python song: youtube.com Jake Vanderplas - Keynote - PyCon 2017: youtube.com Why it's called “Python” (Monty Python fan-reference): geeksforgeeks.org import antigravity: python-history.blogspot.com NIST Python Workshop Attendees: legacy.python.org Paul Everitt open-sources Zope: old.zope.dev Carol Willing wins ACM Software System Award: awards.acm.org Watch this episode on YouTube: youtube.com Episode #513 deep-dive: talkpython.fm/513 Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Topics covered in this episode: * ty documentation site and uv migration guide* * uv build backend is now stable + other Astral news* * Refactoring long boolean expressions* * fastapi-ml-skeleton* Extras Joke Watch on YouTube About the show Sponsored by Sentry: pythonbytes.fm/sentry Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: ty documentation site and uv migration guide via Skyler Kasko Astral created a documentation site for ty (PR #744 in release 0.0.1-alpha.13). Astral added a page on migrating from pip to a uv project in the uv documentation. (PR #12382 in release 0.7.19). Talk Python episode on ty. Brian #2: uv build backend is now stable + other Astral news The uv build backend is now stable Tim Hopper via Python Developer Tooling Handbook From Charlie Marsh “The uv build backend is now stable, and considered ready for production use. An alternative to setuptools, hatchling, etc. for pure Python projects, with a focus on good defaults, user-friendly error messages, and performance. When used with uv, it's 10-35x faster.” “(In a future release, we'll make this the default.)” [build-system] requires = ["uv_build>=0.7.19,
Talk Python To Me - Python conversations for passionate developers
Do you like to dive into the details and intricacies of how Python executes and how we can optimize it? Well, do I have an episode for you. We welcome back Brandt Bucher to give us an update on the upcoming JIT compiler for Python and why it differs from JITs for languages such as C# and Java. Episode sponsors Posit Talk Python Courses Links from the show Brandt Bucher: github.com/brandtbucher PyCon Talk: What they don't tell you about building a JIT compiler for CPython: youtube.com Specializing, Adaptive Interpreter Episode: talkpython.fm Watch this episode on YouTube: youtube.com Episode #512 deep-dive: talkpython.fm/512 Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Topics covered in this episode: * Python Cheat Sheets from Trey Hunner* * Automatisch* * mureq-typed* * My CLI World* Extras Joke Watch on YouTube About the show Sponsored by Posit: pythonbytes.fm/connect Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: Python Cheat Sheets from Trey Hunner Some fun sheets Python f-string tips & cheat sheets Python's pathlib module Python's many command-line utilities Michael #2: Automatisch Open source Zapier alternative Automatisch helps you to automate your business processes without coding. Use their affordable cloud solution or self-host on your own servers. Automatisch allows you to store your data on your own servers, good for companies dealing with sensitive user data, particularly in industries like healthcare and finance, or those based in Europe bound by General Data Protection Regulation (GDPR). Michael #3: mureq-typed Single file, zero-dependency alternative to requests. Fully typed. Modern Python tooling. Typed version of mureq (covered in 2022 on episode 268) Intended to be vendored in-tree by Linux systems software and other lightweight applications. mureq-typed is a drop-in, fully API compatible replacement for mureq updated with modern Python tooling: Type checked with mypy, ty, and pyrefly. Formatted with black, no ignore rules necessary. Linted with ruff (add these rules for mureq.py to your per-file-ignores). Brian #4: My CLI World Frank Wiles Encouragement to modify your command line environment Some of Franks tools direnv, zoxide, fd, ack, atuin, just Also some aliases, like gitpulllog Notes We covered poethepoet recently, if just just isn't cutting it for you. I tried to ilke starship, bit for some reason with my setup, it slows down the shell too much. Extras Brian: Interesting read of the week: New theory proposes time has three dimensions, with space as a secondary effect Michael's: New quantum theory of gravity brings long-sought 'theory of everything' a crucial step closer Joke: Brian read a few quotes from the book Disappointing Affirmations, by Dave Tarnowski “You are always just a moment away from your next worst day ever. Or your next best day ever, but let's be realistic.” “You can be anything you want. And yet you keep choosing to be you. I admire your dedication to the role.” “Today I am letting go of the things that are holding me back from the life that I want to live. Then I'm picking them all up again because I have separation anxiety.”
Talk Python To Me - Python conversations for passionate developers
If you're doing data science and have mostly spent your time doing exploratory or just local development, this could be the episode for you. We are joined by Catherine Nelson to discuss techniques and tools to move your data science game from local notebooks to full-on production workflows. Episode sponsors Agntcy Sentry Error Monitoring, Code TALKPYTHON Talk Python Courses Links from the show New Course: LLM Building Blocks for Python: training.talkpython.fm Catherine Nelson LinkedIn Profile: linkedin.com Catherine Nelson Bluesky Profile: bsky.app Enter to win the book: forms.google.com Going From Notebooks to Scalable Systems - PyCon US 2025: us.pycon.org Going From Notebooks to Scalable Systems - Catherine Nelson – YouTube: youtube.com From Notebooks to Scalable Systems Code Repository: github.com Building Machine Learning Pipelines Book: oreilly.com Software Engineering for Data Scientists Book: oreilly.com Jupytext - Jupyter Notebooks as Markdown Documents: github.com Jupyter nbconvert - Notebook Conversion Tool: github.com Awesome MLOps - Curated List: github.com Watch this episode on YouTube: youtube.com Episode #511 deep-dive: talkpython.fm/511 Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Topics covered in this episode: * The Python Language Summit 2025* Fixing Python Properties * complexipy* * juvio* Extras Joke Watch on YouTube About the show Sponsored by Posit: pythonbytes.fm/connect Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: The Python Language Summit 2025 Write up by Seth Michael Larson How can we make breaking changes less painful?: talk by Itamar Oren An Uncontentious Talk about Contention: talk by Mark Shannon State of Free-Threaded Python: talk by Matt Page Fearless Concurrency: talk by Matthew Parkinson, Tobias Wrigstad, and Fridtjof Stoldt Challenges of the Steering Council: talk by Eric Snow Updates from the Python Docs Editorial Board: talk by Mariatta PEP 772 - Packaging Governance Process: talk by Barry Warsaw and Pradyun Gedam Python on Mobile - Next Steps: talk by Russell Keith-Magee What do Python core developers want from Rust?: talk by David Hewitt Upstreaming the Pyodide JS FFI: talk by Hood Chatham Lightning Talks: talks by Martin DeMello, Mark Shannon, Noah Kim, Gregory Smith, Guido van Rossum, Pablo Galindo Salgado, and Lysandros Nikolaou Brian #2: Fixing Python Properties Will McGugan “Python properties work well with type checkers such Mypy and friends. … The type of your property is taken from the getter only. Even if your setter accepts different types, the type checker will complain on assignment.” Will describes a way to get around this and make type checkers happy. He replaces @property with a descriptor. It's a cool technique. I also like the way Will is allowing different ways to use a property such that it's more convenient for the user. This is a cool deverloper usability trick. Brian #3: complexipy Calculates the cognitive complexity of Python files, written in Rust. Based on the cognitive complexity measurement described in a white paper by Sonar Cognitive complexity builds on the idea of cyclomatic complexity. Cyclomatic complexity was intended to measure the “testability and maintainability” of the control flow of a module. Sonar argues that it's fine for testability, but doesn't do well with measuring the “maintainability” part. So they came up with a new measure. Cognitive complexity is intended to reflects the relative difficulty of understanding, and therefore of maintaining methods, classes, and applications. complexipy essentially does that, but also has a really nice color output. Note: at the very least, you should be using “cyclomatic complexity” try with ruff check --select C901 But also try complexipy. Great for understanding which functions might be ripe for refactoring, adding more documentation, surrounding with more tests, etc. Michael #4: juvio uv kernel for Jupyter ⚙️ Automatic Environment Setup: When the notebook is opened, Juvio installs the dependencies automatically in an ephemeral virtual environment (using uv), ensuring that the notebook runs with the correct versions of the packages and Python
Talk Python To Me - Python conversations for passionate developers
Are you using Polars for your data science work? Maybe you've been sticking with the tried-and-true Pandas? There are many benefits to Polars directly of course. But you might not be aware of all the excellent tools and libraries that make Polars even better. Examples include Patito which combines Pydantic and Polars for data validation and polars_encryption which adds AES encryption to selected columns. We have Christopher Trudeau back on Talk Python To Me to tell us about his list of excellent libraries to power up your Polars game and we also talk a bit about his new Polars course. Episode sponsors Agntcy Sentry Error Monitoring, Code TALKPYTHON Talk Python Courses Links from the show New Theme Song (Full-Length Download and backstory): talkpython.fm/blog Polars for Power Users Course: training.talkpython.fm Awesome Polars: github.com Polars Visualization with Plotly: docs.pola.rs Dataframely: github.com Patito: github.com polars_iptools: github.com polars-fuzzy-match: github.com Nucleo Fuzzy Matcher: github.com polars-strsim: github.com polars_encryption: github.com polars-xdt: github.com polars_ols: github.com Least Mean Squares Filter in Signal Processing: www.geeksforgeeks.org polars-pairing: github.com Pairing Function: en.wikipedia.org polars_list_utils: github.com Harley Schema Helpers: tomburdge.github.io Marimo Reactive Notebooks Episode: talkpython.fm Marimo: marimo.io Ahoy Narwhals Podcast Episode Links: talkpython.fm Watch this episode on YouTube: youtube.com Episode #510 deep-dive: talkpython.fm/510 Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy
Talk Python To Me - Python conversations for passionate developers
If you're looking to leverage the insane power of modern GPUs for data science and ML, you might think you'll need to use some low-level programming language such as C++. But the folks over at NVIDIA have been hard at work building Python SDKs which provide nearly native level of performance when doing Pythonic GPU programming. Bryce Adelstein Lelbach is here to tell us about programming your GPU in pure Python. Episode sponsors Posit Agntcy Talk Python Courses Links from the show Bryce Adelstein Lelbach on Twitter: @blelbach Episode Deep Dive write up: talkpython.fm/blog NVIDIA CUDA Python API: github.com Numba (JIT Compiler for Python): numba.pydata.org Applied Data Science Podcast: adspthepodcast.com NVIDIA Accelerated Computing Hub: github.com NVIDIA CUDA Python Math API Documentation: docs.nvidia.com CUDA Cooperative Groups (CCCL): nvidia.github.io Numba CUDA User Guide: nvidia.github.io CUDA Python Core API: nvidia.github.io Numba (JIT Compiler for Python): numba.pydata.org NVIDIA's First Desktop AI PC ($3,000): arstechnica.com Google Colab: colab.research.google.com Compiler Explorer (“Godbolt”): godbolt.org CuPy: github.com RAPIDS User Guide: docs.rapids.ai Watch this episode on YouTube: youtube.com Episode #509 deep-dive: talkpython.fm/509 Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy