evalstone/evalscope/pyproject.toml
sora 13274243a0 Bump vendored EvalScope and add K3-ready DPV4 configs.
Keep K3 suite selection and report-schema scoring in bash, merge K3/vision dataset_args into dpv4 yamls, and pin EvalScope at 735d920ee911 with local patches.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 07:30:48 +00:00

136 lines
5.0 KiB
TOML

[project]
name = "evalscope"
dynamic = ["version", "dependencies", "optional-dependencies"]
description = "EvalScope: Lightweight LLMs Evaluation Framework"
readme = {file = "README.md", content-type = "text/markdown"}
license = "Apache-2.0"
authors = [
{name = "ModelScope team"},
{email = "contact@modelscope.cn"}
]
keywords = ["python", "llm", "evaluation"]
requires-python = ">=3.10"
classifiers = [
"Development Status :: 4 - Beta",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
[project.urls]
Homepage = "https://github.com/modelscope/evalscope"
[project.scripts]
evalscope = "evalscope.cli.cli:run_cmd"
[build-system]
requires = ["setuptools>=69", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools]
include-package-data = true
[tool.setuptools.package-data]
"evalscope.web" = ["dist/**/*"]
[tool.setuptools.packages.find]
where = ["."]
include = ["evalscope*"]
exclude = ["evalscope.web.node_modules*", "evalscope.web.src*"]
[tool.setuptools.dynamic]
version = {attr = "evalscope.version.__version__"}
dependencies = {file = ["requirements/framework.txt"]}
[tool.setuptools.dynamic.optional-dependencies]
opencompass = {file = ["requirements/opencompass.txt"]}
vlmeval = {file = ["requirements/vlmeval.txt"]}
rag = {file = ["requirements/rag.txt"]}
perf = {file = ["requirements/perf.txt"]}
app = {file = ["requirements/app.txt"]}
aigc = {file = ["requirements/aigc.txt"]}
sandbox = {file = ["requirements/sandbox.txt"]}
service = {file = ["requirements/service.txt", "requirements/perf.txt"]}
mcp = {file = ["requirements/mcp.txt"]}
dev = {file = ["requirements/dev.txt"]}
docs = {file = ["requirements/docs.txt"]}
ocr_bench = {file = ["evalscope/benchmarks/ocr_bench/requirements.txt"]}
cc_ocr_v2 = {file = ["evalscope/benchmarks/cc_ocr_v2/requirements.txt"]}
omnidoc_bench = {file = ["evalscope/benchmarks/omnidoc_bench/legacy/requirements.txt"]}
olmocr_bench = {file = ["evalscope/benchmarks/olmocr_bench/requirements.txt"]}
maritime_ocr_bench = {file = ["evalscope/benchmarks/maritime_ocr_bench/requirements.txt"]}
miniwob = {file = ["evalscope/benchmarks/miniwob/requirements.txt"]}
ifeval = {file = ["evalscope/benchmarks/ifeval/requirements.txt"]}
ifbench = {file = ["evalscope/benchmarks/ifbench/requirements.txt"]}
multi_if = {file = ["evalscope/benchmarks/multi_if/requirements.txt"]}
olympiad_bench = {file = ["evalscope/benchmarks/olympiad_bench/requirements.txt"]}
needle_haystack = {file = ["evalscope/benchmarks/needle_haystack/requirements.txt"]}
openai_mrcr = {file = ["evalscope/benchmarks/openai_mrcr/requirements.txt"]}
general_arena = {file = ["evalscope/benchmarks/general_arena/requirements.txt"]}
arena_hard = {file = ["evalscope/benchmarks/arena_hard/requirements.txt"]}
air_bench = {file = ["evalscope/benchmarks/air_bench/requirements.txt"]}
caption = {file = ["evalscope/benchmarks/caption/requirements.txt"]}
refcoco = {file = ["evalscope/benchmarks/refcoco/requirements.txt"]}
swe_bench = {file = ["evalscope/benchmarks/swe_bench/requirements.txt"]}
wmt = {file = ["evalscope/benchmarks/wmt/requirements.txt"]}
torgo = {file = ["evalscope/benchmarks/torgo/requirements.txt"]}
terminal_bench = {file = ["evalscope/benchmarks/terminal_bench/requirements.txt"]}
deep_swe = {file = ["evalscope/benchmarks/deep_swe/requirements.txt"]}
toolathlon = {file = ["evalscope/benchmarks/toolathlon/requirements.txt"]}
bfcl = {file = ["evalscope/benchmarks/bfcl/requirements.txt"]}
wide_search = {file = ["evalscope/benchmarks/wide_search/requirements.txt"]}
vtcbench = {file = ["evalscope/benchmarks/vtcbench/requirements.txt"]}
all = {file = [
"requirements/opencompass.txt",
"requirements/vlmeval.txt",
"requirements/rag.txt",
"requirements/perf.txt",
"requirements/app.txt",
"requirements/aigc.txt",
"requirements/service.txt"
]}
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["*test*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = "-s -v"
[tool.ruff]
include = [
"pyproject.toml",
"*.py",
"evalscope/**/*.py",
"scripts/release/**/*.py",
"tests/**/*.py",
]
extend-exclude = [
"docs",
"examples",
"evalscope/utils/utils.py",
"evalscope/third_party",
"evalscope/backend/rag_eval/clip_benchmark/tasks",
"evalscope/backend/rag_eval/cmteb/tasks",
"evalscope/metrics/vision/t2v_metrics",
]
force-exclude = true
line-length = 120
target-version = "py310"
[tool.ruff.lint]
select = ["E", "F", "W", "I"]
ignore = ["E501", "F401"]
[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = ["E402"]
[tool.ruff.format]
exclude = ["tests/**/*.py"]
indent-style = "space"
line-ending = "lf"
quote-style = "single"