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

uv tool install is the recommended one. It puts tuneplane in its own environment, so it cannot collide with the packages of whatever project you happen to be standing in — and tp update can upgrade it. Installed with pip into a system Python, tp update refuses and tells you to reinstall with uv tool, because upgrading there could disturb other tools. Verify:
Upgrade with tp update, which detects how it was installed and uses the right command. Source lives in core/tuneplane/cli/.

Create a repository

Layout:
The platform entrypoint is neither written into the project nor uploaded by the CLI. The CLI packages only the experiment, common/, and configs/; after admission, the console injects a content-addressed Job Capsule (manifest, bootstrap, and PEX runner).

Project discovery

Commands that need a project (tp new / submit / ls / 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 steps

tp init

Create a TunePlane project