Today we're releasing the open-source Quantiles CLI and Python SDK, a local-first infrastructure for running AI evaluation workflows. It's built for the development loop where evaluations are run, compared, inspected, and analyzed for applied AI systems.

Developers and coding agents can get started by installing the CLI:

Read the docsGitHub

Evaluation workflows quickly outgrow one-off scripts once teams need reproducible evals, durable execution, dataset and configuration tracking, baseline comparison, sample-level failure analysis, and metric analysis across smoke tests, ablations, and full-scale eval runs. Quantiles provides those primitives as local-first infrastructure, letting teams write standard Python to run evaluation workflows from the CLI. Each run automatically captures metrics, events, inputs, outputs, and execution history in the local workspace. Teams can inspect individual samples, resume interrupted or failed eval runs with cached work, and compare results directly from the CLI.

Run an eval out of the box

Quantiles includes built-in benchmarks, with two examples below so you can try the workflow without configuring a model or dataset. These examples use a built-in demo model so there are no inference costs. They show how Quantiles runs evaluations, summarizes aggregate metrics, compares evals, and displays sample-level results.

Run the example evaluation locally with:
$ qt run simpleqa-verified
# 1,000 verified factoid prompts for short-form factuality
$ qt run pubmedqa
# Biomedical yes/no/maybe QA grounded in PubMed abstracts

The Quickstart walks through the full workflow whether you want to run a built-in benchmark and run your own custom evaluation.

Use Quantiles with coding agents

Quantiles is designed to work natively with coding agents such as Codex, Claude Code, Cursor, GitHub Copilot, Gemini CLI, OpenCode, and other agentic development tools.

The Agent Quickstart documentation provides details on installing the skill, common agentic workflows, and advanced agent integration. The two prompts below are a quick way to get started.

Use the prompt below to set up your coding agent with the Quantiles CLI and agent skill:

After your agent completes the install, have it run its first benchmark using the following prompt:

This prompt uses a local demo model to validate the evaluation workflow and generates random text without hosted provider calls or inference costs.

Python SDK

Quantiles includes a Python SDK that provides a Pythonic API for using Quantiles built-in workflow primitives like durable steps, structured inputs/outputs, and metrics emission. These primitives help you write custom evals that are more reliable, efficient, reproducible, faster to build, and easier for agents to build. The SDK integrates tightly with theqt CLI for running, recording, analyzing custom evaluations.

Install the Python SDK with your preferred dependency management system. We recommend using the uv tool:

For custom evaluations, the Python SDK lets you load datasets, validate rows with Pydantic, call a model or agent, score each sample, and emit metrics. Each operation can be wrapped in a durable step, so interrupted eval runs can resume without repeating completed model calls. For larger datasets, helpers like the dataset and map_dataset functions provide typed row loading, batching, and bounded concurrency, all while preserving the run history that qt show and qt compare inspect later.

Combined with the Quantiles skill, this infrastructure makes it easier for coding agents to create custom evaluations and analyze results using the qt workflow.

Local-first, offline by default

Quantiles is designed around a local-first, offline toolchain that lets teams run evaluations with local compute and storage without needing to deploy (and pay for) hosted infrastructure or manage complex cloud environments.

The qt CLI and Python SDK run evaluation code on your machine, store metadata in a SQLite database, and keep metrics and evaluation outputs in open analytics formats on disk. Commands like qt show and qt compare read from those local artifacts, so iterating on and analyzing evals is fast and reproducible. Network access is only required when the workflow itself depends on a remote service, such as an LLM provider or an external dataset source.

Get Started

The qt CLI and the rest of the Quantiles stack move the evaluation loop as close to you and your agent as possible. Use the Quickstart for a minimal manual setup, or the Agent Quickstart to delegate setup to a coding agent. CLI commands are consistent across both paths, so commands for running, comparing, and analyzing evals work whether you run everything yourself, choose an agent-first workflow, or a combination of both.

We’re excited to share Quantiles as open-source evaluation infrastructure for measuring AI systems behavior and making evidence-based decisions as models, prompts, and workflows evolve.

We’ll be sharing ongoing updates on GitHub, and we'd welcome your contributions.

FAQs

Common questions this article helps answer

What does Quantiles add if I already have eval scripts or an internal harness?
Quantiles gives an existing Python or shell harness the parts that you'd otherwise need to rebuild yourself: durable execution, sample-level records, metric history, resume behavior, and local comparisons. Your harness still owns dataset loading, model calls, grading, and scoring, while qt run, qt show, and qt compare make each run resilient to failure, efficient, inspectable and comparable. The CLI-first workflow is also designed to work natively with coding agents, which can run evals, inspect outputs, and repeat the same steps consistently.
What run-level and sample-level data does Quantiles store locally?
At the run level, Quantiles stores the run ID, eval name, status, timestamps, error state, workflow input, workflow output, emitted metrics, and lifecycle events. At the sample level, Quantiles records durable step data such as step keys, status, input hashes, timestamps, metrics, and captured step outputs used for resume behavior and comparisons. Run metadata are stored in a SQLite database under the local .quantiles/ directory, while metrics are stored in local Parquet files that qt show and qt compare query locally.
Can Quantiles run custom evaluations, or only built-in benchmarks?
Quantiles supports both. Built-in benchmarks are packaged evals that are useful for quick validation, examples, and repeatable baseline checks. Custom evaluations let your Python custom eval do its own dataset loading, model calls, grading, and metrics. For Python-based custom evals, the Python SDK provides APIs for typed datasets, durable steps, structured outputs, and metric emission.
How does Quantiles fit into coding-agent workflows and CI?
Coding agents can install the CLI, run evals, inspect failures, compare evals, resume runs, and analyze results using the same commands a developer would use locally. The Agent Quickstart shows the setup flow, and the Quantiles skill repo gives coding agents a reusable workflow guide.
Can I use my existing model providers, local models, or internal endpoints?
Yes. Quantiles runs evaluation workflows rather than forcing all model calls through one hosted backend. Configuration supports provider-prefixed models such as openai:, anthropic:, gemini:, and cloudflare_ai_gateway: and reads sensitive API keys and other credentials from the environment. Custom Python evals can also call a local model server, internal endpoint, hosted provider, or custom agent harness, but still store all eval data and observe/compare evals with the same tooling.
What is the open-source license with which Quantiles is distributed?
Quantiles is distributed under the Apache 2.0 license. The source code, license, issues, and contribution history are available in the Quantiles GitHub repository.