Approved Python Versions¶
Status: 🟢 Active | Owner: Python Guild
Current Standard¶
| Version | Status | Notes |
|---|---|---|
| Python 3.12 | ✅ Recommended | All new projects |
| Python 3.11 | ✅ Supported | Acceptable for new projects |
| Python 3.10 | ⚠️ Minimum | No new projects; existing services must plan upgrade |
| Python 3.9 and below | ❌ Deprecated | End-of-life; must migrate |
Python follows an annual release cycle. The enterprise standard tracks the latest stable release (N) and the previous release (N-1).
Version Pinning¶
Pin the exact Python version in all service configurations:
In Docker builds, pin to the patch release:
In CI, pin via the setup action:
Using pyenv Locally¶
Developers should use pyenv to manage multiple Python versions:
pyenv install 3.12.3
pyenv local 3.12.3 # creates .python-version file (commit this)
python --version # 3.12.3
The .python-version file must be committed to the repository so all developers and CI use the same version.
Upgrade Policy¶
- Patch releases (3.12.2 → 3.12.3): Apply within 30 days of release.
- Minor upgrades (3.11 → 3.12): Required within 2 quarters of the new version becoming the recommended standard.
- Major upgrades (3.x → 3.x+1): Managed via a guild-coordinated migration campaign.
References¶
Last reviewed: 2025-Q4 | Owner: Python Guild