2025 was a pivotal year for Python. The language took its biggest step yet toward real CPU parallelism—free-threaded builds became officially supported. A new generation of Rust-powered tooling reshaped how developers manage packages. The Python Software Foundation navigated significant financial pressures. And for the first time, a feature-length Python documentary premiered on YouTube.

Here's a look at the defining themes—and what they mean for 2026.

TL;DR:

  • Free-threading goes official: Python 3.14 makes GIL-optional builds "supported" (Phase II); ecosystem adoption begins

  • uv momentum: Astral's Rust-powered package manager gaining major CI share (Wagtail: 66% uv vs 34% pip)

  • PSF under pressure: Grant withdrawal, PyCon losses, and paused grants program highlight funding challenges

  • Ecosystem milestones: Django turns 20, PyCharm unifies editions, Python 3.9 reaches EOL

  • 2026 to watch: PEP 810 lazy imports, free-threading ecosystem maturation, PSF sustainability

The Year's Biggest Story: Python Breaks Free from the GIL

For over three decades, the Global Interpreter Lock (GIL) has been Python's most debated limitation. In 2025, Python took a major step toward freedom.

Python 3.14: Free-Threading Goes Official

Released on October 7, 2025, Python 3.14 marked a watershed moment. With the acceptance of PEP 779, free-threaded Python moved from "experimental" to "officially supported." This isn't just a semantic change—it signals to the entire ecosystem that GIL-free Python is ready for serious adoption.

The numbers tell the story:

The free-threaded interpreter (python3.14t) is now officially supported—though still optional per PEP 779. Binary wheels, CI images, and hosting platforms can begin treating it as viable for production workloads. Supported doesn't mean seamless yet: many C-extension wheels and build pipelines still need free-threaded work.

Ecosystem Adoption Begins

NumPy 2.3.0 improved free-threaded compatibility in June, proving that major scientific Python libraries can make the transition. This is crucial—Python's dominance in data science and ML means these libraries set the pace for broader adoption.

What This Means for 2026

In one commonly cited framing, the roadmap has three phases. Phase II (3.14: supported) is complete. Phase III—making free-threaded builds the default—remains a future decision contingent on ecosystem support. Key blockers: many C-extension wheels aren't thread-safe yet, the stable ABI doesn't support free-threaded builds, and importing non-ready extensions can re-enable the GIL. 2026 will test whether library maintainers prioritize compatibility.

Python 3.14: More Than Just Threading

While free-threading grabbed headlines, Python 3.14 delivered a packed feature set.

Template Strings (t-strings)

PEP 750 introduced template string literals—think f-strings, but with custom processing. The Steering Council approved PEP 750 in April 2025. This opens doors for safer SQL queries, HTML generation, and DSL creation:

from string.templatelib import Template

template = t"Hello, {name}!"
# Returns a Template object, not a string
# Process it safely before rendering

A key motivator for t-strings is preventing security pitfalls like SQL injection. Note that PEP 750 provides the mechanism (Template objects)—you still need libraries or custom processing functions to enforce safety; built-in SQL/HTML processors are not included.

Deferred Annotation Evaluation

PEP 649 changes how Python handles type annotations. They're now evaluated lazily only when you explicitly request them, fixing long-standing issues with forward references and circular imports. This makes type hints more practical in complex codebases.

The Experimental JIT

Official Windows and macOS binaries now include an experimental Just-In-Time compiler. Early results show promise for long-running, CPU-bound tasks—10% slower to 20% faster depending on workload. It's not production-ready, but it signals Python's performance ambitions.

Under the Hood

Several significant infrastructure changes shipped in 3.14:

  • PEP 734: Multiple Interpreters in the Stdlib - The new concurrent.interpreters module (and concurrent.futures.InterpreterPoolExecutor) exposes Python's sub-interpreter support, enabling isolated execution contexts. Combined with free-threading, this opens new concurrency patterns.

  • Tail-call interpreter - A new interpreter mode using computed gotos and tail calls for improved dispatch performance.

  • PEP 761: Sigstore replaces PGP - Python releases are now signed with Sigstore instead of PGP keys, with Software Bills of Materials (SBOMs) included. This modernizes Python's supply-chain security story.

  • Windows install manager - A new py install command manages Python versions on Windows, with the legacy installer remaining available through 3.15.

Quality-of-Life Improvements

The Tooling Revolution: uv Takes Over

If 2024 was the year uv arrived, 2025 was the year it conquered.

The Numbers Don't Lie

Astral's Rust-powered package manager is overtaking pip in CI usage in some major projects. Wagtail's BigQuery analysis of PyPI installer metadata found 66% uv vs 34% pip for their project, with similar patterns for FastAPI (~60%) and Django (~43%).

(Caveat: These numbers are inferred from PyPI installer metadata, which has known limitations around caching and CI behavior. Treat as directional, not definitive.)

Why Developers Switched

  • Speed: 10–100× faster than pip (cold cache benchmarks)

  • Unified workflow: Drop-in replacement for pip, pip-tools, and virtualenv; also handles broader project/tool/Python management

  • Backward compatibility: Works with existing requirements.txt and setup.py

  • No lock-in: Unlike Poetry, uv doesn't force its conventions

The pip Era Isn't Over—But It's Changing

pip remains the standard, but uv has proven that Python packaging can be fast. The pressure is on for the entire ecosystem to raise the bar.

The PSF's Financial Challenges

The Python Software Foundation faced significant financial headwinds in 2025—and the numbers tell a concerning story.

Declining Revenue and Assets

The PSF's yearly revenue and assets "have declined, and costs have increased." The foundation has an annual budget of approximately $5 million and employs 14 people.

In 2023, the PSF had $4,356,000 revenue and spent $4,508,000—running a small loss given their assets from previous years.

Corporate Sponsorship Slowdown

While Python usage continues to surge, "corporate investment back into the language has declined." The PSF has longstanding sponsors, but signing new corporate sponsors has slowed. The foundation is actively pursuing sponsors in the AI and security sectors.

PyCon Running at a Loss

PyCon US has run at a loss for three years. Historically the PSF's primary revenue source, this is no longer true—it now runs at a slight loss. The PSF is willing to subsidize PyCon given its community importance, but the losses add pressure to an already strained budget.

The $1.5 Million Grant Withdrawal

In October, the PSF was recommended for a $1.5 million grant from the National Science Foundation—the largest in its history and their first government funding application. The grant would have funded security work on Python and PyPI, including automated tooling to review packages. (The broader security push is real—Python 3.14's Sigstore signing and SBOMs show the ecosystem is modernizing supply-chain security, with or without federal funding.)

The PSF withdrew. The grant terms included requirements about organizational policies the board found incompatible with PSF operations. A "clawback" provision meant previously spent funds could be rescinded, creating what board member Simon Willison called "an existential risk for the foundation."

The board voted unanimously to withdraw.

Grants Program Paused

The PSF Grants Program—which disbursed a record $952,000 to 174 groups across 52 countries in 2024—was temporarily paused after hitting the 2025 funding cap early.

Community Response

Following the grant withdrawal, individual donations surged. The PSF reported $135K+ from 1,400+ donors including 270+ new members; later reporting put it at $157K+ and 295 new Supporting Members.

However, individual donations alone may not replace institutional funding at scale.

Looking to 2026: Python is one of the world's most popular languages, but its primary support organization faces challenges. The PSF needs sustainable funding models. This may be the most important non-technical challenge facing the Python ecosystem.

Python Gets Its Documentary

On August 28, 2025, "Python: The Documentary" premiered free on YouTube. The feature-length film (~84–90 minutes) traces 34 years of Python history through interviews with Guido van Rossum, Brett Cannon, Mariatta Wijaya, and other key figures.

Filmmaker Ida Bechtle spent a year conducting in-person interviews for the project. A 20-minute preview screened at EuroPython in July generated significant buzz.

The documentary also highlights the important role of PyLadies and addresses controversial topics including the Python 2 to 3 transition. It's worth watching regardless of your Python experience level.

The Ecosystem Evolves

Django Turns 20

Key takeaways: Django 6.0 ships with background tasks + CSP; 5.2 LTS gets composite primary keys; several SQL injection vulns patched; 75% of devs on latest version.

The web framework celebrated two decades with Django 6.0 releasing on December 3. The numbers are impressive: 447 releases over 20 years, 131 security vulnerabilities patched, and 262,203 releases of Django-related packages in the ecosystem (depending on how you classify "Django package").

Django 6.0 key features:

  • Template Partials - Modularize templates using small, named fragments (GSoC project by Farhan Ali Raza, mentored by Carlton Gibson)

  • Built-in Background Tasks Framework - Run code outside the HTTP request-response cycle for emails, data processing

  • Content Security Policy (CSP) - Built-in browser-level security policies against content injection

  • Modern Email API - Now uses Python's modern email API (EmailMessage, added in Python 3.6)

Django 5.2 LTS (April 2025) also shipped with Composite Primary Keys support and auto-import of models in the shell—with security updates through April 2028.

Security note: Several SQL injection vulnerabilities were discovered and patched throughout 2025: QuerySet.filter() and related methods in November, and FilteredRelation/annotate() in December. The Django Software Foundation was also authorized as a CVE Numbering Authority in 2025.

Per the State of Django 2025 survey, 75% of developers report being on the latest version.

PyCharm Goes Unified

JetBrains merged PyCharm Professional and Community Edition into a single product. Core features (including Jupyter support) remain free, with Pro features requiring a subscription. PyCharm 2025.2 was the final Community Edition release. The open-source codebase continues on GitHub, but the change ends PyCharm CE as a standalone product.

Python 3.9 End of Life

On Halloween, Python 3.9.25 shipped as the final release, ending the 3.9 line after five years. If you're still on 3.9, 2026 is the year to upgrade.

Ecosystem Roundup

Beyond the headlines, 2025 saw steady progress across Python's major pillars:

Scientific Stack:

  • pandas 2.3.3 added Python 3.14 compatibility (including 3.14t wheels) with continued StringDtype improvements

  • SciPy 1.16.1 became the first stable release with Python 3.14 support and wheels

  • Matplotlib 3.10 (3.10.0 landed Dec 2024; 3.10.x rollout continued through 2025) added preliminary free-threaded support and a colorblind-accessible 'petroff10' color cycle

Notebooks & AI:

  • JupyterLab 4.5 brought 51 features including faster large-notebook saves and a minimap

  • Jupyter AI v3 betas migrated to LiteLLM, providing 1000+ LLMs out-of-the-box with startup reduced from ~10s to ~2.5s

Machine Learning:

  • PyTorch 2.9 expanded hardware support (AMD ROCm, Intel XPU, NVIDIA CUDA 13), added Python 3.14/3.14t preview, and introduced a stable C++ ABI for extensions

Alternative Interpreters:

  • PyPy 7.3.20 (July) maintained Python 2.7 and 3.11 support with Cython compatibility fixes

  • MicroPython 1.27 (December) added ESP32-C5/P4 and STM32U5xx support, dropped Python 2.7 in build tools

Looking Ahead: Python in 2026

Python 3.15 and Lazy Imports

The headline feature for Python 3.15 (expected October 2026) is PEP 810: Explicit Lazy Imports. The Steering Council accepted the proposal in November. The new lazy keyword allows opt-in deferred module loading:

lazy import json  # Loaded only when first used

PEP 810 notes that lazy imports can cut startup time by 50–70% in practice and reduce memory usage for CLI tools and large applications. Unlike the rejected PEP 690, this approach is opt-in, preserving backward compatibility.

Free-Threading Ecosystem Maturation

The technical foundation is solid. Now it's up to library maintainers to add support. Watch for announcements from major packages beyond NumPy—and keep an eye on whether stable ABI support materializes, which would significantly lower the barrier for extension authors.

JIT Compiler Improvements

Python 3.15's JIT compiler supports significantly more bytecode operations than 3.14, with 3-4% geometric mean performance improvements over the standard interpreter. Speedups range from 20% slowdown to over 100% speedup depending on workload.

AI and Python's Continued Dominance

Python's position as the language of AI and ML shows no signs of weakening. As AI development accelerates, Python's ecosystem advantages compound. The question isn't whether Python will remain dominant, but whether its infrastructure can scale with demand.

The Funding Question

The PSF's financial challenges won't resolve themselves. 2026 will test whether the Python community can develop sustainable funding models. This is perhaps the most important non-technical challenge facing Python.

Conclusion

2025 was a year of milestones and challenges. Python took its biggest technical leap in decades with official free-threading support. The tooling ecosystem modernized around uv. The PSF navigated funding pressures that will continue into 2026.

Python enters 2026 stronger technically than ever, but facing real organizational challenges. The language's future depends not just on PEPs and releases, but on the sustainability of the institutions that support it.

The next year will be telling.

Key Dates for 2026

  • Python 3.15.0 release: October 2026 (expected)

  • Python 3.10 end of life: October 2026

  • PyCon US 2026: Date/location not announced as of publication

  • Python 3.14 bugfix releases: Continuing through 2027

Keep Reading

No posts found