Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 1.0.1 instead.

ToolCallBench

Find out which local language model calls tools reliably on your own machine.

ToolCallBench gives a model six tools (read, list, search, edit, patch, run a command) and 20 small tasks on a sample Python project. It checks the results with plain code, not with another model, and writes a report that compares models and quantization levels.

It is tuned for a MacBook M4 with 16 GB of memory running Ollama, and works with any OpenAI-compatible local server (llama.cpp, LM Studio, vLLM).

Install and run

pip install toolcallbench

mkdir my-bench && cd my-bench
toolcallbench init                                  # creates configs/ with example settings

Edit configs/my-models.yaml and list the models you have pulled in Ollama, then:

toolcallbench doctor --probe --config configs/my-models.yaml   # check Ollama, models, tool calling
toolcallbench run --config configs/my-models.yaml              # run the 20 tasks
toolcallbench sessions                                         # list past runs
toolcallbench report --session <id>                            # Markdown + HTML report in ./results/reports

Every setting can also be given as an argument, and arguments override the config file:

toolcallbench run --model qwen3:8b --model gemma4:e4b --repeats 3 --num-ctx 16384 --groups read,edit
toolcallbench run --help

Other commands: toolcallbench list-tasks, toolcallbench validate-tasks, toolcallbench init --with-tasks (copies the tasks and sample repo so you can edit them; a folder with its own tasks/ and fixtures/repo/ uses them instead of the built-in ones). Results are written to ./results.

No model yet? toolcallbench run --backend scripted --repeats 1 runs the whole pipeline without one.

Ollama must be running (ollama serve) with the models pulled (ollama pull qwen3:8b). On a 16 GB Mac, start from the m4-16gb.yaml example config. See docs/USER_GUIDE.md.

Develop

git clone <repo> && cd toolcallbench
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
python -m pytest

What a report tells you

  • Pass rate overall and for read, edit, run, chain and failure tasks
  • Why runs failed (13 failure types, such as invalid_json, text_tool_call, patch_failed)
  • Tokens per second, seconds per task, and calls compared with a reference solution
  • Every setting that affects the result (context length, seed, KV cache type, versions)

Status

Version 1.0.0. The harness, tasks, scoring, backends (checked against mock servers) and reports are covered by automated tests. No real model has been benchmarked yet; run it on your Mac to get the first numbers (docs/TEST_PLAN.md lists exactly what was and was not tested).

Documentation

Document Purpose
BUILD_FROM_SCRATCH.md Day-by-day guide to build this project yourself, with all code
docs/PRD.md Why it exists, who it is for, requirements
docs/TECH_SPEC.md Exact behavior: tools, scoring, config, storage
docs/ARCHITECTURE.md Diagrams: context, components, data flow, sequence, states, storage
docs/TEST_PLAN.md What is tested and how requirements map to tests
docs/SECURITY.md What protects you and what does not
docs/DECISIONS.md Why it is built this way
docs/USER_GUIDE.md Install, run, read the report, troubleshoot
docs/CLI_REFERENCE.md Every command, option and config key
docs/MODEL_GUIDE_M4_16GB.md Memory budget and model choices for 16 GB
docs/TASK_CATALOG.md All 20 tasks (generated)
docs/ROADMAP.md, CHANGELOG.md, CONTRIBUTING.md Project housekeeping

License

MIT

Metadata

Release files for toolcallbench 1.0.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 toolcallbench 1.0.0
File Size Uploaded Provenance
toolcallbench-1.0.0.tar.gz 50.0 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 108.4 kB

Release files / toolcallbench-1.0.0.tar.gz

Download URL toolcallbench-1.0.0.tar.gz
Size 50.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a2d7c11aa54c585b3665cb349b2e507759930f1d8be4a887942511cc0d2cc3a0
BLAKE2b-256 checksum
How to use checksums
12f0b359e0dc7e9ff5d2af575540bc010934d3cccee10b488942bfb01ee04768
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / toolcallbench-1.0.0-py3-none-any.whl

Download URL toolcallbench-1.0.0-py3-none-any.whl
Size 58.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6daa6377851ff180af52df4a2f993f610f4e12f0e9a4e13c4d2f27b43424a0a1
BLAKE2b-256 checksum
How to use checksums
f9bd132b3970f279f6448a39cdd22817e04c70cde69aba46ccc228bfb7224e00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Security for toolcallbench 1.0.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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

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