shahar1 opened a new pull request, #74157:
URL: https://github.com/apache/airflow/pull/74157

   Every `pyproject.toml` (core, Task SDK, airflowctl, all providers, 
`shared/*`, dev and test distributions) now declares `requires-python = 
">=3.11"`, drops the `Programming Language :: Python :: 3.10` classifier, the 
`tomli` build requirement that only 3.10 needed, and the 3.10-only dependency 
markers (`numpy`, `jpype1`). Lock files regenerated; the remaining `tomli` 
fallbacks in prek scripts, `dev/registry` and `docker-tests` become plain 
`tomllib` imports here (their isort placement depends on the py311 target); 
provider README/index requirement tables synced by `sync-provider-readme`; 
`tomli` dropped from prek hook `additional_dependencies`; `blacken-docs` and 
breeze `black` targets move to py311+.
   
   With `requires-python` at 3.11 ruff infers the py311 target, which enables 
the PEP 646 fix applied here (`Unpack[tuple[...]]` → `*tuple[...]`, UP044, 4 
sites) and makes two rules reportable that are added to the ignore list with a 
rationale:
   
   - `UP042` (`str, Enum` → `StrEnum`, 86 sites): changes what 
`str()`/`format()` return for serialized enum values.
   - `ASYNC109` (async function with `timeout` parameter, 48 sites): the fix is 
dropping a public parameter in favour of `asyncio.timeout`.
   
   Both need per-site judgement and are left for follow-ups.
   
   ### Stack
   
   Layer 7 of 9 of the Python 3.10 drop (supersedes #74144, which carried the 
whole change in one PR). Each layer is meant to be green on its own: the script 
metadata bump comes first because prek picks the hook interpreter from it, and 
the ruff fixes land before the `requires-python` bump because ruff infers its 
target per distribution from the nearest `pyproject.toml`.
   
   1. Drop Python 3.10 from CI, Breeze and the container images
   2. Bump inline script metadata to Python 3.11
   3. Remove Python 3.10 compatibility shims
   4. Apply ruff Python 3.11 fixes to core, Task SDK, shared and airflowctl
   5. Apply ruff Python 3.11 fixes to providers
   6. Apply ruff Python 3.11 fixes to dev tooling, scripts and test suites
   7. Require Python 3.11 in all distributions
   8. Update provider READMEs for the Python 3.11 baseline
   9. Update docs for the Python 3.11 baseline
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Fable 5.1)
   
   Generated-by: Claude Code (Fable 5.1) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   


-- 
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