mirror of
https://github.com/apache/airflow.git
synced 2026-11-04 07:12:48 +00:00
* Require Python 3.11 in all distributions Every pyproject.toml that declares requires-python now says >= 3.11 and drops the Python 3.10 trove classifier, the tomli build requirement that only existed for 3.10 and the per-version dependency markers for 3.10. Lock files are regenerated. With 3.10 gone, the tomli fallbacks in scripts, dev tooling and tests go too, along with the tomli additional_dependencies of the prek hooks and the blacken-docs py310 target. The tomllib imports that only sat inside functions because of the fallback move to the top of their modules. The four dev/registry and scripts/ci/prek modules left out of the earlier UP017 pass also take their timezone.utc to datetime.UTC fixes here. The minimum host Python checked by check-min-python-version, the default Python of run_generate_constraints.py and the provider cut-off date parsing (fromisoformat, which reads a trailing Z from 3.11) follow the new baseline. ruff infers py311 from the new requires-python, which enables the PEP 646 star-index fix (UP044) applied here and makes two more rules reportable: UP042 (str, Enum to StrEnum) alters what str() and format() return for serialized enum values, and ASYNC109 means dropping the public timeout parameter from async APIs. Both need per-site judgement, so they go on the ignore list with that rationale. The datamodel-codegen target moves to 3.11 too, with use-specialized-enum turned off for the same reason: otherwise the generated Task SDK and airflowctl enums would switch from (str, Enum) to StrEnum. * Drop the Python 3.10 provider metadata shim With provider distributions now requiring Python 3.11, breeze can derive requires-python and classifiers from the default and allowed versions again. The patch-exclusion test and the matching example in MANAGING_PROVIDERS_LIFECYCLE.rst move from 3.10.0 to 3.11.0, the oldest patch release CI still covers. * Keep Breeze's locked dependency versions when dropping Python 3.10 Relocking Breeze for the Python 3.11 baseline ran while recently bumped versions were still inside the 4-day exclude-newer window, so it downgraded pyjwt (reverting #73969), prek, boto3/botocore and filelock. Relocking from the previous lock keeps them and only drops the packages Python 3.11 no longer needs. Generated-by: Claude Opus 5 --------- Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
86 lines
2.5 KiB
TOML
86 lines
2.5 KiB
TOML
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
[build-system]
|
|
requires = [
|
|
"hatchling==1.32.4",
|
|
"packaging==26.3",
|
|
"pathspec==1.1.1",
|
|
"pluggy==1.6.0",
|
|
"tomlkit==0.15.1",
|
|
"trove-classifiers==2026.9.21.13",
|
|
]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "apache-airflow-docker-stack"
|
|
description = "Programmatically author, schedule and monitor data pipelines"
|
|
requires-python = ">=3.11,!=3.15"
|
|
authors = [
|
|
{ name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
|
|
]
|
|
maintainers = [
|
|
{ name = "Apache Software Foundation", email="dev@airflow.apache.org" },
|
|
]
|
|
keywords = [ "airflow", "orchestration", "workflow", "dag", "pipelines", "automation", "data" ]
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Environment :: Console",
|
|
"Environment :: Web Environment",
|
|
"Framework :: Apache Airflow",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: System Administrators",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Programming Language :: Python :: 3.14",
|
|
"Topic :: System :: Monitoring",
|
|
"Topic :: System :: Monitoring",
|
|
]
|
|
|
|
version = "0.0.1"
|
|
|
|
dependencies = [
|
|
"apache-airflow-core",
|
|
"apache-airflow-devel-common",
|
|
]
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
exclude = ["*"]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
bypass-selection = true
|
|
|
|
[dependency-groups]
|
|
# To build docs run:
|
|
#
|
|
# uv run --group docs sphinx-build -T --color -b html . _build
|
|
#
|
|
# To check spelling:
|
|
#
|
|
# uv run --group docs sphinx-build -T --color -b spelling . _build
|
|
#
|
|
# To enable auto-refreshing build with server:
|
|
#
|
|
# uv run --group docs sphinx-autobuild -T --color -b html . _build
|
|
#
|
|
docs = [
|
|
"apache-airflow-devel-common[docs]"
|
|
]
|
|
|
|
packages = []
|