State of Python 2026

January 1, 2026

Python took its biggest technical leap in decades: Python 3.14 made free-threaded builds officially supported. PEP 703 introduced optional GIL removal; PEP 779 defined the criteria for "supported" status (Phase II). Single-thread overhead dropped from ~40% in 3.13 to typically single digits on common platforms, enabling ~3.1× speedups in multi-threaded CPU workloads. The GIL-optional era has begun, though C-extension wheel compatibility remains the primary adoption blocker.

Infographic titled "Python in 2026: A Year of Transformation & Challenge" showing major changes and stresses in the Python ecosystem. It highlights up to a 3.1× speedup in CPU-bound tasks from Python 3.14's optional free-threading and reduced reliance on the GIL, with major libraries such as NumPy, SciPy, and PyTorch adopting concurrency. It also shows the rise of the Rust-based package manager "uv," delivering 10–100× faster tooling than pip in CI. On the challenges side, the graphic notes financial strain on the Python Software Foundation, ongoing PyPI supply-chain security attacks affecting thousands of downloads, and a community response that raised over $150K in donations.
Python in 2026: Performance Breakthroughs Amid Ecosystem Pressure

Tooling grew around uv, Astral's Rust-powered package manager now overtaking pip in CI usage for major projects (Wagtail: 66% uv vs 34% pip). Python 3.14 shipped template strings (PEP 750), deferred annotation evaluation (PEP 649), an experimental JIT, sub-interpreters in stdlib (PEP 734), and Sigstore-only signing (PEP 761) replacing PGP. SBOMs are now included in releases. Django turned 20 with 6.0 adding built-in background tasks and CSP. PyCharm merged editions: core features free, Pro features subscription.

The Python Software Foundation navigated financial pressure: declining revenue, PyCon running at a loss for three years, and a unanimous board vote to withdraw from a $1.5M NSF grant over incompatible terms. Community responded with $150K–$157K+ in donations and ~270–295 new Supporting Members (as reported over the following week), but institutional funding gaps remain.

Actions for 2026: Test Python 3.14 free-threaded builds (python3.14t) for CPU-bound workloads. Plan migration from Python 3.10 before October 2026 EOL. Try uv for package management and CI pipelines. Track free-threading wheel availability for key dependencies. Consider PSF Supporting Membership to address institutional funding gaps.


Python 2025 Timeline

January 2025

January 14
security

Django Security Releases

Django security releases (5.1.5, 5.0.11, 4.2.18) patch IPv6 validation denial-of-service vulnerability.
release

Python 3.14.0a4

Python 3.14.0a4 released. Alpha development continues.
January 29
security

DeepSeek Malware on PyPI

DeepSeek malware packages uploaded to PyPI. Packages "deepseeek" and "deepseekai" impersonated DeepSeek AI, contained infostealers targeting API keys and credentials. Detected and removed within an hour.

February 2025

February 4
release

Python 3.13.2 and 3.12.9

Python 3.13.2 and 3.12.9 maintenance releases. 3.13.2 includes ~250 changes.
February 11
release

Python 3.14.0a5

Python 3.14.0a5 released.
February 26
release

PyPy 7.3.19

PyPy 7.3.19 released with Python 2.7, 3.10, and 3.11 beta support.

March 2025

March 14
release

Python 3.14.0a6

Python 3.14.0a6 released on Pi Day (3/14).
March 15
security

PyPI Cloud Token Malware Campaign

PyPI cloud token malware campaign disclosed. 20 packages masquerading as time utilities stole AWS, Alibaba Cloud, and Tencent Cloud credentials. 14,100+ downloads before removal.

April 2025

April 2
release

Django 5.2 LTS

Django 5.2 LTS released with Composite Primary Keys support. Security updates through April 2028.
April 10
announcement

PEP 750 Approved

Steering Council approves PEP 750 (template strings). New t"..." syntax enables custom processing of interpolated strings for safer SQL, HTML, and DSL generation.
April 16
announcement

PyCharm Editions Merged

PyCharm 2025.1 merges Professional and Community editions. Core features (including Jupyter) remain free.

May 2025

May 14
event

Python Language Summit

Python Language Summit at PyCon US Pittsburgh. Summaries published covering free-threading status, lazy imports proposal, and ecosystem updates.

June 2025

June 4
release

pandas 2.3.0

pandas 2.3.0 released with StringDtype improvements and Python 3.14 compatibility groundwork.
June 7
release

NumPy 2.3.0

