pool = interpreters.Pool(8) # 8 CPU cores results = pool.map(is_prime, range(10_000_000, 10_000_100)) print(sum(results))
The Steering Council chose sub-interpreters over a GIL-less build (still available as --disable-gil for the brave) because sub-interpreters maintain full C-extension compatibility – a critical requirement for the scientific and data science ecosystems (NumPy, Pandas, TensorFlow all work unchanged). Takeaway: For CPU-bound workloads, rewrite your multiprocessing code to use interpreters.Pool . For I/O-bound tasks, asyncio remains king. 2. JIT Compilation Graduates from Experimental (PEP 744) PEP 744 , the Copy-and-Patch JIT compiler introduced as an experiment in Python 3.13 beta, is now enabled by default on x86-64 and ARM64 builds. python news today release 3.13 november 2025
This feature uses a small on-device LLM (Mistral-7B distilled) that ships with Python 3.13 – optional, install via python -m ensure_explain . In response to global supply chain security mandates (including upcoming US Executive Order 14110 compliance), Python 3.13 now includes a native Software Bill of Materials (SBOM) generator. pool = interpreters
For CI/CD pipelines, add: