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"