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

[tool.hatch.build.targets.sdist]
include = [
    "src/",
    "tasks/",
    "skills/",
    "config/",
    "scripts/",
    "README.md",
    "LICENSE",
    "pyproject.toml",
]

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

[tool.hatch.build.targets.wheel.shared-data]
"tasks" = "share/claw-bench/tasks"
"skills" = "share/claw-bench/skills"
"config" = "share/claw-bench/config"

[project]
name = "claw-bench"
version = "0.1.0"
description = "Standardized evaluation benchmark for the Claw ecosystem"
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
authors = [
    { name = "Claw Bench Contributors" },
]
keywords = ["benchmark", "evaluation", "ai", "agent", "claw"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
]
dependencies = [
    "typer[all]>=0.9",
    "rich>=13",
    "docker>=7",
    "pydantic>=2",
    "tomli>=2",
    "pytest>=8",
    "httpx>=0.27",
    "cryptography",
    "pyyaml>=6",
]

[project.optional-dependencies]
dev = [
    "ruff",
    "mypy",
    "pytest-cov",
]
server = [
    "fastapi>=0.115",
    "uvicorn[standard]>=0.34",
    "websockets>=14",
]

[project.scripts]
claw-bench = "claw_bench.cli.main:app"

[project.entry-points."claw_bench.adapters"]
openclaw = "claw_bench.adapters.openclaw"
ironclaw = "claw_bench.adapters.ironclaw"
zeroclaw = "claw_bench.adapters.zeroclaw"
nullclaw = "claw_bench.adapters.nullclaw"
picoclaw = "claw_bench.adapters.picoclaw"
nanobot = "claw_bench.adapters.nanobot"
qclaw = "claw_bench.adapters.qclaw"
dryrun = "claw_bench.adapters.dryrun"
openai_compat = "claw_bench.adapters.openai_compat"

[tool.pytest.ini_options]
markers = ["slow: marks tests as slow (run with pytest -m slow)"]

[project.urls]
Homepage = "https://github.com/claw-bench/claw-bench"
Repository = "https://github.com/claw-bench/claw-bench"
Documentation = "https://claw-bench.github.io/claw-bench/"
