[build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [project] name = "evalharness" version = "0.1.0" description = "A plugin-based LLM/agent evaluation harness (data layer first)" requires-python = ">=3.10" dependencies = ["pydantic>=2"] [project.optional-dependencies] hub = ["datasets"] # HuggingFace-hosted datasets parquet = ["pyarrow"] # parquet sources (ModelScope/HF raw mirrors) math = ["sympy", "pylatexenc"] # symbolic math grading (aime/math family), official PRM800K logic exec = ["numpy", "scipy"] # DROP official aligner (linear_sum_assignment) bfcl = ["bfcl-eval", "soundfile"] # OFFICIAL bfcl ast_checker (heavy: pulls 5 cloud SDKs + # qwen-agent; native scorer is the dependency-free default) all = ["datasets", "pyarrow", "sympy", "pylatexenc", "numpy", "scipy"] # everything conflict-free [project.scripts] evalharness = "evalharness.cli:main" [tool.setuptools.packages.find] include = ["evalharness*"] [tool.setuptools.package-data] "*" = ["*.jsonl", "*.json", "*.csv", "*.tsv"]