Python Packagers Gain a Council, 3.15 Alpha Boosts JIT Gains, and More April 2026 Updates
By • min read
<h2 id="introduction">A Month of Milestones for Python</h2>
<p>April 2026 brought significant structural changes to the Python packaging ecosystem, notable performance improvements in the latest alpha release, and a few surprises from the broader tech world that will affect Python developers. The Python Packaging Authority (PyPA) now has a formally elected Packaging Council, Python 3.15.0 alpha 8 delivers a refreshed Just-In-Time (JIT) compiler, and the incremental garbage collector from Python 3.14 is rolled back. Meanwhile, Google released the open-weights Gemma 4 family, Starlette hit a major 1.0 milestone, and the Python community learned that OpenAI acquired Astral, the company behind uv, Ruff, and ty. Let's explore each story.</p><figure style="margin:20px 0"><img src="https://files.realpython.com/media/Monthly-Python-News_Purple_Watermarked.5b2e306328cb.jpg" alt="Python Packagers Gain a Council, 3.15 Alpha Boosts JIT Gains, and More April 2026 Updates" style="width:100%;height:auto;border-radius:8px" loading="lazy"><figcaption style="font-size:12px;color:#666;margin-top:5px">Source: realpython.com</figcaption></figure>
<h2 id="packaging-council">Python's First Elected Packaging Council</h2>
<p>On April 16, <strong>PEP 772</strong> was accepted, creating a dedicated <em>Python Packaging Council</em>. This new five-member governing body will make binding decisions about packaging standards and tools, bringing formal structure to what was previously handled informally by the Python Packaging Authority (PyPA). The council operates with authority comparable to the Python Steering Council, and its members are elected by the packaging community. This marks the first time packaging decisions have such a clear, democratic governance path.</p>
<h2 id="python-315-alpha-8">Python 3.15 Alpha 8: Final Alpha Before Feature Freeze</h2>
<p>Python 3.15.0 alpha 8 was released on April 7, alongside maintenance updates for 3.14.4 and 3.13.13. Release manager Hugo van Kemenade confirmed that alpha 8 is the last alpha before the beta phase begins on May 5. After that date, no new features will be accepted for Python 3.15. Library maintainers should file any issues against unreleased features now to have a reasonable chance of resolution before the freeze.</p>
<h3 id="jit-performance">Refreshed JIT Delivers Measurable Speedups</h3>
<p>The headline improvement in alpha 8 is the <strong>refreshed JIT compiler</strong>. On x86-64 Linux, it yields a geometric mean improvement of <strong>6–7%</strong> over the standard interpreter. On AArch64 macOS, the gain is even more impressive at <strong>12–13%</strong> compared to the tail-calling interpreter introduced in Python 3.14. These are not microbenchmark artifacts; they represent cumulative gains across a broad suite of workloads.</p>
<h3 id="gc-revert">Incremental Garbage Collector Reverted</h3>
<p>The incremental garbage collector introduced in Python 3.14 has been reverted after production reports of runaway memory usage. The fix will land in the upcoming Python 3.14.5 patch release. This decision was made by the core team to restore stability, demonstrating a responsive approach to real-world issues.</p><figure style="margin:20px 0"><img src="https://realpython.com/static/pytrick-dict-merge.4201a0125a5e.png" alt="Python Packagers Gain a Council, 3.15 Alpha Boosts JIT Gains, and More April 2026 Updates" style="width:100%;height:auto;border-radius:8px" loading="lazy"><figcaption style="font-size:12px;color:#666;margin-top:5px">Source: realpython.com</figcaption></figure>
<h3 id="pep-highlights">PEPs Consolidated in Alpha 8</h3>
<p>Alpha 8 incorporates several PEPs already discussed in earlier alphas:</p>
<ul>
<li><strong>PEP 810</strong>: Explicit lazy imports</li>
<li><strong>PEP 814</strong>: <code>frozendict</code> as a built-in type</li>
<li><strong>PEP 799</strong>: Statistical sampling profiler</li>
<li><strong>PEP 798</strong>: Unpacking in comprehensions</li>
<li><strong>PEP 686</strong>: UTF-8 as the default encoding</li>
<li><strong>PEP 728</strong>: TypedDict enhancements</li>
</ul>
<h2 id="ecosystem-news">Other Ecosystem News</h2>
<h3 id="gemma-4">Google Releases Gemma 4 Open-Weights Models</h3>
<p>Google introduced the <strong>Gemma 4</strong> family of open-weights models, continuing its push into accessible AI development. These models are designed for a range of natural language tasks and are available under permissive licenses, making them attractive for Python-based machine learning workflows.</p>
<h3 id="starlette-10">Starlette 1.0 Ships as FastAPI Foundation</h3>
<p><strong>Starlette</strong>, the lightweight ASGI framework that underpins FastAPI, reached version 1.0. This milestone solidifies its stability and reliability for production web applications. FastAPI users will benefit from the improved performance and refined API of Starlette 1.0.</p>
<h3 id="openai-astral">OpenAI Acquires Astral</h3>
<p>In a move that surprised many in the Python ecosystem, <strong>OpenAI</strong> acquired <strong>Astral</strong>, the company behind <em>uv</em>, <em>Ruff</em>, and <em>ty</em>. While the full implications are still unfolding, this acquisition signals growing interest from large AI companies in Python tooling and package management infrastructure. Developers who rely on uv or Ruff should monitor announcements for any changes.</p>
<p>To stay updated on Python news like this, <strong><a href="#">join the Real Python Newsletter</a></strong> and never miss another tutorial, course, or news update.</p>