[build-system]
requires = ["setuptools>=68.0", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[project]
name = "kredo"
dynamic = ["version"]
description = "Portable agent attestation protocol — Ed25519-signed skill certifications"
readme = "README.md"
requires-python = ">=3.11"
license = "MIT"
authors = [
    {name = "Jim Motes"},
    {name = "Vanguard"},
]
keywords = ["attestation", "ed25519", "trust", "reputation", "agents", "ai-agents", "cryptography"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Topic :: Security :: Cryptography",
    "Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
    "pynacl>=1.5.0",
    "pydantic>=2.0",
    "typer>=0.9.0",
    "rich>=13.0",
    "fastapi>=0.115.0",
    "uvicorn[standard]>=0.30.0",
    "httpx>=0.27.0",
]

[project.urls]
Homepage = "https://aikredo.com"
Documentation = "https://aikredo.com/_functions/skill"
Repository = "https://github.com/jimmotes2024/kredo"
"Discovery API" = "https://api.aikredo.com"

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

[project.scripts]
kredo = "kredo.cli:_cli"

[tool.setuptools.dynamic]
version = {file = "VERSION"}

[tool.setuptools.packages.find]
where = ["src"]
include = ["kredo", "kredo.*"]
exclude = ["kredo_drift_api", "kredo_drift_api.*"]

[tool.setuptools.package-data]
"kredo.data" = ["*.json"]

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