Skip to main content
Megan ships inside the cadenzalabs Python package (import name cadenzalabs). The client is standard-library only — it pulls in no third-party dependency and needs no extras (gym / lora / rl / vla), so it’s safe to add to a lightweight project.
The standalone cadenza binary bundles its own Python and is not importable. To use the SDK from your own code, install the Python package into your project’s environment.

1. Install the package

Verify the import:

2. Get a token

Your API key is your Cadenza sign-in token. If you don’t have one, request one by emailing acparekh@stanford.edu, then sign in once so the CLI caches it:
Print it back any time — with a ready-to-paste snippet — using apikey:
Treat the token like a secret. apikey masks it by default; pass --reveal only when you need the full value, and prefer an environment variable over hard-coding it in source.

3. How the key is resolved

MeganTK() finds your key in this order — the first hit wins:
1

Explicit argument

MeganTK(api_key="...")
2

CADENZA_API_KEY

Environment variable — the recommended way to configure a deployed app.
3

CADENZA_TOKEN

Environment variable — accepted as an alias.
4

CLI session

~/.cadenza/config.json — so a machine that ran cadenza login just works.
If none resolve, the constructor raises AuthRequired with a message telling you how to supply one.

4. Your first decision

Configuration reference

Point CADENZA_API_URL (or api_url=) at a locally-running Cadenza API for development. In production, leave it unset to use the hosted service.

Next

Token sessions

The milestone and perception decision paths.

Usage & metering

See exactly what you’ve consumed.