Command line interface for Hotdata.
Build from source (requires Rust):
cargo build --release
cp target/release/hotdata /usr/local/bin/hotdata# Initialize config
hotdata init
# Log in via browser
hotdata auth login
# Check auth status
hotdata auth statushotdata workspace list [--format table|json|yaml]hotdata connections list <workspace_id> [--format table|json|yaml]# List all tables in a workspace
hotdata tables list <workspace_id> [--format table|json|yaml]
# List columns for a specific connection
hotdata tables list <workspace_id> --connection-id <connection_id> [--format table|json|yaml]hotdata query "<sql>" --workspace-id <workspace_id> [--connection <connection_id>] [--format table|json|csv]Releases use a two-phase workflow wrapping cargo-release.
Phase 1 — prepare
scripts/release.sh prepare <version>
# e.g. scripts/release.sh prepare 0.2.0This will:
- Create a
release/<version>branch - Bump the version in
Cargo.toml, updateCHANGELOG.md, and push the branch - Open a GitHub pull request and launch it in the browser
Squash and merge the PR into main when ready.
Phase 2 — finish
scripts/release.sh finishRun this from any branch after the PR is merged. It will switch to main, pull the latest, tag the release, and trigger the dist workflow.
Config is stored at ~/.hotdata/config.yml keyed by profile (default: default).
Environment variable overrides:
| Variable | Description |
|---|---|
HOTDATA_API_KEY |
API key (overrides config) |
HOTDATA_API_URL |
API base URL (default: https://api.hotdata.dev/v1) |
HOTDATA_APP_URL |
App URL for browser login (default: https://app.hotdata.dev) |