Featured image of post This Month for Pythonistas - August 2025

This Month for Pythonistas - August 2025

Python 3.14 RC2 & 3.13.7, OpenAI open models, Agentic AI and other fun stuff

from datetime import date

print(date.today().year, date.today().month)
# 2025 8

issue-2025-08

Welcome back Pythonistas! I’m glad to see you back reading the sixth issue of my “This month for Pythonistas” series which curates the news, articles, tutorials, podcasts, and more Python stuff worth noting in this month.

Before we continue, please note that this blog is synced across several platforms:

Ready? Let’s get started!


Events & Social

Python: The Documentary | An origin story is available on Youtube now.

New Versions

Python 3.13.7

Python 3.13.7 is an expedited release which aims to fix a significant issue with the 3.13.6 release:

gh-137583: Regression in ssl module between 3.13.5 and 3.13.6: reading from a TLS-encrypted connection blocks

The official downloads are available here.

Python 3.14 RC2

This is the penultimate release candidate of Python 3.14.

RC2 was originally planned as the final Release Candidate, but a bug was discovered and a third RC is scheduled in September, before October’s 3.14 final release.

The official downloads are available here.

Tutorials

In this course, you’ll learn best practices for using Claude Code to improve your coding workflow. You’ll learn key tips on how to provide Claude Code with clear context, such as specifying the relevant files, clearly defining the features and functionality, and connecting Claude Code to MCP servers.

You’ll implement an agentic system using Google’s Agent Development Kit (ADK), to build a knowledge graph that helps you find the root cause of product issues. You’ll work with structured data consisting of product and supplier information, and unstructured data consisting of product reviews.

Build and iterate GenAI apps in hours instead of days! Start with a simple chatbot, then add prompt engineering and RAG powered by Snowflake’s secure data and LLM services, then push your prototype to Snowflake or Streamlit Community Cloud for instant feedback and quick improvement.

In this tutorial, you’ll learn how Python asyncio works, how to define and run coroutines, and when to use asynchronous programming for better performance in applications that perform I/O-bound tasks.

Mixins offer a powerful way to reuse code across multiple Python classes without forcing them into a rigid inheritance hierarchy. Instead of building deep and brittle class trees, you can use mixins to share common behaviors in a modular and flexible way.

Articles

Python’s growth from a programming language to a thriving community represents an inspiring story of collaboration and dedication. Starting in 1991, Python began as a pet project by Guido van Rossum, distributed through Usenet newsgroups. The pivotal moment came in 1994 with an in-person meeting of 20 developers in Maryland, where the Python community was born as something separate from the language itself.

The journey from these humble beginnings to becoming the world’s #1 programming language involved several key phases. Early attempts to commercialize Python through a consortium model failed, but the passion and commitment of its community led to the creation of the nonprofit Python Software Foundation in 2001. This foundation, guided by open-source principles, employed Python’s core team to work full-time on the language.

PyCon conferences became the “real engine for change”, generating revenue through sponsorships from tech giants like Google. This funding enabled the foundation to hire professional staff and support ongoing development and infrastructure projects. The foundation’s commitment to diversity and heterogeneous cultures positioned Python to capitalize on emerging trends like AI, ensuring its continued relevance and growth in the tech landscape.

The article summarizes key findings from the 2025 Python Developers Survey, highlighting major trends in the Python ecosystem. It notes that 86% of respondents use Python as their main language, emphasizing its central role. Importantly, 50% of developers have less than two years of professional coding experience, and 39% have less than two years with Python. This underscores Python’s popularity among beginners and the importance of supporting newcomers with detailed tutorials and resources. The insights are based on over 30,000 responses and aim to guide both individual developers and tool vendors.

Astral.sh’s ambition to build Python’s next-gen infrastructure (the Astral Platform) begins with pyx, a “Python-native package registry” which could be seen as an optimized backend for tools like uv. Some of its early partners are already using it while other have to submit their information to be on the waitlist.

HRT implemented “lazy imports” by forking CPython, using Meta’s Cinder patches. This defers module loading until first use, solving import overhead in their Python monorepo. After migration challenges (2023-2024), all HRT Python now uses lazy imports by default, cutting CLI startup times and distributed compute overhead dramatically.

This post explains how JIT compilation works in Python, focusing on CPython’s Tier 2 and Tier 3 optimizations. It covers bytecode evolution, how code transforms from Tier 1 basic bytecode through Tier 2 micro-ops to Tier 3 machine code, the role of specializations for common patterns, and how JIT bridges Python’s flexibility with C-like performance through runtime optimization based on actual execution patterns.

The article criticizes Python’s asyncio library and suggests that it is “too many sharp corners”. It details four major problems: cancellation is broken (edge-triggered vs level-triggered), tasks can be garbage collected while pending due to weak references, I/O APIs are convoluted callback-based systems inherited from Twisted, and asyncio.Queue has poor backpressure handling. Additional issues include thread integration problems, signal handling limitations, and broken eager tasks. The author recommends using Trio or AnyIO libraries instead, which implement cancellation properly with level-triggered semantics and saner I/O abstractions.

In this post Armin Ronacher explores the concept of virtual threads and structured concurrency as a way to simplify concurrent programming, especially in Python. It contrasts traditional async/await models with the idea of virtual threads managed in thread groups, where parallel tasks are spawned and automatically managed with cancellation and error propagation.

This is another post from Armin Ronacher in which Armin discusses various approaches and tools to improve workflow automation with LLMs but found ineffective. It is highlighted that clear, manual instruction often outperforms elaborate automations. They caution that over-reliance on automation leads to mental disengagement and reduced code quality, emphasizing the importance of active review and critical thinking.

The article emphasizes that building reliable AI agents requires more than prompt engineering—it needs modular, role-based design, observability, and feedback loops. Modular design assigns specialized roles to agents, making systems scalable and easier to maintain. Observability involves monitoring and logging every step for improvement. Feedback loops enable agents to learn and self-optimize.

The article outlines proven best practices for building productive agentic AI systems based on real-world implementation at UserJot. Key insights include using a simple two-tier architecture (primary agent + specialized subagents), keeping subagents stateless for predictability, and employing task decomposition (vertical for sequential tasks, horizontal for parallel processing). The system emphasizes structured communication protocols, parallel execution for performance, and robust error handling with graceful degradation.

The blog details building MCP PyExec, a secure Python execution server using the Model Context Protocol (MCP). It covers three components: the PyExec server implementing MCP for streaming Python code execution; an OAuth 2.0 Identity Provider (IDP) for secure authentication supporting authorization code flow, JWT, and token validation; and a PyExec client for testing and interaction that manages OAuth tokens and streaming results.

OpenAI has released their first open-weight models since GPT-2 - gpt-oss-120b and gpt-oss-20b - under Apache 2.0 license.

This blog post serves as a guide for developers to understand the importance of observability and provides a playbook for integrating it into their workflow. Observability helps developers maintain cleaner code, manage systems better, and reduce technical debt by considering more edge cases and improving debugging processes.

This blog highlights that vibe coding quickly generates tech debt as the produced code often becomes legacy code—difficult to understand or maintain. Vibe coding works well for prototypes and throwaway projects but is risky for large, maintainable systems, especially if done by non-programmers. Serious coding with AI requires caution, thorough understanding, and careful maintenance. The author emphasizes that while AI changes programming, deep technical knowledge and theory-building remain essential.

Podcasts

đŸ„ core.py

🐍 RealPython Podcast

đŸ„§ Python Bytes Podcast

🩜 Talk Python to me

🍕 Pybites Podcast

VS Code Insiders Podcast

Repositories

OxyGent is an open-source Python framework from JD retail department for building production-ready multi-agent AI systems. It provides modular components that snap together like LEGO bricks, enabling efficient development of collaborative AI agents. Features include intelligent real-time task decomposition, elastic distributed architecture, continuous learning capabilities, and standardized tools/LLM integration.

You can find more at their project website.

LangExtract is a Python library by Google that uses LLMs to extract structured data from unstructured text. Key features include precise source grounding (mapping extractions to exact source locations), optimized handling of long documents via chunking and parallel processing, interactive HTML visualization, and support for cloud models like Gemini and local LLMs via Ollama.

Notte is an open-source web automation framework for building reliable AI agents. It provides essential tools for creating and deploying agents that interact with the web, combining AI reasoning with traditional scripting for cost-efficiency. Key features include structured data extraction, vaults for credential management, stealth browser sessions with CAPTCHA solving, and hybrid workflows.

This is a Python library that provides a simple way to connect any LLM to any MCP server and build custom MCP agents that have tool access, without using closed source or application clients.

This is the repository as part of OpenAI’s GPT-OSS, which provides a set of code implementations including a gpt-oss Python library, harmony, and more.

This is the accompanying Python library for KittenTTS, an open-source realistic text-to-speech model with just 15 million parameters which can run without a GPU.


Have time for some fun?

GamesCom 2025

  • Hollow Knight Silk Song finally has revealed its launch date: Sept. 4, 2025.
  • Resident Evil Requiem debuts a cinematic trailer featuring Grace Ashcroft for the sequel to the critically acclaimed survival horror game franchise.
  • Black Myth: Zhong Kui introduces Zhong Kui, a legendary demon-slayer from Chinese folklore, as the central figure of the sequel to hit Black Myth: Wukong.
  • Warhammer 40K Dawn of War IV is officially announced.
  • Lords of the Fallen II takes place a century after its predecessor, featuring faster and more punishing combat.
  • LEGO Batman: Legacy of the Dark Knight covers the story of Batman, starting from a young Bruce Wayne.

As we wrap up this journey together, I want to take a moment to express my gratitude for your reading. If you’ve enjoyed what you just read and would like to help sustain this blog, consider starring this blog on github, it would be great motivation for me to keep updating the blogs!

Alright, that concludes August Edition of “This Month of Pythonistas”. Thank you again for reading my post. I hope you enjoy it or find something useful. Happy coding and see you in September!

Built with Hugo
Theme Stack designed by Jimmy