NumPy 2.3.0 released with improved free-threaded compatibility and cp313t wheels for Python 3.13t. Supports Python 3.11–3.13; 3.14 support planned for later release.
June 22
release

SciPy 1.16.0

SciPy 1.16.0 released.

July 2025

July 4
release

PyPy 7.3.20

PyPy 7.3.20 released. Maintains Python 2.7 and 3.11 support with Cython compatibility fixes.
July 18
event

EuroPython Documentary Preview

EuroPython screens 20-minute preview of "Python: The Documentary" in Prague. Q&A with Brett Cannon, Paul Everitt, and Armin Ronacher.
July 27
release

SciPy 1.16.1

SciPy 1.16.1 released. First stable release with Python 3.14 wheels on PyPI.

August 2025

August 1
announcement

PSF Grants Program Paused

PSF Grants Program paused after hitting 2025 funding cap early.
August 5
release

PyCharm 2025.2

PyCharm 2025.2 ships as final Community Edition release.
August 28
milestone

Python Documentary Premieres

"Python: The Documentary" premieres on YouTube. ~84-90 minute feature covers 34 years of Python history with interviews from Guido van Rossum, Brett Cannon, and Mariatta Wijaya.

September 2025

September 29
release

pandas 2.3.3

pandas 2.3.3 released. First release to support Python 3.14, including 3.14t wheels.

October 2025

October 7
release

Python 3.14.0

Python 3.14.0 released. Free-threaded builds move from experimental to officially supported (PEP 703 + PEP 779). Key features: t-strings (PEP 750), deferred annotations (PEP 649), sub-interpreters (PEP 734), experimental JIT, Sigstore-only signing (PEP 761), Zstandard compression (PEP 784), official Android binaries.
October 15
release

PyTorch 2.9.0

PyTorch 2.9.0 released. Adds Python 3.14/3.14t preview, expanded hardware support (AMD ROCm, Intel XPU, NVIDIA CUDA 13), stable C++ ABI for extensions.
October 27
announcement

PSF Withdraws from NSF Grant

PSF unanimously withdraws from recommended $1.5M NSF grant. Grant terms included "clawback" provision board deemed "existential risk."
milestone

State of Django 2025

State of Django 2025 survey published. 4,600+ respondents; 75% use latest stable release for new projects.
October 30
milestone

Django Becomes CVE Numbering Authority

Django Software Foundation authorized as CVE Numbering Authority. Can now assign CVE identifiers directly for Django security issues.
October 31
milestone

Python 3.9 End of Life

Python 3.9.25 ships as final release. Python 3.9 EOL after five years.

November 2025

November 3
announcement

PEP 810 Accepted

Steering Council accepts PEP 810 (explicit lazy imports) for Python 3.15. Opt-in lazy import syntax can cut startup time by 50-70%.
November 5
security

Django Security Release

Django security release patches SQL injection in QuerySet.filter() and related methods.
November 12
release

PyTorch 2.9.1

PyTorch 2.9.1 released with bug fixes.
November 18
release

JupyterLab 4.5.0

JupyterLab 4.5.0 released. 51 new features including faster large-notebook saves, minimap for all windowing modes, and automatic light/dark theme switching.

December 2025

December 2
security

Django Security Release

Django security release patches SQL injection in FilteredRelation and annotate().
December 3
release

Django 6.0

Django 6.0 released. 20 years, 447 releases. Key features: template partials, built-in background tasks, Content Security Policy.
December 9
release

MicroPython 1.27.0

MicroPython 1.27.0 released. Adds ESP32-C5/P4 and STM32U5xx support, drops Python 2.7 in build tools.
December 15
release

JupyterLab 4.5.1

JupyterLab 4.5.1 released with bug fixes.

Python 2026 Watchlist

Timeline infographic titled "Modernization Imperatives: Key Deadlines in 2026" showing three major actions. First, Django 4.2 LTS reaches end of life in April 2026, prompting a planned migration to Django 5.2 LTS for security reasons. Second, we recommend evaluating the Rust-based package manager "uv" for CI and local workflows during 2026 due to proven performance and stability gains. Third, Python 3.10 reaches end of life in October 2026, requiring audits of production systems and migration planning to Python 3.12 or 3.14.
Modernization Imperatives: Critical Python & Django Deadlines in 2026

1. Python 3.15 and Lazy Imports

