| # 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.31.0", |
| "packaging==26.2", |
| "pathspec==1.1.1", |
| "pluggy==1.6.0", |
| "tomli==2.4.1; python_version < '3.11'", |
| "trove-classifiers==2026.6.1.19", |
| ] |
| build-backend = "hatchling.build" |
| |
| [project] |
| name = "apache-airflow-helm-chart" |
| description = "Programmatically author, schedule and monitor data pipelines" |
| requires-python = ">=3.10,!=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.10", |
| "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", |
| "apache-airflow-providers-cncf-kubernetes", |
| ] |
| |
| [tool.pytest] |
| addopts = [ |
| "-rasl", |
| "--verbosity=2", |
| "-p", "no:flaky", |
| "-p", "no:nose", |
| "-p", "no:legacypath", |
| ] |
| norecursedirs = [ |
| ".eggs", |
| # Overlay smoke-test modules live under chart/tests/overlay_tests/ but |
| # are only meaningful when the overlay-under-test has been applied |
| # to a kind cluster. `breeze k8s smoke-test-overlay <name>` invokes |
| # them directly by path (which bypasses norecursedirs), so the |
| # smoke test still works; `breeze testing helm-tests --test-type all` |
| # would otherwise recurse into them and fail with `Secret not found` |
| # because no cluster / overlay is set up at that point. |
| "overlay_tests", |
| ] |
| log_level = "INFO" |
| filterwarnings = [ |
| "error::pytest.PytestCollectionWarning", |
| ] |
| python_files = [ |
| "*.py", |
| ] |
| |
| # Keep temporary directories (created by `tmp_path`) for 2 recent runs only failed tests. |
| tmp_path_retention_count = "2" |
| tmp_path_retention_policy = "failed" |
| |
| [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]" |
| ] |
| mypy = [ |
| "apache-airflow-devel-common[mypy]", |
| ] |
| |
| packages = [] |