Skip to main content

logo

arXiv License DockerHub HuggingFace Leaderboard


FeatureBench combines a feature-level coding benchmark with a fully automated, Universal Coding Data Factory. With one CLI, it continuously discovers GitHub repositories, builds reproducible environments across languages, and generates validated coding tasks for training and evaluation through extensible Adapters.

📰 News

🏭 2026.10.30: We launched a Universal Coding Data Factory—fully automated, language-agnostic, and Adapter-driven—to continuously turn GitHub repositories into validated training data for any coding task format.

📈 2026.10.30: In internal mixed-task RL experiments using data from our Universal Coding Data Factory, Qwen3.8-27B improved SWE-bench Verified Pass@1 from 70.2% to a peak of 79.8% and FeatureBench 1.1 Tests Passed from 50.3% to a peak of 60.3%.

📦 2026.08.24: We released FeatureBench Dataset V1.1, primarily correcting inconsistencies and omissions in task problem statements.

📊 2026.05.18: We added lite split evaluation results for frontier models including GPT-5.5, Claude Opus 4.7, DeepSeek-V4, GLM-5.1, Kimi-2.6, Mimo-V2.5-Pro, and more to the leaderboard.

🚀 2026.03.27: We released the fast split containing 100 instances (a subset of full split). These instances require no GPU and are optimized for rapid evaluation. On an Intel Xeon Platinum 8457C with 944GB RAM, the average evaluation time per instance using gold patches is 57.2 seconds.

🎁 2026.02.06: We added one-click inference for mainstream agent frameworks, including OpenHands, Claude Code, Codex, Gemini CLI, and mini-swe-agent. All supported agent frameworks can be found here.

🏆 Leaderboard

Full interactive leaderboard with tabs, filters, and sorting (Dataset V1.0).

Lite split results, ranked by %PASSED
Rank Model Scaffold %PASSED %RESOLVED
1 Claude Opus 4.7 OpenHands 78.2 46.7
2 GPT-5.5 OpenHands 69.8 26.7
3 Claude Opus 4.6 OpenHands 69.5 20
4 Claude Opus 4.5 OpenHands 67.2 20
5 GPT-5.4 OpenHands 66.2 23.3
6 GPT-5.1-Codex Codex 60.2 20
7 DeepSeek-V4-Pro OpenHands 59.6 26.7
8 Claude Opus 4.5 Claude Code 59.1 20
9 Kimi-2.6 OpenHands 49.4 20
10 Mimo-V2.5-Pro OpenHands 47.8 13.3
11 Gemini-3-Pro-Preview OpenHands 45.1 10
12 GLM-5.1 OpenHands 44.2 13.3
13 Gemini-3-Pro-Preview Gemini-CLI 43.4 10
14 DeepSeek-V4-Flash OpenHands 41.9 16.7
15 MiniMax M2.1 Mini-SWE-Agent 41.9 10
16 GLM 4.7 Mini-SWE-Agent 41.2 6.7
17 Qwen3-Coder-480B-A35B-Instruct OpenHands 38.3 6.7
18 DeepSeek V3.2 OpenHands 35.9 6.7
19 Qwen3.5-27B OpenHands 34.8 10.0
20 Qwen3-Coder-30B-A3B-Instruct OpenHands 23 3.3

🚀 Quickstart

Prerequisites:

  • Python 3.12 or later
  • Docker for reproducible builds and evaluation
  • uv when using uv or installing from source
# Install from PyPI
pip install featurebench

# Or install the CLI with uv
uv tool install featurebench

# Install from source
git clone https://github.com/LiberCoders/FeatureBench.git
cd FeatureBench
uv sync
source .venv/bin/activate

Create config.toml from config_example.toml. From a source checkout:

cp config_example.toml config.toml

Optionally pre-pull the benchmark images:

fb pull --mode fast

Run inference:

fb infer \
    --config-path config.toml \
    --data-version v1.1 \
    --agent mini_swe_agent \
    --model openai/qwen3-coder-480b-a35b-instruct \
    --split fast

Evaluate the generated patches:

fb eval \
    -p runs/<timestamp>/output.jsonl \
    --split fast

🏭 Universal Coding Data Factory

The factory automatically discovers GitHub repositories, builds reproducible environments, and generates validated coding tasks. Adapters define the task format; FeatureBench is included by default. This workflow is optional for benchmark users.

Put provider credentials in .env. From a source checkout:

cp .env.example .env

The default settings work out of the box and can be customized through configs/default/*.yaml or --config.

fb discover
fb build outputs/discover-YYYYMMDD-HHMMSS/repositories.jsonl
fb generate outputs/build-YYYYMMDD-HHMMSS/environments.jsonl \
  --adapter featurebench

🧭 CLI

Benchmark:

Data factory:

  • fb discover finds candidate GitHub repositories (Documentation).
  • fb build creates reusable, validated environments (Documentation).
  • fb generate generates tasks through an Adapter (Documentation).
  • fb configure edits an inactive run before resuming it (Documentation).
  • fb --resume continues an interrupted run (Documentation).

✍️ Citation

If you found FeatureBench useful, please cite us as:

@article{zhou2026featurebench,
  title={FeatureBench: Benchmarking Agentic Coding for Complex Feature Development},
  author={Zhou, Qixing and Zhang, Jiacheng and Wang, Haiyang and Hao, Rui and Wang, Jiahe and Han, Minghao and Yang, Yuxue and Wu, Shuzhe and Pan, Feiyang and Fan, Lue and others},
  journal={arXiv preprint arXiv:2602.10975},
  year={2026}
}

📧 Contact

If you have any questions, feel free to contact qixing.zhou@smail.nju.edu.cn or zjcheng2022@gmail.com.

Metadata

Release files for featurebench 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for featurebench 0.3.0
File Size Uploaded Provenance Actions
featurebench-0.3.0.tar.gz 1.3 MB Without provenance Details for featurebench-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for featurebench 0.3.0
File Interpreter ABI Platform Actions
featurebench-0.3.0-py3-none-any.whl Python 3 none any Details for featurebench-0.3.0-py3-none-any.whl

Total release size: 1.9 MB

Release files / featurebench-0.3.0.tar.gz

Download URL featurebench-0.3.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
75a13f2acf7c09a93d18529df2c0d38d0ed8092af6c8343ddb54e1bd341a5d7f
BLAKE2b-256 checksum
How to use checksums
5b9a00cc06c59a528217780f60e07e462df5a291e3a2250fd1b27581b541e9d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release files / featurebench-0.3.0-py3-none-any.whl

Download URL featurebench-0.3.0-py3-none-any.whl
Size 581.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26699b76a77ce0cab28f282b01e9cefa62605bb8bbe605f5aadc75d9900d79b5
BLAKE2b-256 checksum
How to use checksums
d8cb319d709710e2c7d8e79d76d6024966ea0e8ceaaaba1f74c566da7216e91c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Security for featurebench 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page