[project]
name = "mural-skill"
version = "0.0.0"
requires-python = ">=3.11"
dependencies = [
    "shapely>=2.0",
    "networkx>=3.0",
    "keyring>=24.0",
]

[dependency-groups]
dev = [
    "pytest>=9.0",
    "pytest-cov>=7.0",
    "ruff>=0.15",
    "pytest-mock>=3.12",
    "keyrings.alt>=5.0",
]
# Atheris ships manylinux-only wheels; keep separate from dev so uv sync works on macOS.
fuzz = [
    "atheris>=3.0",
]

[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["scripts"]
python_files = ["test_*.py", "fuzz_harness.py"]

[tool.ruff]
line-length = 88
target-version = "py311"

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

[tool.pyright]
include = ["tests", "scripts"]
extraPaths = ["scripts"]
pythonVersion = "3.11"
venvPath = "."
venv = ".venv"
