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.33

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.33
File Size Uploaded
karotte-3.0.33.tar.gz 385.3 kB Details

Built distribution (wheel)

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

Total release size: 863.1 kB

Release files / karotte-3.0.33.tar.gz

Download URL karotte-3.0.33.tar.gz
Size 385.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0e8cfbd8736bd969132583cf9cf7c7444040474380364017ccda17ed82d2cd65
BLAKE2b-256 checksum
How to use checksums
ddacda26dfc0f46d1abc541f20e8013d7d7fe00d0b4b542da14f5280c49ac466
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.33-py3-none-any.whl

Download URL karotte-3.0.33-py3-none-any.whl
Size 477.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9effd5d116b299301948341af8960c7ef9fc4a6209791f32a0c04920d7c5553d
BLAKE2b-256 checksum
How to use checksums
eea1d562d2f369add8e1668b8fe5eee80ae0bdd73869bc1127cac37e96cc627d
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.33 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