This release is a pre-release and may not be stable for production use.
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 --helpand per-command--help - Version output via
delta versionanddelta --version - OAuth login with Authorization Code + PKCE
- One-shot
127.0.0.1:8400callback server - Session storage in the OS keychain
- 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 the OS keychain. If keychain access is unavailable, auth commands fail instead of writing token files.
Create an OAuth application in the same auth project as ../console:
- Redirect URI:
http://127.0.0.1:8400/callback - Public client: enabled
- PKCE required: enabled
- Scopes:
profile email offline_access user:org:read
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
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
the OS keychain. --token and DELTA_TOKEN remain explicit automation
overrides; 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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file trampoline_delta-0.1.5rc68.tar.gz.
File metadata
- Download URL: trampoline_delta-0.1.5rc68.tar.gz
- Upload date:
- Size: 143.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddbe5287ae5dba86e0cafa44514ae2780350bf9056dc852b7af4efb91ef6d599
|
|
| MD5 |
50b9c7acc0c48d6423c20688454c8b96
|
|
| BLAKE2b-256 |
7115e0ad83e71b98745f9d14a8b81f3dcba8385c938a1fc66b5bf0e91552c473
|
Provenance
The following attestation bundles were made for trampoline_delta-0.1.5rc68.tar.gz:
Publisher:
release.yml on Trampoline-AI/trampoline-ai.delta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trampoline_delta-0.1.5rc68.tar.gz -
Subject digest:
ddbe5287ae5dba86e0cafa44514ae2780350bf9056dc852b7af4efb91ef6d599 - Sigstore transparency entry: 2489729728
- Sigstore integration time:
-
Permalink:
Trampoline-AI/trampoline-ai.delta@b0b43c83e77534dd5d282e12739af29553ce0f0d -
Branch / Tag:
refs/tags/v0.1.5-rc.68 - Owner: https://github.com/Trampoline-AI
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b0b43c83e77534dd5d282e12739af29553ce0f0d -
Trigger Event:
push
-
Statement type:
File details
Details for the file trampoline_delta-0.1.5rc68-py3-none-any.whl.
File metadata
- Download URL: trampoline_delta-0.1.5rc68-py3-none-any.whl
- Upload date:
- Size: 127.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11ce091a6af86fa73dc27460bb78ac862091fd9e6af4786cac7527ead4e5dba0
|
|
| MD5 |
1a4a5ec33f1e625fb495aebb49c4defc
|
|
| BLAKE2b-256 |
bd09755be86f0cc208ce774b2c66bad80db58156dcc5f51e537d2df0344aa77c
|
Provenance
The following attestation bundles were made for trampoline_delta-0.1.5rc68-py3-none-any.whl:
Publisher:
release.yml on Trampoline-AI/trampoline-ai.delta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trampoline_delta-0.1.5rc68-py3-none-any.whl -
Subject digest:
11ce091a6af86fa73dc27460bb78ac862091fd9e6af4786cac7527ead4e5dba0 - Sigstore transparency entry: 2489729751
- Sigstore integration time:
-
Permalink:
Trampoline-AI/trampoline-ai.delta@b0b43c83e77534dd5d282e12739af29553ce0f0d -
Branch / Tag:
refs/tags/v0.1.5-rc.68 - Owner: https://github.com/Trampoline-AI
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b0b43c83e77534dd5d282e12739af29553ce0f0d -
Trigger Event:
push
-
Statement type: