[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "veronica-cp"
version = "0.8.1"
description = "LLM governance control plane. Policy authoring, simulation, rollout pipelines, tenant hierarchy, and audit dashboards built on veronica-core."
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
authors = [
    { name = "amabito" },
]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
    "Typing :: Typed",
]
keywords = [
    "llm", "agent", "control-plane", "budget", "policy", "governance",
    "rollout", "tenant", "simulation", "audit",
]
dependencies = [
    "fastapi>=0.135.1",
    "uvicorn[standard]>=0.41.0",
    "veronica-core>=3.4.0,<4",
]

[project.scripts]
veronica = "veronica.cli:main"

[project.urls]
Repository = "https://github.com/amabito/veronica"

[project.optional-dependencies]
dev = [
    "pytest>=8.0",
    "pytest-cov>=5.0",
    "fakeredis[lua]>=2.0",
    "prometheus-client>=0.20",
    "httpx>=0.27",
]
postgres = [
    "psycopg[binary]>=3.1",
    "psycopg_pool>=3.1",
]
redis = [
    "redis[hiredis]>=5.0",
]
metrics = [
    "prometheus-client>=0.20",
]

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

[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
markers = [
    "docker: requires Docker Compose (deselect with -m 'not docker')",
]

[tool.coverage.run]
source = ["veronica"]

[tool.coverage.report]
fail_under = 80
show_missing = true
