Skip to main content
The woodwide-cli package installs wwai — a command-line client for the Wood Wide API. Output is JSON by default so scripts and agents can pipe results to jq.

PyPI

Install, release history, and package README.

Console setup

Guided install steps in the developer console.
The CLI source repository is not public. Use PyPI for the package README, the console CLI tab for setup, and wwai --help for the full command reference.

Install

Requires Python 3.12+.

Authenticate

1

Create an API key

Create a key in the console.
2

Save it locally

wwai config set --api-key sk_your_api_key_here
Stored in ~/.wwai/config.json. You can also pass --api-key per command or set WOODWIDE_API_KEY.
Never commit API keys to source control.
3

Confirm

wwai --format table datasets list

End-to-end example

Upload a dataset, train a prediction model, and run sync inference:
UPLOAD=$(wwai datasets create --file train.csv --name "sales-q4")
DATASET=$(echo "$UPLOAD" | jq -r '.dataset.id')
INGEST_JOB=$(echo "$UPLOAD" | jq -r '.job_id')

wwai jobs wait "$INGEST_JOB"

TRAIN=$(wwai models train \
  --dataset "$DATASET" \
  --type prediction \
  --label-column revenue \
  --wait)
MODEL=$(echo "$TRAIN" | jq -r '.model.id')

wwai infer sync "$MODEL" --file new_data.csv --output-type json
For model types, training options, and task-specific guidance, see Capabilities. For HTTP details behind each command, see the API reference.

CLI-specific behavior

Use --wait on the command that enqueues a job (e.g. models train ... --wait) to block in the same shell. Use jobs wait JOB_ID to reattach later — useful for agents or a new terminal session.
Output — JSON by default. Add --format table for readable tables:
wwai --format table datasets list
Progress from --wait and jobs wait goes to stderr; final JSON goes to stdout, so you can pipe to jq while watching status. Exit codes for --wait and jobs wait:
CodeMeaning
0Job succeeded
1Job failed, canceled, or rejected
2Timeout (job still running)

Data connections

Import from connections configured in the console:
wwai connections list
wwai connections import CONNECTION_ID \
  --mode table --schema analytics --table orders --name "orders snapshot"
wwai jobs wait JOB_ID

Command reference

Every subcommand exposes flags and examples via --help:
wwai datasets --help
wwai models train --help
wwai infer batch --help
VariableDescription
WOODWIDE_API_KEYAPI key (sk_...)
WOODWIDE_BASE_URLAPI base URL (default: https://api.woodwide.ai)

Next steps

API quickstart

Same workflow with curl, JavaScript, or the Python SDK tab.

Python SDK

Typed client for the same workflows from Python.