Developer Briefing — October 1, 2024
Python 3.9 reaches security-fix end of life in October 2025; shift data and web stacks to Python 3.11+ and rebuild native wheels before distro repositories freeze.
Executive briefing: PEP 596 sets October 2025 as the end of security fixes for Python 3.9. Many Linux distributions will drop 3.9 packages in early 2025. Teams should standardize on Python 3.11 or 3.12, rebuild native extensions, and validate ABI compatibility for data-science and web workloads.
Risk timeline
- Q4 2024: Start dual-test matrices (3.9 + 3.11/3.12), regenerate virtual environments, and refresh pinned C-extension wheels (NumPy, pandas, cryptography).
- Q1 2025: Migrate container bases (e.g.,
python:3.11-slim) and managed runtimes (AWS Lambda, Google Cloud Run, Azure Functions) to supported Python versions; rebuild ML images with matching CUDA wheels. - Q2 2025: Retire 3.9 from production pipelines; enforce
pip install --require-hashesand supply-chain attestations for new wheels. - October 2025: Post-EOL, block new 3.9 deployments and document any exception cases with risk approvals.
Migration moves
- Interpreter targets: Update
pyproject.tomland CI to require Python 3.11+, enablingtomllib, improved asyncio task groups, and zero-costtypingimports. - Native extensions: Rebuild wheels against manylinux2014/2014+ and macOS universal2 targets; confirm BLAS/CUDA bindings for data stacks and
cryptography’s OpenSSL linkage on newer runtimes. - Framework parity: Upgrade Django, FastAPI, Flask, and Celery versions that declare Python 3.11+ support; refresh WSGI/ASGI servers (gunicorn, uvicorn) to use modern workers.
- Security and observability: Update pip, setuptools, and build backends to current releases; validate APM agents (Datadog, OpenTelemetry) and security scanners with Python 3.11+.
Compliance guardrails
- Update vulnerability management baselines so unsupported Python versions are treated as policy violations after October 2025.
- Refresh data-governance attestations for ML workloads that repackage native dependencies, ensuring SBOMs capture the interpreter uplift.
- Document rollback paths using
uvorpip-toolslockfiles to prove deterministic builds during the migration.
Sources
Zeph Tech maps Python runtime upgrades to data pipelines, web frameworks, and GPU builds to minimise downtime during the 3.11+ transition.