EddytorDocs & API

eddytor CLI

Install, configure, and script the eddytor command-line interface.

eddytor is the terminal and scripting interface. It talks to the REST API for control operations and Flight SQL for bulk reads, with a verb-first grammar: eddytor <verb> <resource> [args] [--json].

Install

# macOS / Linux (Homebrew)
brew install eddytor-labs/tap/eddytor

# macOS / Linux (shell)
curl -fsSL https://raw.githubusercontent.com/eddytor-labs/eddytor-cli/main/install.sh | sh

# Windows (Scoop)
scoop bucket add eddytor https://github.com/eddytor-labs/eddytor-cli
scoop install eddytor

Configure & sign in

eddytor config set-api-url    https://eddytor.example.com   # your server
eddytor config set-flight-url https://eddytor.example.com:8082   # needed for `eddytor query`
eddytor login          # OAuth 2.1 device-code flow (browser)
eddytor doctor         # verify connectivity, auth, and Flight SQL
eddytor config show    # print resolved config
  • Human at a terminal: eddytor login (logout clears creds).
  • Headless / CI: an API key instead - eddytor config set-key edd_live_….

The grammar

Table-scoped commands take a positional triple catalog schema table (domain commands a fourth column) - not a dotted string:

eddytor get tables
eddytor describe table eddytor sales orders
eddytor set domain eddytor sales orders status fixed -v active,inactive,draft
eddytor query "SELECT * FROM \`eddytor\`.\`sales\`.\`orders\` WHERE status='active'" --limit 100

Verbs: get · describe · create · delete · set · link/unlink · insert · merge · optimize · vacuum · rollback · restore · diff · rename · move · profile · validate · upload · download · infer-schema · query · install.

Scripting & CI

  • --json (global) for machine-readable output → pipe to jq. It's a no-op (warns) on side-effecting commands (login/logout/config/insert/merge/link/install).
  • Use an API key, not login, in non-interactive environments.
  • Check exit codes - non-zero = failure; errors print to stderr.
  • eddytor doctor is the first triage step when auth or Flight isn't working.

Heads up

--insecure skips TLS verification - local/self-signed dev only, never production. If query fails, it usually means flight_url is unset or unreachable; doctor checks it specifically. See the Flight token error.

Next

On this page