mirror of
https://github.com/apache/airflow.git
synced 2026-11-04 07:12:48 +00:00
* [main] CI: Upgrade important CI environment * Ignore pydantic-ai's generic OpenAI-compatible provider in vendor drift checks pydantic-ai-slim 2.63.0 adds a provider for any OpenAI-compatible endpoint. It needs a service name at construction and infer_model has no prefix for it, so a common.ai connection can never reach it and it is not a vendor the services page should list. Generated-by: Claude Opus 5 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
145 lines
3.9 KiB
TOML
145 lines
3.9 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.33.0",
|
|
"packaging==26.3",
|
|
"pathspec==1.1.1",
|
|
"pluggy==1.7.0",
|
|
"tomlkit==0.15.2",
|
|
"trove-classifiers==2026.9.21.13",
|
|
]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "apache-airflow-scripts"
|
|
description = "Scripts and utilities for Apache Airflow CI, Docker, and development"
|
|
classifiers = [
|
|
"Private :: Do Not Upload",
|
|
]
|
|
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" },
|
|
]
|
|
version = "0.0.1"
|
|
|
|
dependencies = [
|
|
"astor>=0.8.1",
|
|
"jsonschema>=4.19.1",
|
|
"libcst>=1.1.0; python_version < '3.14'",
|
|
"libcst>=1.8.6; python_version >= '3.14'",
|
|
"packaging>=25.0",
|
|
"python-dateutil>=2.8.2",
|
|
"pyyaml>=6.0.3",
|
|
"requests>=2.31.0",
|
|
"rich>=13.6.0",
|
|
"rich-click>=1.9.7",
|
|
"tabulate>=0.9.0",
|
|
"termcolor>=2.3.0",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"apache-airflow-devel-common",
|
|
]
|
|
mypy = [
|
|
"apache-airflow-core",
|
|
"apache-airflow-devel-common[mypy]",
|
|
]
|
|
|
|
|
|
[tool.uv.sources]
|
|
apache-airflow-devel-common = {workspace = true}
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
exclude = ["*"]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["ci", "cov", "docker", "in_container", "tools"]
|
|
|
|
[tool.pytest.ini_options]
|
|
# "." makes ci.prek.* importable as packages; "ci/prek" makes bare
|
|
# "from common_prek_utils import ..." inside those modules resolve correctly
|
|
# (mirroring what Python does automatically when scripts are run directly).
|
|
pythonpath = [".", "ci/prek", "in_container"]
|
|
|
|
[tool.mypy]
|
|
ignore_missing_imports = true
|
|
no_implicit_optional = true
|
|
warn_redundant_casts = true
|
|
warn_unused_ignores = false
|
|
pretty = true
|
|
show_error_codes = true
|
|
disable_error_code = [
|
|
"annotation-unchecked",
|
|
]
|
|
namespace_packages = true
|
|
explicit_package_bases = true
|
|
exclude = [
|
|
".*/node_modules/.*",
|
|
# Exclude hidden files and directories
|
|
".*/\\..*"
|
|
]
|
|
# Workspace packages (airflow, airflow.sdk, airflowctl, airflow_breeze, tests_common)
|
|
# are installed editable into the hook's virtualenv by `uv sync`, so mypy resolves them
|
|
# via site-packages — no mypy_path entries needed.
|
|
|
|
[[tool.mypy.overrides]]
|
|
module="airflow.config_templates.default_webserver_config"
|
|
disable_error_code = [
|
|
"var-annotated",
|
|
]
|
|
|
|
[[tool.mypy.overrides]]
|
|
module="airflow.migrations.*"
|
|
ignore_errors = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module="airflow.*._vendor.*"
|
|
ignore_errors = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module= [
|
|
"google.cloud.*",
|
|
"azure.*",
|
|
]
|
|
no_implicit_optional = false
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = "google.api_core.gapic_v1"
|
|
ignore_errors = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module=[
|
|
"referencing.*",
|
|
# Beam has some old type annotations, and they introduced an error recently with bad signature of
|
|
# a function. This is captured in https://github.com/apache/beam/issues/29927
|
|
# and we should remove this exclusion when it is fixed.
|
|
"apache_beam.*"
|
|
]
|
|
ignore_errors = true
|
|
|
|
# airflowctl autogenered datamodels
|
|
[[tool.mypy.overrides]]
|
|
module="airflowctl.api.datamodels.*"
|
|
ignore_errors = true
|