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 eddytorConfigure & 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(logoutclears 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 100Verbs: 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 tojq. 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 doctoris 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.