[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"

[project]
name = "az-scout-plugin-odcr-coverage"
dynamic = ["version"]
description = "az-scout plugin for On-Demand Capacity Reservation (ODCR) coverage analysis"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.11"
authors = [
    { name = "Ludovic Rivallain" },
]
keywords = ["azure", "odcr", "capacity-reservation", "az-scout", "plugin"]
dependencies = [
    "az-scout",
    "fastapi",
]

[project.urls]
Homepage = "https://github.com/az-scout/az-scout-plugin-odcr-coverage"
Repository = "https://github.com/az-scout/az-scout-plugin-odcr-coverage"
Issues = "https://github.com/az-scout/az-scout-plugin-odcr-coverage/issues"

[dependency-groups]
dev = [
    "pytest>=9.0",
    "pytest-cov>=6.0",
    "ruff>=0.11",
    "mypy>=1.15",
    "httpx>=0.28",
]

[project.entry-points."az_scout.plugins"]
odcr_coverage = "az_scout_odcr_coverage:plugin"

[tool.hatch.build.targets.wheel]
packages = ["src/az_scout_odcr_coverage"]

[tool.hatch.version]
source = "vcs"
raw-options.version_scheme = "guess-next-dev"
raw-options.local_scheme = "no-local-version"
raw-options.fallback_version = "0.1.0"

[tool.hatch.build.hooks.vcs]
version-file = "src/az_scout_odcr_coverage/_version.py"

[tool.ruff]
line-length = 100
target-version = "py311"
exclude = ["src/az_scout_odcr_coverage/_version.py"]

[tool.ruff.lint]
select = ["E", "F", "I", "W", "UP", "B", "SIM"]

[tool.mypy]
python_version = "3.11"
strict = true

[tool.pytest.ini_options]
testpaths = ["tests"]