When: October 2026 (expected release).
Context: PEP 810 adds opt-in lazy import syntax. Can cut startup time by 50-70% and reduce memory for CLI tools. Unlike rejected PEP 690, this is opt-in, preserving backward compatibility.
Action: Identify startup-sensitive applications (CLI tools, serverless functions) for early adoption testing.


2. Free-Threading Ecosystem Maturation

Infographic announcing that the GIL-optional era begins with Python 3.14. It highlights an average ~3.1× speedup for multi-threaded CPU workloads using officially supported free-threaded builds. The graphic notes that PEP 703 and PEP 779 moved free-threading from experimental to supported status, reduced single-threaded performance overhead from about 40% in early 3.13 builds to single-digit percentages, and for the first time enables true parallelism in CPython without relying on multiprocessing.
Python 3.14 Ushers In the GIL-Optional Era

When: Ongoing through 2026. Technical foundation solid; library adoption is the bottleneck.
Context: NumPy 2.3.0 proved major libraries can transition. Blockers: many C-extension wheels aren't thread-safe, stable ABI doesn't support free-threaded builds, importing non-ready extensions can re-enable the GIL.
Action: Track announcements from key dependencies. Test CPU-bound workloads with python3.14t. File issues for libraries lacking 3.14t wheels.


3. Python 3.10 End of Life

When: October 2026.
Context: Python 3.10 introduced structural pattern matching. Five-year support window ends. 3.9 already EOL (October 2025).
Action: Audit production systems. Plan migration to 3.12+ (or 3.14 for latest features).


4. PSF Sustainability

Slide titled "The Foundation Under Pressure: A Question of Sustainability" outlining financial challenges faced by the Python Software Foundation. On the left, it lists declining revenue, PyCon operating at a loss for three consecutive years, and the PSF pausing the 2025 grants program after reaching its funding cap early. On the right, it highlights a key decision to withdraw from a proposed $1.5 million NSF grant, citing incompatible clawback provisions that the PSF considered an existential risk to the foundation.
The Foundation Under Pressure: Sustainability Challenges Facing the PSF

When: Critical in 2026. ~$5M annual budget, 14 employees, declining revenue.
Context: PyCon running at a loss for three years. Corporate sponsorship signups slowed. Grants program hit funding cap early. Individual donations surged ($150K-$157K+) but may not replace institutional funding at scale.
Action: Organizations using Python commercially should consider PSF sponsorship or Supporting Membership. This is the most important non-technical challenge facing the ecosystem.


5. JIT Compiler Progress

When: Python 3.15 (October 2026). 3.14's JIT was experimental.

Context: 3.15 JIT supports significantly more bytecode operations. 3-4% geometric mean improvement over standard interpreter; range from 20% slowdown to 100%+ speedup depending on workload.


Action: Benchmark long-running, CPU-bound applications with JIT-enabled builds when 3.15 releases.


6. uv Adoption Decision

!Infographic titled "The Tooling Renaissance: 'uv' Reshapes the Developer Workflow" describing Astral's Rust-based package manager, uv, becoming the high-performance standard for Python dependency management. It highlights a 10–100× speed improvement over pip plus virtualenv, shows uv overtaking pip in CI usage (66% vs. 34% in a Wagtail CI example), and lists key features including drop-in compatibility with pip, pip-tools, and virtualenv, support for existing requirements.txt files, and no lock-in to custom project formats.

When: Review in 2026. uv now majority CI share in some major projects.
Context: 10-100× faster than pip. Drop-in replacement for pip, pip-tools, virtualenv. Works with existing requirements.txt. No lock-in to custom conventions.
Action: Pilot uv in CI pipelines. Review for local development workflow standardization.


7. Django 4.2 LTS End of Life

When: April 2026. Django 5.2 LTS supported through April 2028.
Context: 75% use latest stable for new projects. the Django team patched SQL injection vulnerabilities in 2025; staying current is security-critical.
Action: If on Django 4.x, plan migration to 5.2 LTS before April 2026 EOL.


8. Supply Chain Security

When: Now. Python 3.14 ships with Sigstore-only signing (PEP 761) replacing PGP and includes SBOMs.
Context: Python ecosystem modernizing supply-chain security. PyPI continuing malware detection improvements. PSF's withdrawn grant would have funded automated package review tooling.
Action: Verify Sigstore signatures for Python releases. Audit dependency sources. Pin versions with hashes where possible.

Enjoyed this article?

Subscribe to get more deep-dives in your inbox.

Continue Reading

Stay ahead of the curve

Weekly deep-dives into programming languages, frameworks, and the tools shaping software engineering.