Skip to main content

Delta CLI

Delta CLI is a command line interface for the Delta service.

This repository contains the Delta command router, version output, and browser-based CLI authentication.

Features

  • Built-in help via delta --help and per-command --help
  • Version output via delta version and delta --version
  • OAuth login with Authorization Code + PKCE
  • One-shot 127.0.0.1:8400 callback server or an optional Console callback handoff
  • Session storage in ~/.trampoline-ai/delta/auth.json with owner-only permissions
  • Automatic bearer authentication for service API commands

Requirements

  • Python 3.13+
  • uv

Installation

From this directory, install the CLI in editable mode:

uv tool install -e .

You can also run the CLI directly during development:

uv run --with-editable . delta --help
uv run --with-editable . delta version

Authentication Setup

The CLI uses a public OAuth application. Do not use secret keys for interactive CLI user login.

The local session is stored in ~/.trampoline-ai/delta/auth.json. Delta creates the containing directory with mode 0700 and writes the credential file atomically with mode 0600.

Create an OAuth application in the same auth project as ../console:

  • Default redirect URI: http://127.0.0.1:8400/callback
  • Console callback URI for --manual-callback: https://cloud.avalanche.run/oauth/callback
  • Public client: enabled
  • PKCE required: enabled
  • Scopes: profile email offline_access user:org:read

A Clerk administrator must register the applicable redirect URI before its login mode can succeed.

The production issuer, public OAuth client ID, and callback port are built in. Sign in without configuration:

delta login

For another deployment, override the public auth configuration explicitly:

export DELTA_AUTH_ISSUER_URL="https://your-auth-issuer.example.com"
export DELTA_AUTH_CLIENT_ID="your_oauth_client_id"

For local development in this monorepo, the CLI can also derive the issuer from DELTA_AUTH_PUBLISHABLE_KEY.

Command Overview

delta version

Shows the installed Delta CLI version.

delta auth login

Signs in to Delta through your browser.

delta login

The CLI uses the registered callback port 8400. Pass --callback-port 0 for a random loopback port when another provider supports RFC 8252 loopback redirects.

Use --no-browser to print the sign-in URL instead of opening it:

delta auth login --no-browser

Use the Console callback when the browser cannot reach the local loopback listener:

delta auth login --manual-callback

Manual callback sign-in requires Delta CLI 0.1.6 or newer. Older CLI releases cannot complete this handoff; upgrade the CLI and start sign-in again if the Console reports that an upgrade is required.

Complete sign-in in the browser, select Copy response at the Console callback page, then paste only that response into Delta's hidden terminal prompt. Never copy, paste, log, or share the raw browser callback URL. The response is bound to the in-memory PKCE sign-in attempt; do not paste it into logs or chat.

delta auth status

Shows whether you are signed in.

delta auth whoami

Shows the signed-in account.

delta auth logout

Signs out of Delta.

delta --help

Shows available commands and global options.

Portable Avalanche workspaces

Capture one or more local directories as typed ava.Workspace run inputs:

delta runs create demo-flow \
  --workspace source=./input-tree \
  --workspace config=./config-tree

Each field name must be unique across --workspace and JSON inputs. Delta captures the directory with Avalanche's workspace manifest codec and uploads the manifest through the run-scoped artifact path; workflow code receives ava.Workspace when its declared input field uses that annotation. Manifests are limited to 48 MiB; the CLI rejects oversized trees from directory metadata before reading their file contents.

Materialize terminal workspace trees into a new local directory:

delta runs output run_01KCVST2FP4QC5NKZNN5NS0Z2W --output-dir ./downloaded

The destination must not already exist. Workspace values are written as workspace-0001, workspace-0002, and so on in deterministic result order. Mixed ava.File references remain in the result envelope. Without --output-dir, runs output continues to print that standard Avalanche result document unchanged.

Service API commands automatically load and refresh the signed-in session from ~/.trampoline-ai/delta/auth.json. An explicit --token wins, then a nonblank DELTA_TOKEN, then the saved session; the user TOML configuration rejects plaintext tokens.

The API enforces the selected Clerk organization and its role permissions. The signed-in user must belong to the requested organization, and that role must include the Delta action used by the service command.

Release files for trampoline-delta 0.1.58

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

Source distribution (sdist)

Source distribution for trampoline-delta 0.1.58
File Size Uploaded
trampoline_delta-0.1.58.tar.gz 183.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for trampoline-delta 0.1.58
File Interpreter ABI Platform
trampoline_delta-0.1.58-py3-none-any.whl Python 3 none any Details

Total release size: 345.8 kB

Release files / trampoline_delta-0.1.58.tar.gz

Download URL trampoline_delta-0.1.58.tar.gz
Size 183.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e71b6724b6371a50d3c0998cce5b775298ffc9032233923e4bdf7bf60ad08001
BLAKE2b-256 checksum
How to use checksums
19b6ca0df698810157d255f7dc41dea7428e705cd72bd11e7289a6c3d611aa15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release files / trampoline_delta-0.1.58-py3-none-any.whl

Download URL trampoline_delta-0.1.58-py3-none-any.whl
Size 162.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf1c6f88f535035c43a47977d7e9bb1b81279bc1ea4396e3259b1c2f96882726
BLAKE2b-256 checksum
How to use checksums
a7b9f77b7da11e0cc8448aec10aa40996432d3bf3a34d338d7cb759225b8fd51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.99

2 release files

0.1.98

2 release files

0.1.97

2 release files

0.1.96

2 release files

0.1.95

2 release files

0.1.94

2 release files

0.1.93

2 release files

0.1.92

2 release files

0.1.91

2 release files

0.1.90

2 release files

0.1.89

2 release files

0.1.88

2 release files

0.1.87

2 release files

0.1.86

2 release files

0.1.85

2 release files

0.1.84

2 release files

0.1.83

2 release files

0.1.82

2 release files

0.1.81

2 release files

0.1.80

2 release files

0.1.79

2 release files

0.1.78

2 release files

0.1.77

2 release files

0.1.76

2 release files

0.1.75

2 release files

0.1.74

2 release files

0.1.73

2 release files

0.1.72

2 release files

0.1.71

2 release files

This release

0.1.58 This release

2 release files

0.1.41

2 release files

0.1.40

2 release files

0.1.39

2 release files

0.1.38

2 release files

0.1.37

2 release files

0.1.36

2 release files

0.1.35

2 release files

0.1.33

2 release files

0.1.32

2 release files

0.1.31

2 release files

0.1.30

2 release files

0.1.29

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

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