Last month, Python 3.14 reached its first release candidate, pushing the interpreter past beta and onto the home stretch toward its final release on October 7. But that headline was only the start—new library releases also landed, Django celebrated its 20th birthday, and EuroPython brought the community together in Prague.
What follows is a quick-read digest of everything that mattered, from core-language breakthroughs to tooling upgrades and community milestones. Feel free to skip straight to whatever interests you most.
Join Now: Click here to join the Real Python Newsletter and you'll never miss another Python tutorial, course, or news update.
Python 3.14 Hits Its First Release Candidate
Last month’s biggest headline is the release of Python 3.14.0rc1, the first candidate for Python 3.14. This marks the penultimate step before the final release, which is scheduled for October 7, 2025.
Core developers are now focused on final documentation updates, while library maintainers are encouraged to test their projects with 3.14 and publish wheels to the Python Package Index (PyPI). Since this is a release candidate, there will be no further ABI changes, meaning that wheels built for this version will work with the final release.
Note: In the context of Python, ABI (Application Binary Interface) refers to the low-level binary compatibility between compiled Python extension modules and the CPython interpreter.
Python 3.14 comes with some exciting new features:
- Free-threaded Python is now officially supported and no longer experimental.
- Deferred evaluation of type annotations improves type hint semantics.
- Template string literals (t-strings) provide new ways to process custom strings.
- Multiple interpreters in the standard library support a human-friendly concurrency model and true multi-core parallelism.
- The new
compression.zstd
module in the standard library adds support for Zstandard compression.
Topping the feature list is free-threaded Python, a long-awaited improvement that ushers in the free‑threaded era. The officially supported free‑threaded build lifts the long‑standing Global Interpreter Lock (GIL), allowing CPU-bound threads to run truly in parallel on separate cores. As a result, data‑science workloads, web servers, and other concurrency‑heavy apps can scale more cleanly without resorting to multiprocessing.
Existing single‑threaded code keeps working unchanged, but projects that embrace the new model can expect simpler concurrency patterns and better performance.
Other refinements include improved error messages, enhanced debugging tools, and new command-line interface (CLI) features for asyncio
introspection.
The release also includes experimental just-in-time (JIT) compilation in the official macOS and Windows binaries, and a new Windows install manager that can be downloaded from the Microsoft Store.
Library and Tooling Highlights
The latest batch of releases brings fresh updates across the Python ecosystem, from cutting-edge data science libraries to faster installers and frameworks. Whether you’re looking for better performance, smarter APIs, or new tools for your workflow, these updates have something for every Pythonista. Here are the key highlights you won’t want to miss.
PyPy 7.3.20 Brings Bug Fixes and Cython Compatibility
PyPy is a Python interpreter that you can use as a drop-in replacement for CPython. It’s fast due to its integrated tracing JIT compiler. The PyPy team has released PyPy v7.3.20, which includes the following fixes and improvements:
- Subtle bug fixes in
ctypes
andOrderedDict
- Updates to the Python 2.7 and 3.11 interpreters
- Compatibility improvements for PyPy 3.11 with upcoming Cython releases
If you’re maintaining a library with C extensions, the team recommends considering alternatives like HPy, CFFI, or cppyy to improve PyPy compatibility.
scikit-learn 1.7 Enhances Visualization and Validation
The scikit-learn 1.7 release has added a number of features to improve usability and consistency:
- An improved HTML representation for estimators, making it easier to see parameters at a glance
- Support for custom validation sets in histogram-based Gradient Boosting estimators
- A new method for plotting ROC curves from cross-validation results
Additionally, the release continues scikit-learn’s transition toward sparse arrays and enhances compatibility with the array API to support broader library interoperability.
NumPy 2.3.2 Includes Python 3.14 Wheels
NumPy 2.3.0—which was released in June—introduced a host of improvements, including enhanced type annotations, new random distributions, and performance boosts for universal functions. The release also ensured compatibility with Python 3.14, and many downstream libraries have since rolled out wheels for the upcoming release candidate.
Shortly after this release, NumPy 2.3.2 landed in late July, delivering some bug fixes and offering prebuilt wheels for Python 3.14.0rc1. If you’d like to experiment with NumPy in Python 3.14, then you can upgrade to this latest patch release.
uv
Reaches 0.8.0 With Breaking Changes and Stabilized Features
Last month, the uv
package manager saw a flurry of updates, jumping from 0.8.0 to 0.8.3. These releases stabilized features like the uv python install
command and added support for installing versioned Python executables directly into PATH
. The latest update also adds support for Python 3.14.0rc1.
If you’re using uv
in your Python projects, review the full release notes for potential breaking changes. Notably, the release includes a stricter validation of the uv.yaml
config file, a reworked approach to environment variable handling, and adjustments to lock file versioning that may require you to regenerate or update your project files. Double-check your workflows, especially if you rely on advanced configuration or automation.
Textual 5.0.0 Delivers Markdown Improvements
Textual, the Python framework for building text-based user interface (TUI) apps, recently released version 5.0.0, followed by a quick 5.0.1 hotfix. Highlights of this release include:
- Improved Markdown rendering with better tables, prettier code blocks, and streaming support
- A new
Markdown.get_stream()
method and atextual.highlight
module for syntax highlighting - Some breaking changes, including updates to the
Visual.render_strips()
API
This release gives TUI builders a cleaner Markdown experience. If your TUI apps have been missing first‑class tables, prettier code blocks, or seamless streaming updates, then this release is worth migrating to.
Following the 5.0.0 release, Textual pushed out versions 5.1.0 and 5.1.1 on July 31, addressing minor bugs and polishing the new Markdown and streaming features.
Django 5.2.4 Bugfix Release
Django also shipped a bugfix release, version 5.2.4, which addresses several important issues. These include fixes for regressions in media type handling, improvements to JSONField
serialization, and corrections for security-related bugs and documentation errors.
If you’re using Django 5.2, upgrading is strongly recommended so you can benefit from these enhancements and maintain project stability.
Python Community News
The Python community has been buzzing with activity, both online and in person. There’s been no shortage of big moments and fresh opportunities, from milestone birthdays to major conferences. Whether you’re a library maintainer, an open-source newcomer, or someone who enjoys meeting fellow Pythonistas, here’s what’s been making headlines and bringing people together across the Python world.
Conferences and Calls for Proposals
EuroPython 2025 returned to Prague from July 14 to 20, drawing well over 1,300 in-person and remote attendees and featuring more than 180 talks across six tracks. Keynotes included core Python developers Savannah Bailey and Brett Cannon, FastAPI creator Sebastián Ramírez, and others.
Tutorials, C-API sessions, and WebAssembly summits filled the first two days, while riverside socials on the Vltava and a sprint weekend kept the hallway track buzzing.
In other news, the 2025 PSF Board has four open seats. Nominations run from July 29 to August 12. Eligible members must affirm their intent to vote by August 26, with balloting set for September 2 to 16. The PSF blog also lists office-hour chats and resources for first-time candidates.
The global online PyLadiesCon 2025 will run from December 5 to 7 and is now seeking proposals. The call for proposals (CFP) opened July 11 and closes on August 8. The conference will host 15-minute talks and 30–40-minute panels on everything from Python basics to community building.
Django Turns 20 Years Old
In July, Django celebrated its 20th birthday! On July 13, 2005, Jacob Kaplan-Moss made the first commit to the repository that would become Django. Two decades later, the framework has seen more than 400 releases and boasts a vibrant community that continues to grow.
The Django team launched a dedicated website featuring events, quizzes, and community highlights. To mark the occasion, the Django Software Foundation is running a special fundraising drive with a goal of 200 new donors in 20 days. The campaign has raised over $98,000 so far—about 33% of its financial goal.
Whether you built your first website or a large-scale app with Django, now is a great time to give back to the framework.
Real Python Roundup
As usual, Real Python’s team crafted a hub of learning resources last month—from cutting-edge coverage of Python 3.14’s t-strings to clear explanations of core concepts like scope, bitwise operators, and the __init__.py
file. You can also learn how to debug common errors, get hands-on with Python’s Requests and asyncio
libraries, and sharpen your grasp of type checking and object-oriented design.
Whether you’re optimizing code or tackling new Python idioms, there’s something here to expand your toolkit and fuel your curiosity.
- Python 3.14 Preview: Template Strings (T-Strings)
- What Is
__init__.py
For? - How to Debug Common Python Errors
- Python Scope and the LEGB Rule: Resolving Names in Your Code
- What Does
isinstance()
Do in Python? - Python’s Requests Library (Guide)
- Bitwise Operators in Python
- Python’s asyncio: A Hands-On Walkthrough
Our recent video courses are all about deepening your core Python skills—including building design patterns from scratch, harnessing the power of protocols (subtyping), mastering closures, and unraveling the mysteries of built-in exceptions. You’ll also find a hands-on walkthrough of marimo notebooks.
Each course is designed to boost your confidence and accelerate your journey from Pythonic basics to advanced problem-solving.
If you’re looking to reinforce what you’ve learned or test your mastery of Python concepts, then this month’s quizzes have you covered. Whether you’re reviewing fundamentals or exploring advanced tools, these quick challenges will help sharpen your skills and keep your Python knowledge fresh.
If you enjoy engaging and mindful conversations with Python professionals, then don’t miss the latest episodes of The Real Python Podcast. Host Christopher Bailey sits down with developers, educators, and open-source contributors to explore real-world use cases, Python best practices, new libraries, and inspiring stories from the wider community.
Real Python’s new reference area continues to grow, with over 380 definitions and an ever-increasing number of entries designed to help you quickly grasp core Python and programming concepts at a glance. Each entry includes practical examples and links to in-depth tutorials, courses, and quizzes, so you can go as deep as you like.
Looking Ahead
As the Python community heads into late summer, major releases are imminent, packaging debates are heating up, and the conference calendar is stacked with opportunities to learn, connect, and contribute.
Python 3.14’s second and final release candidate will land in August, locking in the ABI and giving library maintainers one last chance to ensure compatibility before the official launch on October 7.
Until next time, keep your environments patched, your linters sharp, and enjoy the craft of coding. Happy Pythoning!
Join Now: Click here to join the Real Python Newsletter and you'll never miss another Python tutorial, course, or news update.