[tool.black]
line-length = 88
target-version = ['py310']
include = '\.pyi?$'

[tool.isort]
profile = "black"
combine_as_imports = false
known_tests = "tests"
sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "TESTS", "LOCALFOLDER"]

[tool.mypy]
python_version = "3.10"
strict = true
show_error_codes = true

[[tool.mypy.overrides]]
module = ["airflow.*"]
ignore_missing_imports = true

[tool.ruff]
line-length = 88
select = ["C", "E", "F", "W", "B", "I", "UP", "T20", "TID252"]
ignore = ["E501", "B008", "B009"]
exclude = [
    ".git",
    "__pycache__",
    ".history",
]
target-version = "py310"

[tool.ruff.isort]
combine-as-imports = true
forced-separate = ["tests"]

[tool.pytest.ini_options]
markers = []
addopts = [
    "--strict-config",
    "--strict-markers",
]
xfail_strict = true
junit_family = "xunit2"

[tool.coverage.report]
exclude_also = [
    "@abstractmethod",
    "@abc.abstractmethod",
    "if TYPE_CHECKING",
    "raise NotImplementedError",
]
