Command Line Interface (CLI)#

The CLI provides a command-line interface to interact with the API. It’s most useful for retrieving and managing job status and results.

See the Installation guide to install the CLI.

Account Management#

Authentication#

To authenticate you’ll need an API key. We’re currently in beta, so you can request an API key by contacting us directly.

Once you have an API key, you can authenticate with the CLI using:

mi login

Viewing quotas#

To get your current quotas, use:

mi quotas

Job Commands#

Listing current and historical jobs#

To list jobs associated with your API key, use:

mi jobs list --all

By default this will only list the most recent 25 jobs. To see all jobs, use the --all flag:

Getting job status by job_id#

To get the status of a job by its ID, use:

mi jobs status <job_id>

Getting job results by job_id#

To get the results of a job by its ID, use:

mi jobs results <job_id>

There are several optional flags you can use to customize the results:

  • You can also include the inputs in the results by using the --include-inputs flag.

  • You can also include the cumulative logprobs by using the --include-cumulative-logprobs flag.

  • You can also save the results to a file by using the --save flag.

  • If using the --save flag, you can also specify the format of the output file by using the --format flag. Options are parquet and csv, default is parquet.

mi jobs results <job_id> --include-inputs --include-cumulative-logprobs

You can also save the results to a file by using the --save flag:

mi jobs results <job_id> --save

Cancelling a running job by job_id#

To cancel a running priority 1 job by its ID, use:

mi jobs cancel <job_id>

Attaching to a running job by job_id#

To attach to a running job by its ID, use:

mi jobs attach <job_id>

If the job is in progress, this will display a progress bar and live metrics around the job’s completion. If the job is in a terminal state, the command will exit.

You can also attach to the latest job by using the --latest flag:

mi jobs attach --latest

Stage Commands#

Creating a new stage#

To create a stage, use:

mi stages create

Uploading files to stage via CLI#

To upload a file to a stage, use:

mi stages upload <stage_id> <file_path>

If a stage_id is not provided, a new stage will be created. The file_path parameter can be a single file path or a directory path. If a directory path is provided, all files in the directory will be uploaded to the stage.

Downloading files from stage via CLI#

To download a file from a stage, use:

mi stages download <stage_id> <file_name> <output_path>

If no file_name is provided, all files in the stage will be downloaded. If no output_path is provided, the file will be saved to the current working directory.

Listing files in a stage by stage_id#

To list files in a stage by stage_id, use:

mi stages files <stage_id>

Listing user stages#

To list all stages associated with your API key, use:

mi stages list

Other commands#

To open the Materialized Intelligence documentation in your browser, use:

mi docs

To view commands, simply run:

mi

or

mi --help