Skip to main content
The tools sandbox is the fastest way to start using DataErai from the command line without installing anything on your host. It’s a small container with the dataerai CLI and the Python SDK already installed and on PATH, ready to authenticate and move data. Point it at whichever instance you use — your login and files persist between runs.
This is the client side of DataErai — the same tools a user installs. It needs nothing from the server or a local dev stack; it just talks to an instance over HTTPS.

Quick start

1

Get the repository

The sandbox lives under sandbox/ in the repository.
2

Build and open a shell

run.sh builds the image the first time and drops you into a shell pointed at the chosen instance:
3

Sign in

Inside the shell, use the browserless device flow (it prints a URL and a code to approve in your browser):
4

Move data

Describe the asset in a small JSON metadata file, then upload a file into a collection and download an asset back:
The shell starts in ~/workspace, which is the sandbox/workspace/ folder on your host — so files you drop there are right here (data.csv), and downloads (--output .) come back out the same way. See CLI commands for the full flag reference.

Choose an instance

./run.sh <profile> selects the target instance from sandbox/env/<profile>.env:
Each profile just sets DATAERAI_SERVER (and DATAERAI_CLIENT_ID). To use your institution’s instance, copy the example profile and set its URL.

Install pathways

The sandbox mirrors the documented install pathways so you can use the one that matches how you’d install DataErai for real:

CLI

The dataerai binary is built from cli/ (the CLI install) and placed on PATH.

Python SDK

Installed with pip. Choose the source:
local (the default) installs the in-repo source — handy for testing local changes. pypi installs the published dataerai-sdk (the bare name dataerai on PyPI is an unrelated package).

Notebooks

For interactive work, run the same client as a JupyterLab server:
It shares your login with the shell (sign in once, in either) and ships an example 01_getting_started.ipynb. The SDK’s blocking methods read naturally in a notebook. Same instance profiles apply.

Use the Python SDK

The SDK is blocking and drives the same CLI binary, so it works the same in the sandbox as in a script:
See the Python SDK reference for the full API.

What’s inside

  • the dataerai CLI (built from cli/) on PATH
  • the dataerai Python SDK (pip-installed, zero runtime dependencies)
  • a bash shell with curl and jq
  • a non-root user; credentials in ~/.config/dataerai (a named volume that survives restarts) and your files in ~/workspace
Everything is defined in sandbox/ (Dockerfile, compose.yaml, env/, run.sh) — see sandbox/README.md.

Without the helper script