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]

Reply via email to