verifiers 0.1.14


pip install verifiers

  Latest version

Released: May 07, 2026


Meta
Author: William Brown
Requires Python: <3.14,>=3.10

Classifiers

Development Status
  • 4 - Beta

Intended Audience
  • Developers
  • Science/Research

License
  • OSI Approved :: MIT License

Programming Language
  • Python :: 3
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13

Topic
  • Scientific/Engineering :: Artificial Intelligence
  • Software Development :: Libraries :: Python Modules

Prime Intellect


Verifiers: Environments for LLM Reinforcement Learning

DocumentationEnvironments HubPRIME-RL


Style Test Envs

News & Updates

  • [04/17/26] v0.1.12 is released, featuring a new composable Task/Agent/Environment architecture, upstreamed opencode and RLM harnesses/tasksets, major RLMEnv improvements (context dropping, prompt builder, hardened transport), multi-worker env server support, expanded vf-tui capabilities, and richer eval configuration.
  • [03/12/26] v0.1.11 is released, featuring a unified client stack, major RLMEnv and env server reliability improvements, a substantially refined eval TUI, new pass@k and ablation sweep support, and bundled opencode environments.
  • [02/10/26] v0.1.10 is released, featuring OpenEnv and BrowserEnv integrations, resumed evals, improved rollout and token tracking, safer sandbox lifecycle behavior, refreshed workspace setup, and opencode harbor improvements.
  • [01/08/26] v0.1.9 is released, featuring a number of new experimental environment class types, monitor rubrics for automatic metric collection, improved workspace setup flow, improved error handling, bug fixes, and a documentation overhaul.
  • [11/19/25] v0.1.8 is released, featuring a major refactor of the rollout system to use trajectory-based tracking for token-in token-out training across turns, as well as support for truncated or branching rollouts.
  • [11/07/25] Verifiers v0.1.7 is released! This includes an improved quickstart configuration for training with prime-rl, a new included "nano" trainer (vf.RLTrainer, replacing vf.GRPOTrainer), and a number of bug fixes and improvements to the documentation.
  • [10/27/25] A new iteration of the Prime Intellect Environments Program is live!

Overview

Verifiers is our library for creating environments to train and evaluate LLMs.

Environments contain everything required to run and evaluate a model on a particular task:

  • A dataset of task inputs
  • A harness for the model (tools, sandboxes, context management, etc.)
  • A reward function or rubric to score the model's performance

Environments can be used for training models with reinforcement learning (RL), evaluating capabilities, generating synthetic data, experimenting with agent harnesses, and more.

Verifiers is tightly integrated with the Environments Hub, as well as our training framework prime-rl and our Hosted Training platform.

Getting Started

Ensure you have uv installed, as well as the prime CLI tool:

# install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# install the prime CLI
uv tool install prime
# log in to the Prime Intellect platform
prime login

To set up a new workspace for developing environments, do:

# ~/dev/my-lab
prime lab setup 

This sets up a Python project if needed (with uv init), installs verifiers (with uv add verifiers), creates the recommended workspace structure, and downloads useful starter files:

configs/
├── endpoints.toml      # OpenAI-compatible API endpoint configuration
├── rl/                 # Example configs for Hosted Training
├── eval/               # Example multi-environment eval configs
└── gepa/               # Example configs for prompt optimization
.prime/
└── skills/             # Bundled workflow skills for create/browse/review/eval/GEPA/train/brainstorm
environments/
└── AGENTS.md           # Documentation for AI coding agents
AGENTS.md               # Top-level documentation for AI coding agents
CLAUDE.md               # Claude-specific pointer to AGENTS.md

Alternatively, add verifiers to an existing project:

uv add verifiers && prime lab setup --skip-install

Environments built with Verifiers are self-contained Python modules. To initialize a fresh environment template, do:

prime env init my-env # creates a new template in ./environments/my_env

For OpenEnv integration, use:

prime env init my-openenv --openenv

Then copy your OpenEnv project into environments/my_openenv/proj/ and build the image with:

