evalplus
"EvalPlus for rigourous evaluation of LLM-synthesized code"
What it is and what it does
EvalPlus is a benchmarking and evaluation framework designed to rigorously test code generated by large language models. It extends two popular code-generation benchmarks—HumanEval and MBPP—with significantly more test cases (80x and 35x respectively) to catch edge cases and fragile implementations that simpler test suites miss. Beyond correctness, it includes EvalPerf, a dataset for measuring the efficiency and performance characteristics of generated code.
The framework supports multiple LLM backends (HuggingFace transformers, vLLM, OpenAI, Anthropic, Google Gemini) and can run end-to-end evaluation pipelines: code generation, post-processing, and test execution. It includes Docker-based execution for safe sandboxing of untrusted generated code and provides detailed ranking and scoring to help identify which models produce more robust, production-ready implementations.
Use it for:
- Benchmark and rank LLM code-generation models on standardized test suites with rigorous correctness criteria.
- Evaluate the efficiency of LLM-generated code via performance-exercising tasks and measure runtime/memory characteristics.
- Compare model robustness before and after using EvalPlus tests to identify fragile implementations that pass simple tests.
- Run safe, isolated evaluation of untrusted model-generated code using Docker sandboxing.
- Integrate code-generation evaluation into CI/CD pipelines for continuous model quality monitoring.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
EvalPlus provides a rigorous evaluation framework for code generated by large language models, with extended test suites (HumanEval+, MBPP+) and performance benchmarking (EvalPerf) to assess both correctness and efficiency.
Yes, if you are evaluating or benchmarking LLM code-generation models. The extended test suites and multi-backend support make it the standard tool for rigorous code-generation assessment. The aging maintenance status (663 days since release) is a minor concern but not a blocker—the repository remains active and the framework is stable. Install friction is low and there are no known vulnerabilities.
Install
evalplus on PyPI
pip
pip install evalplusuv
uv add evalpluspoetry
poetry add evalplusInstalling evalplus
Before you install
Low install friction with a pure-Python wheel. Maintenance status is aging (663 days since last release), though the repository remains active with recent commits and moderate community engagement (1798 stars).
License in practice
Apache-2.0 is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install evalplus
# Evaluate a model on HumanEval+
evalplus.evaluate --model "ise-uiuc/Magicoder-S-DS-6.7B" \
--dataset humaneval \
--backend hf \
--greedy
Requires Python >= 3.9. Code execution evaluation may require Docker for safety; EvalPerf (efficiency evaluation) is Unix-only and requires perf event access.
Verify before relying
- Whether all 18 runtime dependencies are required for basic evaluation or only for specific backends (vllm, openai, anthropic, etc.)
- Current status of the leaderboard and whether benchmark data is actively maintained post-v0.3.1
- Compatibility of tree-sitter-python with recent Python versions and whether it adds significant install complexity
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 18 — wget, tempdir, multipledispatch, appdirs, numpy, tqdm, termcolor, fire, openai, tree-sitter, tree-sitter-python, rich, transformers, stop-sequencer, anthropic, google-generativeai, datasets, psutil |
| Maintenance | aging — 663 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 159,707/month — #10,690 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: evalplus-0.3.1-py3-none-any.whl
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
lm-evalUnified framework for evaluating generative…
permissive · top 5,000 on PyPI
deepevalDeepEval is an LLM evaluation framework that…
permissive · top 5,000 on PyPI
inspect-evalsInspect Evals provides a repository of…
permissive · top 5,000 on PyPI
arize-phoenix-evalsPhoenix Evals provides composable building…
unclear · top 5,000 on PyPI
bfcl-evalEvaluates and benchmarks large language models'…
permissive · top 15,000 on PyPI
autoevalsAutoevals provides automatic evaluation methods…
unclear · top 5,000 on PyPI
vllmvLLM is a high-throughput inference and serving…
permissive · top 5,000 on PyPI
vllm-tpuvllm-tpu is a high-throughput LLM inference and…
permissive · top 15,000 on PyPI
openevalsOpenEvals provides a framework for writing and…
permissive · top 5,000 on PyPI
unitxtUnitxt provides a unified framework for…
permissive · top 15,000 on PyPI