shahar1 opened a new pull request, #74154: URL: https://github.com/apache/airflow/pull/74154
Output of `ruff check --fix` with the py311 target for `airflow-core`, `task-sdk`, `shared`, `airflow-ctl` and `devel-common`: `timezone.utc` → `datetime.UTC` (UP017) and `typing_extensions` → `typing` (UP035). Mechanical, no behaviour change. Lands before the `requires-python` bump (layer 7): ruff infers its target from the nearest `pyproject.toml`, so once those say 3.11 every unfixed site is a lint error. Runtime is already 3.11+ after layer 1. ### Stack Layer 4 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]
