Skip to main content

Yuclid

Combinatorially explode your experiments

Yuclid is a command-line tool with a Web UI for orchestrating and visualizing experiments across irregular, N-dimensional parameter spaces. It collects custom metrics in a single JSONL file for easy post-processing. Yuclid builds the Cartesian product of the dimensions you define and runs an experiment at each point in that space. Experiments can be monitored and steered in real-time via CLI or Web UI.

Check out the examples.

Watching a run of the mandelbrot example in the Web UI

Installation

Requires python >= 3.10

Development head:

pip install git+https://github.com/fsossai/yuclid.git

Stable release:

pip install yuclid

Overview

The main workflow is to run an experiment, watch or steer it while it is in progress, then inspect and visualize the resulting dataset.

Run and monitor experiments

  • yuclid run builds the configured space, executes every selected point, and writes its dimensions and metrics to JSON Lines or CSV.
  • yuclid serve opens the browser interface for watching, launching, and steering runs recorded in the current directory.
  • yuclid status reports the progress of a live run; --watch keeps the report current until it ends.
  • yuclid runs lists recent recorded runs and their result files.

Steer a live run

  • yuclid pause and yuclid resume temporarily stop and continue scheduling work.
  • yuclid drop removes matching points from the remaining plan; yuclid add restores them or extends the plan with new values.
  • yuclid repeat changes the repetition count for remaining points, and yuclid order changes their traversal order.
  • yuclid kill abandons a point or repetition currently in flight; yuclid stop ends the run and interrupts its active commands.

Revisit recorded runs

  • yuclid finish measures the points a previous run left without results.
  • yuclid replay optimistically runs a previous run again, preserving its intended points and repetitions while retrying failures.

Inspect and visualize results

  • yuclid describe summarizes a result file and reports missing points.
  • yuclid plot explores slices of a dataset in a graphical interface.
  • yuclid tplot provides the interactive plotter in a terminal.
  • yuclid stats plots the distribution of a selected metric.

A plot puts one dimension on the horizontal axis, uses another for the series, and leaves the rest free. The arrow keys walk through those, so one command is a whole family of plots rather than a single picture — which is what the two animations below are stepping through:

yuclid plot results.jsonl -x threads -z schedule -y seconds -R threads=1 schedule=static compiler=gcc -r -l -A

Speedup by thread count and schedule, stepping through compiler and image size

yuclid plot results.jsonl -x threads -z compiler -y seconds -A

Seconds by thread count and compiler, stepping through schedule and image size

Agent integration

  • yuclid skills installs or uninstalls Yuclid's configuration and plotting skills for Codex, Claude, or a custom Agent Skills directory.

Run yuclid <command> --help for the complete options of any subcommand.

Configuration

See Configuration.

Skills

Yuclid includes skills for agents that support the Agent Skills format. A few examples of how to install them:

yuclid skills install --agent codex                 # Codex, user-wide
yuclid skills install --agent claude                # Claude, user-wide
yuclid skills install --directory .agents/skills    # custom or project directory
  • yuclid-config writes and fixes a configuration: the space, the trials, and the commands that extract metrics from their output.
  • yuclid-plot reads a result file, suggests useful views, and produces ready-to-run yuclid plot, tplot, and stats commands.

Reproducible scripts

yuclid run --compile experiment.sh writes a shell script instead of running anything. Every point of the space is unrolled, so the script contains no loops and no branches — just the commands, in the order yuclid would have run them:

yuclid run -p quick --compile experiment.sh
sh experiment.sh                    # no yuclid, no configuration needed

Metadata

Release files for yuclid 0.4.5

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

Source distribution (sdist)

Source distribution for yuclid 0.4.5
File Size Uploaded
yuclid-0.4.5.tar.gz 155.6 kB Details

Built distribution (wheel)

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

Total release size: 317.4 kB

Release files / yuclid-0.4.5.tar.gz

Download URL yuclid-0.4.5.tar.gz
Size 155.6 kB
Tags Source
SHA-256 checksum
How to use checksums
89d6964291dc8fa009eff68338ab059538846bca6c4245c74725e8c87f07ec82
BLAKE2b-256 checksum
How to use checksums
c2ba0f9e28d9759bdcaaf33757003687bc618c2c64945c51b5379c69a0ddbf9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / yuclid-0.4.5-py3-none-any.whl

Download URL yuclid-0.4.5-py3-none-any.whl
Size 161.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bdc74caf6a2e5d839f2c308e76ada22e2a719d524d70ce3b2d4ffa02219a1be9
BLAKE2b-256 checksum
How to use checksums
cbfa4f34cb1d6e3ddab67092a4b02c8da58ae2d4750a91085fa18ae181b961e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

0.4.7

2 release files

This release

0.4.5 This release

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.17

2 release files

0.1.12

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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