Cuiman CLI usage¶
Similar to the Cuiman Python API client, the CLI client provides the following capabilities:
cuiman list-processes: list existing processes,cuiman get-process: get the details about a process,cuiman validate-request: validate a given process execution request,cuiman execute-process: execute a given process execution request,cuiman list-jobs: list the jobs resulting from process executions, and finallycuiman get-job: get a job's details,cuiman get-job-results: get a successful job's results, and finallycuiman dismiss-job: cancel a successful job.
In the following, we visit all the features by example.
The client expects a running server that conforms to the OGC API - Process: Part 1, Version 1.0. If you don't have one available, you can also run the project's server with a test configuration:
wraptile run -- wraptile.services.local.testing:service
In [1]:
Copied!
!cuiman --help
!cuiman --help
Usage: cuiman [OPTIONS] COMMAND [ARGS]...
The `cuiman` tool is a shell client for any web services compliant with OGC
API - Processes, Part 1: Core Standard.
`cuiman` can be used to get the available processes, get process
details, execute processes, and manage the jobs originating from the latter.
It
herewith resembles the core functionality of the OGC API - Processes, Part 1.
For details see https://ogcapi.ogc.org/processes/.
You can use shorter command name aliases, e.g., use command name `vr`
for `validate-request`, or `lp` for `list-processes`.
The tool's exit codes are as follows:
* `0` - normal exit
* `1` - user errors, argument errors
* `2` - remote API errors
* `3` - local network transport errors
If the `--traceback` flag is set, the original Python exception traceback
will be shown and the exit code will always be `1`.
Otherwise, only the error message is shown.
+- Options -------------------------------------------------------------------+
| --version Show version and exit. |
| --traceback,--tb Show server exception traceback, if any. |
| --install-completion Install completion for the current shell. |
| --show-completion Show completion for the current shell, to |
| copy it or customize the installation. |
| --help Show this message and exit. |
+-----------------------------------------------------------------------------+
+- Commands ------------------------------------------------------------------+
| configure Configure the client tool. |
| list-processes List available processes. |
| get-process Get process details. |
| create-request Create an execution request (template) for a given |
| process. |
| validate-request Validate a process execution request. |
| execute-process Execute a process in asynchronous mode. |
| list-jobs List all jobs. |
| get-job Get job details. |
| dismiss-job Cancel a running or delete a finished job. |
| get-job-results Get job results. |
+-----------------------------------------------------------------------------+
In [2]:
Copied!
!cuiman configure --api-url http://127.0.0.1:8008 -a none
!cuiman configure --api-url http://127.0.0.1:8008 -a none
Client configuration written to C:\Users\Norman\.eozilla\config
In [3]:
Copied!
!cuiman list-processes
!cuiman list-processes
links:
- href: http://127.0.0.1:8008/processes
hreflang: en
rel: self
title: get_processes
type: application/json
processes:
- description: Sleeps for `duration` seconds. Fails on purpose if `fail` is `True`.
Returns the effective amount of sleep in seconds.
id: sleep_a_while
title: Sleep Processor
version: 0.0.0
- description: Returns the list of prime numbers between a `min_val` and `max_val`.
id: primes_between
title: Prime Processor
version: 0.0.0
- description: Simulate a set scene images slices for testing. Creates an xarray dataset
with `periodicity` time slices and writes it as Zarr into a temporary location.
Requires installed `dask`, `xarray`, and `zarr` packages.
id: simulate_scene
title: Generate scene for testing
version: 0.0.0
- id: return_base_model
title: BaseModel Test
version: 0.0.0
- description: This is a workflow with several steps and defined dependencies that
execute sequentially.
id: process_pipeline
title: A Big Workflow
version: 0.0.0
In [4]:
Copied!
!cuiman get-process primes_between
!cuiman get-process primes_between
description: Returns the list of prime numbers between a `min_val` and `max_val`.
id: primes_between
inputs:
max_val:
minOccurs: 0
schema:
default: 100
maximum: 100.0
type: integer
title: Max Val
min_val:
minOccurs: 0
schema:
default: 0
minimum: 0.0
type: integer
title: Min Val
outputs:
return_value:
schema:
items:
type: integer
type: array
title: Return Value
title: Prime Processor
version: 0.0.0
In [5]:
Copied!
!cuiman get-process process_pipeline
!cuiman get-process process_pipeline
description: This is a workflow with several steps and defined dependencies that execute
sequentially.
id: process_pipeline
inputs:
id:
schema:
type: string
title: main input
outputs:
final:
schema:
items:
items:
type: string
maxItems: 2
minItems: 2
type: array
maxItems: 2
minItems: 2
type: array
title: Final output
title: A Big Workflow
version: 0.0.0
In [6]:
Copied!
!cuiman execute-process primes_between -i min_val=10 -i max_val=80
!cuiman execute-process primes_between -i min_val=10 -i max_val=80
created: '2026-02-12T16:29:38.462252Z' finished: '2026-02-12T16:29:38.462780Z' jobID: job_0 message: Done processID: primes_between started: '2026-02-12T16:29:38.462625Z' status: successful type: process updated: '2026-02-12T16:29:38.462754Z'
In [7]:
Copied!
!cuiman execute-process process_pipeline -i id="eozilla-is-cool"
!cuiman execute-process process_pipeline -i id="eozilla-is-cool"
created: '2026-02-12T16:29:39.405144Z' jobID: job_1 processID: process_pipeline status: accepted type: process
In [8]:
Copied!
!cuiman list-jobs
!cuiman list-jobs
jobs: - created: '2026-02-12T16:29:38.462252Z' finished: '2026-02-12T16:29:38.462780Z' jobID: job_0 message: Done processID: primes_between started: '2026-02-12T16:29:38.462625Z' status: successful type: process updated: '2026-02-12T16:29:38.462754Z' - created: '2026-02-12T16:29:39.405144Z' finished: '2026-02-12T16:29:39.406486Z' jobID: job_1 processID: process_pipeline started: '2026-02-12T16:29:39.405636Z' status: successful type: process links: - href: http://127.0.0.1:8008/jobs hreflang: en rel: self title: get_jobs type: application/json
In [9]:
Copied!
!cuiman get-job job_0
!cuiman get-job job_0
created: '2026-02-12T16:29:38.462252Z' finished: '2026-02-12T16:29:38.462780Z' jobID: job_0 message: Done processID: primes_between started: '2026-02-12T16:29:38.462625Z' status: successful type: process updated: '2026-02-12T16:29:38.462754Z'
In [10]:
Copied!
!cuiman get-job-results job_0
!cuiman get-job-results job_0
return_value: - 11 - 13 - 17 - 19 - 23 - 29 - 31 - 37 - 41 - 43 - 47 - 53 - 59 - 61 - 67 - 71 - 73 - 79
In [11]:
Copied!
!cuiman get-job job_1
!cuiman get-job job_1
created: '2026-02-12T16:29:39.405144Z' finished: '2026-02-12T16:29:39.406486Z' jobID: job_1 processID: process_pipeline started: '2026-02-12T16:29:39.405636Z' status: successful type: process
In [12]:
Copied!
!cuiman get-job-results job_1
!cuiman get-job-results job_1
final: - - eozilla-is-cool_read_preprocessed_feature_mean - resampled_from=eozilla-is-cool - eozilla-is-cool_read_preprocessed_feature_mean
In [ ]:
Copied!