parvarh26 opened a new pull request, #40413:
URL: https://github.com/apache/beam/pull/40413
Fixes #40250
### Motivation & Context
Python 3.10 officially reached End-of-Life (EOL) on October 1, 2026.
Following Apache Beam's established policy of dropping EOL Python runtimes,
this PR removes all support for Python 3.10 and shifts the minimum supported
Python version to **3.11**.
This mirrors the pattern established by PR #36665 (Python 3.9 removal).
### Changes Made
**SDK Core:**
- `sdks/python/setup.py`: Updated `python_requires='>=3.11'`, removed `3.10`
PyPI classifier, renamed `p310_ml_test` to `p311_ml_test`
- `sdks/python/apache_beam/__init__.py`: Updated runtime version warning
threshold to `<= 10` (now warns for Python 3.10 and below)
- `sdks/python/pyproject.toml`: Updated `target-version = "py311"` for
Ruff/Black
**Build & Gradle Infrastructure:**
- `gradle.properties`: Updated `python_versions=3.11,3.12,3.13,3.14`
- `sdks/python/build.gradle`: Removed 3.10-specific `cibuildwheel` version
conditional (unified to `3.4.0`)
- `sdks/python/tox.ini`: Removed `py310` from `envlist` and all test targets
- `build.gradle.kts` (root): Removed `py310` PreCommit/PostCommit task
blocks;
migrated integration tests and coverage to `py311`
- `sdks/python/test-suites/tox/py311/build.gradle`: Migrated all dependency
compatibility tasks from the `py310` suite
**Dataflow Runner:**
- `apiclient.py`: Updated `_PYTHON_VERSIONS_SUPPORTED_BY_DATAFLOW` to
`['3.11', '3.12', '3.13', '3.14']`
- `apiclient_test.py`: Updated tests to verify 3.10 is now rejected and 3.11
is the new minimum accepted version on Dataflow
**GitHub Actions CI/CD (~60+ workflow files):**
- All PreCommit workflows: replaced `3.10` matrix entries with `3.11`
- All PostCommit workflows: shifted default `pythonVersion` to `3.11`
- All LoadTests / PerformanceTests: updated `-PpythonVersion=3.11`
**Documentation:**
- `CHANGES.md`: Added breaking change entry under `[2.78.0] - Unreleased`
- `website/.../environments.md`: Updated container image tag references to
3.11
- `website/.../python-sdk-image-build.md`: Updated SDK container tag listings
### Verification
- Full codebase audit benchmarked against merged PR #36665 (Python 3.9
removal)
- All critical version gates confirmed updated via `git grep`
- Working tree is clean: `nothing to commit`
- **113 files changed, 456 insertions(+), 482 deletions(-)**
### Checklist
- [x] Mention the appropriate issue in your description (`fixes #40250`).
- [x] Update `CHANGES.md` with noteworthy changes.
- [ ] If this contribution is large, please file an Apache
[Individual Contributor License
Agreement](https://www.apache.org/licenses/icla.pdf).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]