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. 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:
tp update, which detects how it was installed and uses the right
command.
Create a repository
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.