[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "autopil"
version = "0.1.0"
description = "Platform Intelligence Layer — context governance for autonomous agents"
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.11"
authors = [
    { name = "Anil Solleti", email = "anil@vibrantcapital.ai" },
]
keywords = [
    "ai", "agents", "governance", "context", "policy",
    "langgraph", "langchain", "audit", "enterprise",
]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Operating System :: OS Independent",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
    "Topic :: Security",
    "Topic :: Software Development :: Libraries :: Python Modules",
]

# Core SDK — only what ContextGuard and PolicyEngine strictly need
dependencies = [
    "pyyaml>=6.0",
]

[project.optional-dependencies]
# Run the REST API server
server = [
    "fastapi>=0.115",
    "uvicorn>=0.30",
]
# LangGraph / LangChain agent demos and integrations
langgraph = [
    "langgraph>=0.2",
    "langchain-core>=0.3",
    "langchain-community>=0.3",
]
# Postgres backend
postgres = [
    "psycopg2-binary>=2.9",
]
# Everything
all = [
    "fastapi>=0.115",
    "uvicorn>=0.30",
    "langgraph>=0.2",
    "langchain-core>=0.3",
    "langchain-community>=0.3",
    "psycopg2-binary>=2.9",
]
# Development and test
dev = [
    "pytest>=8.0",
    "httpx>=0.27",
    "fastapi>=0.115",
    "uvicorn>=0.30",
]

[project.scripts]
autopil-serve = "autopil.cli:main"

[project.urls]
Homepage      = "https://autopil.ai"
Repository    = "https://github.com/anil-solleti/autopil"
Issues        = "https://github.com/anil-solleti/autopil/issues"
Changelog     = "https://github.com/anil-solleti/autopil/releases"

[tool.setuptools.packages.find]
where   = ["."]
include = ["autopil*"]

[tool.setuptools.package-data]
"autopil.api" = ["static/*"]

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