Skip to main content
tp init scaffolds a self-contained project on your machine. The CLI comes from PyPI — you do not clone the platform repository to get it, and you do not clone it to use it. That project is also one project in console terms: name in tuneplane.yaml is what groups every run of every experiment in it.

Install the CLI

Prefer uv tool install. It puts the CLI in its own environment, so it cannot collide with the packages of whatever project you are standing in, and tp update can upgrade it in place. Installed with pip into a system Python, tp update refuses and names the command that would work instead. Verify:
Upgrade with tp update, which detects how it was installed and uses the right command.

Create a repository

Layout:
The platform’s own runtime is neither written into the project nor uploaded. tp submit packs only the experiment, common/ and configs/; after admission the server injects a content-addressed Job Capsule — a manifest, a bootstrap script and a PEX runner.

Project discovery

Commands that need a project (tp new, tp submit, tp ls, tp validate) walk up from the current directory looking for tuneplane.yaml, the same way git finds a repository root. tp login / logout / status are global and do not require a project.

Next

tp init

Create a TunePlane project