uv run vf-build my-openenv

This will create a new module called my_env with a basic environment template.

environments/my_env/
├── my_env.py           # Main implementation
├── pyproject.toml      # Dependencies and metadata
└── README.md           # Documentation

Environment modules should expose a load_environment function which returns an instance of the Environment object, and which can accept custom arguments. For example:

# my_env.py
import verifiers as vf

def load_environment(dataset_name: str = 'gsm8k') -> vf.Environment:
    dataset = vf.load_example_dataset(dataset_name) # 'question'
    async def correct_answer(completion, answer) -> float:
        completion_ans = completion[-1]['content']
        return 1.0 if completion_ans == answer else 0.0
    rubric = vf.Rubric(funcs=[correct_answer])
    env = vf.SingleTurnEnv(dataset=dataset, rubric=rubric)
    return env

For composable environments with reusable tasksets, toolsets, custom programs, or custom harnesses, use the v1 BYO Harness path:

# my_env.py
import verifiers.v1 as vf

def source():
    yield {
        "prompt": [{"role": "user", "content": "Reverse abc."}],
        "answer": "cba",
        "max_turns": 1,
    }

@vf.reward(weight=1.0)
async def contains_answer(task, state) -> float:
    return float(task["answer"] in str(state.get("completion") or ""))

def load_taskset(config: vf.TasksetConfig | None = None):
    return vf.Taskset(source=source, rewards=[contains_answer], config=config)

def load_environment(config: vf.EnvConfig | None = None) -> vf.Env:
    config = config or vf.EnvConfig()
    return vf.Env(taskset=load_taskset(config=config.taskset))

If no harness is passed, vf.Env uses the base endpoint-backed harness. See BYO Harness for the advanced v1 taskset/harness API. Reusable taskset and harness packages live under verifiers.v1.packages while the v1 API stabilizes, and are re-exported from verifiers.v1 for normal use. For example, Harbor task directories can run through the bundled OpenCode CLI harness with:

env = vf.Env(
    taskset=vf.HarborTaskset(tasks="/path/to/harbor/tasks"),
    harness=vf.OpenCode(),
)

The same environment package is the unit used by evals and prime-rl. The trainer owns model, endpoint, sampling, and rollout count; v1-specific taskset and harness options stay under env.taskset and env.harness:

# configs/rl/my-v1-env.toml
model = "Qwen/Qwen3-30B-A3B-Instruct-2507"
max_steps = 100
batch_size = 256
rollouts_per_example = 8

[sampling]
max_tokens = 4096

[[env]]
id = "my-env"

[env.args]
arg1 = "non-th-arg"

[env.harness]
max_turns = 1

[env.taskset.scoring.contains_answer]
weight = 1.0
prime env install my-env
uv run prime-rl configs/rl/my-v1-env.toml

To install the environment module into your project, do:

prime env install my-env # installs from ./environments/my_env

To install an environment from the Environments Hub into your project, do:

prime env install primeintellect/math-python

To run a local evaluation with any OpenAI-compatible model, do:

prime eval run my-env -m openai/gpt-5-nano # run and save eval results locally

Evaluations use Prime Inference by default; configure your own API endpoints in ./configs/endpoints.toml.

View local evaluation results in the terminal UI:

prime eval tui

To publish the environment to the Environments Hub, do:

prime env push --path ./environments/my_env

To run an evaluation directly from the Environments Hub, do:

prime eval run primeintellect/math-python

Documentation

Environments — Create datasets, rubrics, and custom multi-turn interaction protocols.

BYO Harness — Build composable v1 taskset/harness environments with custom tools, sandboxes, users, and custom programs.

Evaluation - Evaluate models using your environments.

Training — Train models in your environments with reinforcement learning.

Development — Contributing to verifiers

API Reference — Understanding the API and data structures

FAQs - Other frequently asked questions.

Citation

Originally created by Will Brown (@willccbb).

If you use this code in your research, please cite:

@misc{brown_verifiers_2025,
  author       = {William Brown},
  title        = {{Verifiers}: Environments for LLM Reinforcement Learning},
  howpublished = {\url{https://github.com/PrimeIntellect-ai/verifiers}},
  note         = {Commit abcdefg • accessed DD Mon YYYY},
  year         = {2025}
}
0.1.15.dev8 May 22, 2026
0.1.15.dev7 May 15, 2026
0.1.15.dev6 May 14, 2026
0.1.15.dev5 May 14, 2026
0.1.15.dev4 May 14, 2026
0.1.15.dev3 May 13, 2026
0.1.15.dev2 May 13, 2026
0.1.15.dev1 May 12, 2026
0.1.15.dev0 May 12, 2026
0.1.14 May 07, 2026
0.1.13.dev8 Apr 28, 2026
0.1.13.dev7 Apr 24, 2026
0.1.13.dev6 Apr 23, 2026
0.1.13.dev5 Apr 22, 2026
0.1.13.dev4 Apr 22, 2026
0.1.13.dev3 Apr 19, 2026
0.1.13.dev2 Apr 19, 2026
0.1.13.dev1 Apr 18, 2026
0.1.12 Apr 17, 2026
0.1.12.dev6 Apr 15, 2026
0.1.12.dev5 Apr 14, 2026
0.1.12.dev4 Apr 13, 2026
0.1.12.dev3 Apr 07, 2026
0.1.12.dev2 Apr 01, 2026
0.1.12.dev1 Mar 25, 2026
0.1.12.dev0 Mar 22, 2026
0.1.11 Mar 13, 2026
0.1.11.dev1 Mar 02, 2026
0.1.11.dev0 Feb 14, 2026
0.1.10 Feb 11, 2026
0.1.10.dev5 Feb 10, 2026
0.1.10.dev4 Feb 09, 2026
0.1.10.dev3 Feb 08, 2026
0.1.10.dev2 Feb 04, 2026
0.1.10.dev1 Feb 04, 2026
0.1.10.dev0 Jan 17, 2026
0.1.9.post3 Jan 14, 2026
0.1.9.post2 Jan 10, 2026
0.1.9.post1 Jan 10, 2026
0.1.9.post0 Jan 08, 2026
0.1.9 Jan 08, 2026
0.1.8.post2 Dec 11, 2025
0.1.8.post1 Nov 26, 2025
0.1.8.post0 Nov 25, 2025
0.1.8 Nov 19, 2025
0.1.7.post0 Nov 07, 2025
0.1.7 Nov 07, 2025
0.1.6.post0 Oct 21, 2025
0.1.6 Oct 21, 2025
0.1.5.post0 Oct 09, 2025
0.1.5 Oct 08, 2025
0.1.5.dev1 Sep 30, 2025
0.1.5.dev0 Sep 30, 2025
0.1.4 Sep 22, 2025
0.1.3.post0 Sep 05, 2025
0.1.3 Aug 26, 2025
0.1.2.post1 Aug 23, 2025
0.1.2.post0 Aug 09, 2025
0.1.2 Jul 31, 2025
0.1.1 Jun 18, 2025
0.1.0 Jun 05, 2025
0.0.0 Jan 28, 2025

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies:
aiolimiter (>=1.2.1)
anthropic (>=0.78.0)
datasets (<4.7.0,>=3.0.0)
gepa
httpx (>=0.27.0)
jinja2 (>=3.1.6)
math-verify (>=0.8.0)
mcp (>=1.14.1)
msgpack (>=1.1.2)
nest-asyncio (>=1.6.0)
numpy
openai-agents (>=0.0.7)
openai (>=1.108.1)
prime-sandboxes (>=0.2.21)
prime-tunnel (>=0.1.6)
pydantic (>=2.11.9)
pyzmq (>=27.1.0)
regex (<2026.4.4)
requests
rich
setproctitle (>=1.3.0)
tenacity (>=8.5.0)
textual
tomli
typing-extensions
wget (>=3.2)