Skip to main content

karotte

karotte runs LLM agents on tasks and scores the results.

You write an environment: a Python project with one or more tasks. A task is a list of steps. Each step gives the agent instructions and a judge that decides whether the agent succeeded. karotte builds the environment into a container image, lets the model work inside it through tools like bash, and records every message, tool call and score in a transcript.

The agent runs as an unprivileged user with its own resource limits, a firewall, and a disk quota, so a task can hand it a real shell without trusting it. The model under test is called the student.

Documentation: karotte.dev

Install

karotte needs Python 3.12+ and uv. Runs go into a VM by default: Apple container on macOS, Firecracker on Linux. docker or podman work too. See Installation and Runtimes for what each needs.

uv tool install karotte

Quick start

Create an environment from the default template and run its example task:

karotte create-env my_env
cd my_env
uv sync --extra dev
uv run setup_data.py
uv run karotte create-run-config --model anthropic/claude-fable-5
export ANTHROPIC_API_KEY=...
uv run karotte run --config run_config.json

karotte run builds the image, runs the task, and writes the transcript to out/transcript.json. karotte dashboard out/ shows it. The quick start explains each step, and Writing tasks shows how to add your own.

Development

just lint
just test
just test-template default

Every merge to main is released. See Developing karotte.

License

karotte is under the MIT license. The templates in src/karotte/templates/ are under MIT No Attribution (MIT-0), so environments created from them need no license notice.

Third-party software in built images

Images built from the templates contain third-party software under its own licenses. They are based on Amazon Linux 2023. The language-toolchains template installs GPL and LGPL software (gcc, GnuCOBOL, GNU Prolog, Free Pascal, the libraries bundled with Julia, and others), Amazon Corretto (GPL-2.0 with the Classpath Exception) and Clojure (EPL-1.0) for the languages you enable. Mojo, off by default, has its own license terms; check them for the version you enable. If you distribute a built image, you're responsible for complying with the licenses of the software in it.

Metadata

Release files for karotte 3.0.34

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

Source distribution (sdist)

Source distribution for karotte 3.0.34
File Size Uploaded
karotte-3.0.34.tar.gz 385.4 kB Details

Built distribution (wheel)

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

Total release size: 863.4 kB

Release files / karotte-3.0.34.tar.gz

Download URL karotte-3.0.34.tar.gz
Size 385.4 kB
Tags Source
SHA-256 checksum
How to use checksums
be184f00a2460018c0dd2c1f22082dfa20ea0d74d206d194a656bd62a1f33a03
BLAKE2b-256 checksum
How to use checksums
5fcf5f1f9c16367f84455a9de7044255172420a246a608370e58892bd3351dc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / karotte-3.0.34-py3-none-any.whl

Download URL karotte-3.0.34-py3-none-any.whl
Size 478.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4abcd925015fc5e721a871109fa77985bdd5195412a2a389ac0a693c6ac1c2b8
BLAKE2b-256 checksum
How to use checksums
885124be70527c59ce38dc0249a10fe1b504be12bb70f276c40822e15547f986
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

3.0.34 This release

2 release files

3.0.9

2 release files

3.0.7

2 release files

3.0.6

2 release files

3.0.5

2 release files

3.0.4

2 release files

0.0.1

1 release file

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