[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "dag-yaml-tools"
version = "0.1.0"
description = "DAG YAML validation and visualization tools"
requires-python = ">=3.10"
dependencies = [
    "PyYAML>=6.0",
    "networkx>=3.0",
    "graphviz>=0.20",
    "pyvis>=0.3.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=7.0",
    "pytest-cov>=4.0",
    "mypy>=1.0",
    "types-PyYAML",
]

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_functions = ["test_*"]
addopts = "-v --tb=short"

[tool.mypy]
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
strict = true

[[tool.mypy.overrides]]
module = ["pyvis.*", "graphviz.*"]
ignore_missing_imports = true

[tool.coverage.run]
source = ["src"]
branch = true

[tool.coverage.report]
exclude_lines = [
    "pragma: no cover",
    "if TYPE_CHECKING:",
]
