dev/breeze/pyproject.toml (118 lines of code) (raw):
# 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 = ["flit_core >=3.11,<4"]
build-backend = "flit_core.buildapi"
[project]
name = "apache-airflow-breeze"
version = "0.0.1"
description = "Apache Airflow Breeze development environment"
readme = "README.md"
authors = [
{name="Apache Software Foundation", email="dev@airflow.apache.org"},
]
maintainers = [
{name="Apache Software Foundation", email="dev@airflow.apache.org"},
]
keywords = [ "airflow", "development", "ci" ]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Framework :: Apache Airflow",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
requires-python = "~=3.9"
dependencies = [
"black>=23.11.0",
"click>=8.1.8",
"filelock>=3.13.0",
"flit>=3.12.0",
"flit-core>=3.12.0",
"google-api-python-client>=2.142.0",
"google-auth-httplib2>=0.2.0",
"google-auth-oauthlib>=1.2.0",
"gitpython>=3.1.40",
"hatch>=1.14.1",
"inputimeout>=1.0.4",
"jinja2>=3.1.5",
"jsonschema>=4.19.1",
"packaging>=23.2",
"pre-commit>=3.5.0",
"pre-commit-uv>=4.1.3",
"psutil>=5.9.6",
"pygithub>=2.1.1",
"pytest-xdist>=3.3.1",
"pytest>=8.2,<9",
"pyyaml>=6.0.2",
"requests>=2.31.0",
"restructuredtext-lint>=1.4.0",
"rich-click>=1.7.1",
"rich>=13.6.0",
"tabulate>=0.9.0",
"tomli>=2.0.1; python_version < '3.11'",
"twine>=4.0.2",
"tqdm>=4.67.1",
"boto3>=1.34.90",
"awswrangler>=3.11.0",
"semver>=3.0.4"
]
[project.scripts]
breeze = "airflow_breeze.breeze:main"
[tool.flit.module]
name = "airflow_breeze"
[tool.black]
line-length = 110
target-version = ['py39', 'py310', 'py311', 'py312']
[tool.pytest.ini_options]
addopts = "-rasl --verbosity=2 -p no:flaky -p no:nose -p no:legacypath"
norecursedirs = [
".eggs",
]
log_level = "INFO"
filterwarnings = [
"error::pytest.PytestCollectionWarning",
]
python_files = [
"*.py",
]
testpaths = [
"tests",
]
# 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.ruff]
extend = "../../pyproject.toml"
src = ["src"]
[tool.mypy]
ignore_missing_imports = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = false
pretty = true
[tool.isort]
line_length = 110
combine_as_imports = true
default_section = "THIRDPARTY"
known_first_party = "airflow,airflow_breeze,tests"
skip= "build,.tox,venv"
profile = "black"