News Today Release 3.13 November 2025 | Python

| Removed Feature | Deprecated since | Replacement | |----------------|----------------|-------------| | cgi module | Python 3.11 | email or multipart (or FastAPI/Flask) | | telnetlib | Python 3.11 | paramiko or subprocess + SSH | | asyncio.coroutine (yield from) | Python 3.10 | async / await | | typing.io / typing.re | Python 3.8 | collections.abc or re directly | | distutils (fully gone) | Python 3.10 | setuptools or pyproject.toml |

Why? Because hundreds of C extensions (including numpy , cryptography , lxml ) are not yet thread-safe without the GIL. However, the Python team expects GIL-free builds to become fully supported by .

Happy coding – and may your loops be ever faster.

urllib.parse no longer silently accepts non-ASCII bytes; you must encode to UTF-8 explicitly. 7. The "No-GIL" Experiment: Still Cooking Python 3.13 ships with a compile-time flag --disable-gil that produces a GIL-free interpreter (a.k.a. "free-threaded Python"). This remains experimental and not recommended for production.

pyenv install 3.13.0 pyenv global 3.13.0

import interpreters import math def is_prime(n): return all(n % i != 0 for i in range(2, int(math.sqrt(n)) + 1))