Opinionated AI model benchmark aggregator.
Aggregates AI model benchmark data from 8 trusted sources into a unified JSON schema. Designed for AI agents (Claude Code, etc.) to consume programmatically. Caches results for 24h to avoid rate limiting.
| Source | Type | Data |
|---|---|---|
| Artificial Analysis | agent-browser scrape | Intelligence index, speed, pricing |
| LM Arena (LMSYS) | Community JSON | ELO ratings from human preferences |
| SWE-bench | GitHub JSON | Code generation resolve rates |
| SWE-rebench | agent-browser scrape | Code generation resolve rates (rebench variant) |
| Aider | GitHub YAML | Polyglot coding benchmark pass rates |
| LiveBench | HuggingFace API | Multi-domain benchmark scores |
| Terminal-Bench | HuggingFace YAML | Terminal/CLI task completion |
| SEAL | agent-browser scrape | Scale AI multi-benchmark evaluations |
Note: Sources marked "agent-browser scrape" require the
agent-browserCLI. All other sources work out of the box. LiveBench data depends on the upstream HuggingFace dataset which may lag behind other sources.
cargo install pondus
pondus rank # rank all models (default command)
pondus # same as `pondus rank`
pondus rank --top 10 # top 10 only
pondus check claude-opus-4.6 # check one model across all sources
pondus compare gpt-5.2 claude-opus-4.6 # head-to-head comparison
pondus sources # show source status
pondus refresh # clear cache and re-fetch| Flag | Description |
|---|---|
| `--format json | table |
--refresh |
Bypass cache for this run |
Config location: ~/.config/pondus/config.toml
[cache]
ttl_hours = 24
[alias]
path = "models.toml" # relative to config dir, or absolute path
[sources.artificial_analysis]
api_key = "your-key" # optional, for AA source
[sources.agent_browser]
path = "agent-browser" # path to agent-browser CLIDifferent benchmarks use different naming conventions. models.toml maps canonical model names to source-specific variants:
[claude-opus-4_6]
canonical = "claude-opus-4.6"
aliases = [
"Claude Opus 4.6",
"claude-opus-4-6",
"anthropic/claude-opus-4.6",
"Opus 4.6",
]When you run pondus check opus-4.6, pondus resolves the alias to the canonical name and matches across all sources. Prefix matching also works automatically — gemini-2.5-pro-preview-06-05 matches gemini-2.5-pro since the suffix starts with -. PRs welcome to add new models.
Default JSON output:
{
"timestamp": "2026-02-27T10:30:00Z",
"query": { "query_type": "rank" },
"sources": [
{
"source": "arena",
"status": "ok",
"scores": [
{ "model": "gpt-5.2", "rank": 1, "metrics": { "elo": 1350 } }
]
}
]
}- Add a model: Add an entry to
models.tomlwith canonical name and known aliases - Add a source: Implement the
Sourcetrait insrc/sources/
PRs welcome.
MIT
Part of a family of AI-augmented CLI tools: