Weaver CLI and Client
Once Weaver package is installed (see Installation), it provides a command line interface (CLI)
as well as a Python weaver.cli.WeaverClient
to allow simplified interactions through shell calls or
Python scripts.
This offers to the user methods to use file references (e.g.: local CWL Application Package definition) to rapidly operate with functionalities such as Deploy, Describe, Execute and any other operation described in Managing processes included in Weaver ADES/EMS section.
Note
Technically, any OGC API - Processes implementation could be supported using the provided CLI
and weaver.cli.WeaverClient
. There are however some operations such as Uploading File to the Vault feature
(and any utility that makes use of it) that are applicable only for Weaver instances.
Please refer to following sections for more details.
Python Client Commands
For details about using the Python weaver.cli.WeaverClient
, please refer directly to its class
documentation and its underlying methods.
Shell CLI Commands
Following are the detail for the shell CLI which provides the same features.
Run Weaver operations.
usage: weaver [-h] [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[--version]
{deploy,undeploy,register,unregister,capabilities,processes,describe,package,execute,jobs,monitor,dismiss,status,logs,exceptions,errors,statistics,stats,results,upload}
...
Optional Arguments
- --version, -V
Display the version of the package.
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Operations
Name of the operation to run.
- operation
Possible choices: deploy, undeploy, register, unregister, capabilities, processes, describe, package, execute, jobs, monitor, dismiss, status, logs, exceptions, errors, statistics, stats, results, upload
Sub-commands
deploy
Deploy a process.
weaver deploy [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
[-p PROCESS_ID] [-b BODY] [--cwl CWL | --wps WPS] [-T TOKEN]
[-U USERNAME] [-P PASSWORD] [-D]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
- -p, --id, --process
Process identifier for deployment. If no
--body
is provided, this is required. Otherwise, provided value overrides the corresponding ID in the body.- -b, --body
Deployment body directly provided. Allows both JSON and YAML format when using file reference. If provided in combination with process ID or CWL, they will override the corresponding content. Can be provided either with a local file, an URL or literal string contents formatted as JSON.
- --cwl
Application Package of the process defined using Common Workflow Language (CWL) as JSON or YAML format when provided by file reference. File reference can be a local file or URL location. Can also be provided as literal string contents formatted as JSON. Provided contents will be inserted into an automatically generated request deploy body if none was specified with
--body
option (note:--process
must be specified instead in that case). Otherwise, it will override the appropriate execution unit section within the provided deploy body.- --wps
Reference URL to a specific process under a Web Processing Service (WPS) to package as OGC-API Process.
- -D, --delete, --undeploy
Perform undeploy step as applicable prior to deployment to avoid conflict with exiting process.
Default: False
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
Docker Authentication Arguments
Parameters to obtain access to a protected Docker registry to retrieve the referenced image.
- -T, --token
Authentication token to retrieve a Docker image reference from a protected registry during execution.
- -U, --username
Username to compute the authentication token for Docker image retrieval from a protected registry.
- -P, --password
Password to compute the authentication token for Docker image retrieval from a protected registry.
undeploy
Undeploy an existing process.
weaver undeploy [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN] -p
PROCESS_ID
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
- -p, --id, --process
Identifier of the process to run undeploy operation.
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
register
Register a remote provider.
weaver register [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN] -pI
PROVIDER_ID -pU PROVIDER_URL
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
- -pI, --provider
Identifier of a remote provider under which the referred process can be found to run register operation.
- -pU, --provider-url
Endpoint URL of the remote provider to register.
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
unregister
Unregister a remote provider.
weaver unregister [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
-pI PROVIDER_ID
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
- -pI, --provider
Identifier of a remote provider under which the referred process can be found to run unregister operation.
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
capabilities (processes)
List available processes.
weaver capabilities [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
[-P PAGE] [-N LIMIT] [-D]
[-O {process,identifier,id,created,version}] [-nP | -wP]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
- -P, --page
Specify the paging index for process listing.
- -N, --number, --limit
Specify the amount of process to list per page.
- -D, --detail
Obtain detailed process descriptions instead of only their ID (default: False).
Default: False
- -O, --order, --sort
Possible choices: process, identifier, id, created, version
Sorting field to list process. Name must be one of the fields supported by process objects.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
Remote Provider Arguments
Parameters related to remote providers reporting.
- -nP, --no-providers
Omit “providers” listing from returned result body (default).
Default: False
- -wP, --with-providers
Include “providers” listing in returned result body along with local processes.
Default: False
describe
Obtain an existing process description.
weaver describe [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN] -p
PROCESS_ID [-pI PROVIDER_ID] [-S {OLD,OGC,WPS}]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
- -p, --id, --process
Identifier of the process to run describe operation.
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
- -pI, --provider
Identifier of a remote provider under which the referred process can be found to run describe operation.
- -S, --schema
Possible choices: OLD, OGC, WPS
Representation schema of the returned process description (default: OGC, case-insensitive).
Default: OGC
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
package
Obtain the Application Package definition of an existing process.
weaver package [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN] -p
PROCESS_ID [-pI PROVIDER_ID]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
- -p, --id, --process
Identifier of the process to run package operation.
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
- -pI, --provider
Identifier of a remote provider under which the referred process can be found to run package operation.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
execute
Submit a job execution for an existing process.
weaver execute [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN] -p
PROCESS_ID [-pI PROVIDER_ID] -I INPUTS [-R REFERENCE]
[-oP | -oC OUTPUT_CONTEXT] [-M] [-T TIMEOUT] [-W INTERVAL]
[-sEP EMAIL] [-sEF EMAIL] [-sES EMAIL] [-sCP URL] [-sCF URL]
[-sCS URL]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
- -p, --id, --process
Identifier of the process to run execute operation.
- -I, --inputs
Literal input definitions, or a file path or URL reference to JSON or YAML contents defining job inputs with OGC-API or CWL schema. This parameter is required.
To provide inputs using a file reference, refer to relevant CWL Job schema or API request schema for selected format. Both mapping and listing formats are supported.
To execute a process without any inputs (e.g.: using its defaults), supply an explicit empty input (i.e.:
-I ""
or loaded from JSON/YAML file as{}
).To provide inputs using literal command-line definitions, inputs should be specified using
<id>=<value>
convention, with distinct-I
options for each applicable input value.Values that require other type than string to be converted for job submission can include the data type following the ID using a colon separator (i.e.:
<id>:<type>=<value>
). For example, an integer could be specified as follows:number:int=1
while a floating point number would be:number:float=1.23
.File references (
href
) should be specified usingFile
as the type (i.e.:input:File=http://...
). Note thatFile
in this case is expected to be an URL location where the file can be downloaded from. When a local file is supplied, Weaver will automatically convert it to a remote Vault File in order to upload it at the specified URL location and make it available for the remote process.Inputs with multiplicity (
maxOccurs > 1
) can be specified using semicolon (;
) separated values after a single input ID. Note that this is not the same as a single-value array-like input, which should use comma (,
) separated values instead. The type of an element-wise item of this input can also be provided (i.e.:multiInput:int=1;2;3
). Alternatively, the same input ID can be repeated over many-I
options each providing an element of the multi-value input to be formed (i.e.:-I multiInput=1 -I multiInput=2 -I multiInput=3
).Additional parameters can be specified following any
<value>
using any amount of@<param>=<info>
specifiers. Those will be added to the inputs body submitted for execution. This can be used, amongst other things, to provide a file’smediaType
orencoding
details. When using multi-value inputs, each item value can take@
parameters independently with distinct properties.Any value that contains special separator characters (
:;@
) to be used as literal entries must be URL-encoded (%XX
) to avoid invalid parsing.Example:
-I message='Hello Weaver' -I value:int=1234 -I file:File=data.xml@mediaType=text/xml
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
- -pI, --provider
Identifier of a remote provider under which the referred process can be found to run execute operation.
- -R, --ref, --reference
Indicates which outputs by ID to be returned as HTTP Link header reference instead of body content value. This defines the output transmission mode when submitting the execution request.
With reference transmission mode, outputs that contain literal data will be linked by
text/plain
file containing the data. Outputs that refer to a file reference will simply contain that URL reference as link.With value transmission mode (default behavior when outputs are not specified in this list), outputs are returned as direct values (literal or href) within the response content body.
When requesting any output to be returned by reference, option
-H/--headers
should be considered as well to return the providedLink
headers for these outputs on the command line.Example:
-R output-one -R output-two
- -oP, --output-public
Set header
X-WPS-Output-Context: public
to indicate preference of job output context to be located under the public WPS output location of the server. The server is not mandated to fulfill this preference, but will apply it if supported and considered a valid value.- -oC, --output-context
Set header
X-WPS-Output-Context
with the specified value to indicate preference of job output context located under the requested WPS output location of the server. The server is not mandated to fulfill this preference, but will apply it if supported and considered a valid value.- -M, --monitor
Automatically perform the monitoring operation following job submission to retrieve final results. If not requested, the created job status location is directly returned.
Default: False
- -T, --timeout, --exec-timeout
Wait timeout (seconds) of the maximum monitoring duration of the job execution (default: 60s). If this timeout is reached but job is still running, another call directly to the monitoring operation can be done to resume monitoring. The job execution itself will not stop in case of timeout.
Default: 60
- -W, --wait, --interval
Wait interval (seconds) between each job status polling during monitoring (default: 5s).
Default: 5
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
Notification Subscribers
Email or callback request URL to obtain notification of job status milestones.
Note that for email notifications, the targeted server must have properly configured SMTP settings.
- -sEP, --subscriber-email-progress
Send a notification email to this address once the job started execution.
- -sEF, --subscriber-email-failed
Send a notification email to this address if the job execution completed with failure.
- -sES, --subscriber-email-success
Send a notification email to this address if the job execution completed successfully.
- -sCP, --subscriber-callback-progress
Send an HTTP callback request to this URL once the job started execution.
The request body will contain the JSON representation of the job status details.
- -sCF, --subscriber-callback-failed
Send an HTTP callback request to this URL if the job execution completed with failure.
The request body will contain the JSON representation of the job status details.
- -sCS, --subscriber-callback-success
Send an HTTP callback request to this URL if the job execution completed successfully.
The request body will contain the JSON representation of the job results.
jobs
Obtain listing of registered jobs.
weaver jobs [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
[-P PAGE] [-N LIMIT] [-D]
[-O {process,status,service,created,user,finished}]
[-S {succeeded,paused,failed,accepted,dismissed,running,exception,started,successful,unknown} [{succeeded,paused,failed,accepted,dismissed,running,exception,started,successful,unknown} ...]]
[-G] [-fP PROCESS] [-fS PROVIDER] [-fT TAGS [TAGS ...]]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
- -P, --page
Specify the paging index for job listing.
- -N, --number, --limit
Specify the amount of job to list per page.
- -D, --detail
Obtain detailed job descriptions instead of only their ID (default: False).
Default: False
- -O, --order, --sort
Possible choices: process, status, service, created, user, finished
Sorting field to list job. Name must be one of the fields supported by job objects.
- -S, --status
Possible choices: succeeded, paused, failed, accepted, dismissed, running, exception, started, successful, unknown
Filter job listing only to matching status. If multiple are provided, must match one of them.
- -G, --groups
Obtain grouped representation of jobs per provider and process categories.
Default: False
- -fP, --process
Filter job listing only to matching process (local and/or remote whether combined with ‘-fS’).
- -fS, --provider, --service
Filter job listing only to matching remote service provider.
- -fT, --tags
Filter job listing only to matching tags. Jobs must match all tags simultaneously, not one of them.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
monitor
Monitor a pending or running job execution until completion or up to a maximum wait time.
weaver monitor [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] [-u URL] -j JOB_REFERENCE [-T TIMEOUT] [-W INTERVAL]
[-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
Required Arguments
- -j, --job
Job URL or UUID to run monitor operation. If full Job URL is provided, the instance
--url
parameter can be omitted.
Optional Arguments
- -u, --url
URL of the instance to run operations.
- -T, --timeout, --exec-timeout
Wait timeout (seconds) of the maximum monitoring duration of the job execution (default: 60s). If this timeout is reached but job is still running, another call directly to the monitoring operation can be done to resume monitoring. The job execution itself will not stop in case of timeout.
Default: 60
- -W, --wait, --interval
Wait interval (seconds) between each job status polling during monitoring (default: 5s).
Default: 5
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
dismiss
Dismiss a pending or running job, or wipe any finished job results.
weaver dismiss [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] [-u URL] -j JOB_REFERENCE [-nL | -wL] [-nH | -wH]
[-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -j, --job
Job URL or UUID to run dismiss operation. If full Job URL is provided, the instance
--url
parameter can be omitted.
Optional Arguments
- -u, --url
URL of the instance to run operations.
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
status
Obtain the status of a job using a reference UUID or URL. This is equivalent to doing a single-shot monitor
operation without any pooling or retries.
weaver status [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] [-u URL] -j JOB_REFERENCE [-nL | -wL] [-nH | -wH]
[-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -j, --job
Job URL or UUID to run status operation. If full Job URL is provided, the instance
--url
parameter can be omitted.
Optional Arguments
- -u, --url
URL of the instance to run operations.
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
logs
Obtain the logs of a job using a reference UUID or URL. Only guaranteed by Weaver instances. Pure OGC API - Processes servers might not implement this feature.
weaver logs [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] [-u URL] -j JOB_REFERENCE [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -j, --job
Job URL or UUID to run logs operation. If full Job URL is provided, the instance
--url
parameter can be omitted.
Optional Arguments
- -u, --url
URL of the instance to run operations.
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
exceptions (errors)
Obtain the exceptions and error details of a failed job using a reference UUID or URL. If the job is not marked with failed status, this will return an error. Only guaranteed by Weaver instances. Pure OGC API - Processes servers might not implement this feature.
weaver exceptions [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] [-u URL] -j JOB_REFERENCE [-nL | -wL] [-nH | -wH]
[-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -j, --job
Job URL or UUID to run exceptions operation. If full Job URL is provided, the instance
--url
parameter can be omitted.
Optional Arguments
- -u, --url
URL of the instance to run operations.
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
statistics (stats)
Obtain the computation statistics details of a successful job using a reference UUID or URL. If the job is not marked with succeeded status, this will return an error. Only guaranteed by Weaver instances. Pure OGC API - Processes servers might not implement this feature.
weaver statistics [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] [-u URL] -j JOB_REFERENCE [-nL | -wL] [-nH | -wH]
[-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -j, --job
Job URL or UUID to run statistics operation. If full Job URL is provided, the instance
--url
parameter can be omitted.
Optional Arguments
- -u, --url
URL of the instance to run operations.
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
results
Obtain the output results from a job successfully executed. This operation can also download them from the remote server if requested.
weaver results [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] [-u URL] -j JOB_REFERENCE [-nL | -wL] [-nH | -wH]
[-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN] [-D]
[-O OUT_DIR]
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -j, --job
Job URL or UUID to run results operation. If full Job URL is provided, the instance
--url
parameter can be omitted.
Optional Arguments
- -u, --url
URL of the instance to run operations.
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
- -D, --download
Download all found job results file references to output location. If not requested, the operation simply displays the job results (default: False).
Default: False
- -O, --outdir
Output directory where to store downloaded files from job results if requested (default:
${CURDIR}/{JobID}/<outputs.files>
).
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
upload
Upload a local file to the remote server vault for reference in process execution inputs. This operation is accomplished automatically for all execution inputs submitted using local files. [note: feature only available for Weaver instances]
weaver upload [--stdout] [--log LOG]
[--quiet | --debug | --verbose | --log-level {DEBUG,ERROR,INFO,WARN}]
[-h] -u URL [-nL | -wL] [-nH | -wH] [-H HEADER]
[-F {HTML,HTML+RAW,HTML+STR,JSON,JSON+RAW,JSON+STR,TEXT,TXT,XML,XML+RAW,XML+STR,YAML,YML}]
[-rT REQUEST_TIMEOUT] [-rR REQUEST_RETRIES]
[-aC AUTH_HANDLER_CLASS] [-aI IDENTITY] [-aP PASSWORD]
[-aU AUTH_URL] [-aM HTTP_METHOD] [-aH HEADER] [-aT TOKEN]
[-c CONTENT_TYPE] -f FILE
Logging Arguments
Options that configure output logging.
- --stdout
Enforce logging to stdout for display in console.
Default: False
- --log, --log-file
Output file to write generated logs.
- --quiet, -q
Do not output anything else than error.
Default: False
- --debug, -d
Enable extra debug logging.
Default: False
- --verbose, -v
Output informative logging details.
Default: False
- --log-level, -l
Possible choices: DEBUG, ERROR, INFO, WARN
Explicit log level to employ (default: None, case-insensitive).
Required Arguments
- -u, --url
URL of the instance to run operations.
- -f, --file
Local file path to upload to the vault.
Optional Arguments
- -nL, --no-links
Remove “links” section from returned result body.
Default: True
- -wL, --with-links
Preserve “links” section from returned result body (default).
Default: True
- -nH, --no-headers
Omit response headers, only returning the result body (default).
Default: False
- -wH, --with-headers
Return response headers additionally to the result body.
Default: False
- -H, --header
Additional headers to apply for sending requests toward the service. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed. Note that overridden headers expected by requests and the service could break some functionalities.- -F, --format
Possible choices: HTML, HTML+RAW, HTML+STR, JSON, JSON+RAW, JSON+STR, TEXT, TXT, XML, XML+RAW, XML+STR, YAML, YML
Select an alternative output representation (default: JSON+STR, case-insensitive).
HTML: Representation as HTML content formatted as serialized string.
HTML+RAW: Representation as HTML content formatted as raw string without indentation or newlines.
HTML+STR: Representation as HTML content formatted as string with indentation and newlines.
JSON: Representation as JSON (object), which can still be manipulated in code.
JSON+RAW: Representation as JSON content formatted as raw string without any indentation or newlines.
JSON+STR: Representation as JSON content formatted as string with indentation and newlines.
TEXT: Representation as plain text content without any specific reformatting or validation.
TXT: Representation as plain text content without any specific reformatting or validation.
XML: Representation as XML content formatted as serialized string.
XML+RAW: Representation as XML content formatted as raw string without indentation or newlines.
XML+STR: Representation as XML content formatted as string with indentation and newlines.
YAML: Representation as YAML content formatted as string with indentation and newlines.
YML: Alias to YAML.
- -c, --content-type
Content-Type of the file to apply. This should be an IANA Media-Type, optionally with additional parameters such as charset. If not provided, attempts to guess it based on the file extension.
Request Arguments
Parameters to control specific options related to HTTP request handling.
- -rT, --request-timeout
Maximum timout duration (seconds) to wait for a response when performing HTTP requests (default: 5s).
Default: 5
- -rR, --request-retries
Amount of attempt to retry HTTP requests in case of failure (default: no retry).
Service Authentication Arguments
Parameters to obtain access to a protected service using a request authentication handler.
- -aC, --auth-class, --auth-handler
Script or module path reference to class implementation to handle inline request authentication.
Format
path/to/script.py:module.AuthHandlerClass
orinstalled.module.AuthHandlerClass
is expected.Utility definitions are available as:
weaver.cli.BasicAuthHandler
weaver.cli.BearerAuthHandler
weaver.cli.CookieAuthHandler
Custom implementations are allowed for more advanced use cases.
- -aI, --auth-identity, --auth-username
Authentication identity (or username) to be passed down to the specified Authentication Handler.
- -aP, --auth-password
Authentication password to be passed down to the specified Authentication Handler.
- -aU, --auth-url
Authentication URL to be passed down to the specified Authentication Handler.
- -aM, --auth-method
Possible choices: GET, HEAD, POST, PUT, DELETE
Authentication HTTP request method to be passed down to the specified Authentication Handler (default: GET, case-insensitive).
Default: GET
- -aH, --auth-header
Additional headers to apply for sending requests when using the authentication handler. This option can be provided multiple times, each with a value formatted as:
Header-Name: value
Header names are case-insensitive. Quotes can be used in the
value
portion to delimit it. Surrounding spaces are trimmed.- -aT, --auth-token
Token to be added directly to the request headers. If this is specified, the authenticator will not make an additional authentication request in order to obtain a token. The token specified here will be used instead.
CLI and Client Examples
Following sections present different typical usage of the Shell CLI Commands and Python Client Commands. Operations are equivalent between the CLI and Python client.
Note
Much more operations and option parameters are available.
They are not all necessarily represented in below examples.
Explore available arguments using weaver <operation> --help
or
using the above documentation for Python Client Commands and cli_commands.
For each of the following examples, the client is created as follows:
WEAVER_URL = os.getenv("WEAVER_URL")
client = WeaverClient(url=WEAVER_URL)
Authentication Example
For any operation that requires authentication/authorization to access a protected service targeted by WEAVER_URL
,
it is possible to either provide the auth
parameter during initialization of the weaver.cli.WeaverClient
itself (the specific weaver.cli.AuthHandler
is reused for all operations), or as argument to individual
methods when calling the respective operation (handler only used for that step).
Any class implementation that derives from weaver.cli.AuthHandler
or requests.auth.AuthBase
can
be used for the auth
argument. This class must implement the __call__
method taking a single request
argument and returning the adjusted request
instance. The call should apply any relevant modifications to grant the
necessary authentication/authorization details. This __call__
will be performed inline prior to sending the actual
request toward the service.
Note
There are multiple predefined handlers available for use:
requests.auth.HTTPBasicAuth
requests.auth.HTTPProxyAuth
requests.auth.HTTPDigestAuth
When using the Shell CLI Commands, the specific weaver.cli.AuthHandler
implementation to employ
must be provided using the --auth-handler
/--auth-class
(-aC
) argument. This can be an importable (installed)
class module reference or a plain Python script path separated with a :
character followed by the class name
definition. Other --auth
prefixed arguments can also be supplied, but their actual use depend on the targeted
authentication handler implementation.
Below are examples of possible commands:
weaver capabilities \
-u ${WEAVER_URL} \
-aC requests_magpie.MagpieAuth \
-aU ${MAGPIE_URL} \
-aI ${MAGPIE_USERNAME} \
-aP ${MAGPIE_PASSWORD}
When using the Python Interface, the desired implementation can be specified directly.
MAGPIE_URL = os.getenv("MAGPIE_URL")
MAGPIE_USERNAME = os.getenv("MAGPIE_USERNAME")
MAGPIE_PASSWORD = os.getenv("MAGPIE_PASSWORD")
client.capabilities(auth=requests_magpie.MagpieAuth(MAGPIE_URL, MAGPIE_USERNAME, MAGPIE_PASSWORD))
Deploy Example
Accomplishes the Deployment request in order to subscribe a new Process in the service. Requires a Weaver or OGC API - Processes - Part 2: Deploy, Replace, Undeploy compliant instance.
The Process can correspond to an Application Package using CWL (i.e.: a script, a Docker application, etc.) or a Remote Provider using an external WPS (XML, JSON) or another OGC API - Processes instance. A Workflow of multiple Process references (possibly of distinct nature) can also be deployed.
See also
Chapter Type of Processes covers supported definitions and further explain each type.
Note
If the Application Package being deployed employs a protected Docker repository reference, access can be provided using the corresponding parameters. Those will be required for later execution of the application in order to retrieve the referenced Docker image.
Note
Content definitions for CWL Application Package and/or the literal Process body
can be submitted using either a local file reference, an URL, or a literal string formatted as JSON
or YAML. With the Python Interface, the definition can also be provided
with a dict
directly.
Below is a sample Process deployment using a basic Python script wrapped in a Docker image to ensure all requirements are met. The CWL definition provides all necessary inputs and outputs definition to run the desired Application Package. The contents of below URL definition is also available in Sample CWL definition of a Python script.
weaver deploy \
-u ${WEAVER_URL} \
-p docker-python-script-report \
--cwl https://raw.githubusercontent.com/crim-ca/weaver/master/docs/examples/docker-python-script-report.cwl
client.deploy(
process_id="docker-python-script-report",
cwl="https://raw.githubusercontent.com/crim-ca/weaver/master/docs/examples/docker-python-script-report.cwl",
)
Sample Output:
{
"description": "Process successfully deployed.",
"processSummary": {
"id": "docker-python-script-report",
"mutable": true,
"keywords": [
"application"
],
"metadata": [],
"jobControlOptions": [
"async-execute",
"sync-execute"
],
"outputTransmission": [
"reference",
"value"
],
"processDescriptionURL": "http://schema-example.com/processes/docker-python-script-report",
"executeEndpoint": "http://schema-example.com/processes/docker-python-script-report/jobs"
},
"deploymentDone": true
}
Undeploy Example
Accomplishes the Undeployment request to remove a previously Deployed Process from the service. Requires a Weaver or OGC API - Processes - Part 2: Deploy, Replace, Undeploy compliant instance.
weaver undeploy -u ${WEAVER_URL} -p docker-python-script-report
client.undeploy("docker-python-script-report")
Sample Output:
{
"description": "Process successfully undeployed.",
"identifier": "docker-python-script-report",
"undeploymentDone": true
}
GetCapabilities Example
Accomplishes the GetCapabilities request to obtain a list of available Process.
weaver capabilities -u ${WEAVER_URL}
client.capabilities()
Sample Output:
{
"description": "Listing of available processes successful.",
"processes": [
"docker-demo-cat",
"docker-python-script",
"Echo",
"file_index_selector",
"file2string_array",
"image-utils",
"jsonarray2netcdf",
"las2tif",
"metalink2netcdf",
"sleep"
],
"page": 0,
"total": 25
}
DescribeProcess Example
Accomplishes the DescribeProcess request to obtain the Process definition.
weaver describe -u ${WEAVER_URL} -p jsonarray2netcdf
client.describe("jsonarray2netcdf")
Sample Output:
{
"id": "jsonarray2netcdf",
"title": "JSON array to NetCDF",
"version": "1.1",
"abstract": "Extracts and fetches NetCDF files from a JSON file containing an URL string array, and provides them on the output directory.",
"keywords": [],
"metadata": [],
"inputs": {
"input": {
"title": "input",
"formats": [
{
"mimeType": "application/json",
"default": true
}
],
"minOccurs": "1",
"maxOccurs": "1"
}
},
"outputs": {
"output": {
"title": "output",
"formats": [
{
"mimeType": "application/x-netcdf",
"default": true
}
]
}
},
"visibility": "public",
"processEndpointWPS1": "http://schema-example.com/wps",
"processDescriptionURL": "http://schema-example.com/processes/jsonarray2netcdf/jobs",
"executeEndpoint": "http://schema-example.com/processes/jsonarray2netcdf/jobs",
"links": [
{
"type": "application/json",
"title": "Process description.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/jsonarray2netcdf",
"rel": "self"
},
{
"type": "application/json",
"title": "Process description.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/jsonarray2netcdf",
"rel": "process-desc"
},
{
"type": "application/json",
"title": "Process execution endpoint for job submission.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/jsonarray2netcdf/execution",
"rel": "execute"
},
{
"type": "application/json",
"title": "List of registered processes.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes",
"rel": "collection"
},
{
"type": "application/xml",
"title": "Service definition.",
"hreflang": "en-CA",
"href": "http://schema-example.com/ows/wps?service=WPS&request=GetCapabilities",
"rel": "service-desc"
}
]
}
Execute Example
Accomplishes the Execute request to launch a Job execution with the specified Process and provided inputs. Execution can also take multiple execution control parameters such as requesting outputs by reference, selecting the (a)synchronous mode to be employed and much more.
See also
Please refer to weaver.cli.WeaverClient.execute()
arguments, CLI execute operation and chapter
Execute documentation for more details regarding all implications of Job execution.
File reference types, request contents, execution modes and other advanced use cases are covered in greater extent.
Note
Parameters available for Status Monitoring can also be provided directly during this operation. This has the effect of executing the Job and immediately monitor the obtained status until the completed status is obtained, or timeout is reached, whichever occurs first.
Note
Any valid local file path given as input for the Job execution will be automatically uploaded toward the service (Weaver required) in order to make it available for the underlying application defined by the Process. The same procedure as the Manual Upload operation is employed to temporarily place the file(s) in the Vault and make it accessible only for the submitted Job. The file(s) submitted this way will be deleted once retrieved by the Process for execution.
In order to use the Shell CLI Commands, the Job inputs definition has been made extremely versatile.
Arguments can be provided using literal string entries by repeating -I
options followed by their desired
KVP definitions. Additional properties can also be supplied in order to specify precisely what needs
to be submitted to the Process. Please refer to CLI execute help message for more explanations.
weaver execute \
-u ${WEAVER_URL} \
-p Echo \
-I "message='Hello World!'" \
-I value:int=123456 \
-I array:float=1.23,4.56 \
-I multi:File=http://example.com/data.json;=http://other.com/catalog.json \
-I multi:File=http://another.com/data.json \
-I single:File=/workspace/data.xml@mediaType=text/xml
Inputs can also be provided using a JSON or YAML Job document (as when running CWL) or using a JSON document matching the schema normally submitted by HTTP request for OGC APi - Processes execution.
When using the Python Interface, the inputs can be provided in the same manner as for the
above CLI variations, but it is usually more intuitive to use a Python dict
directly.
client.execute("Echo", {
"message": "Hello World!",
"value": 123456,
"array": [1.23, 4.56],
"multi": [
{"href": "http://example.com/data.json"},
{"href": "http://other.com/catalog.json"},
{"href": "http://another.com/data.json"},
],
"single": {
"href": "/workspace/data.xml", # note: uploaded to vault automatically before execution
"type": "text/xml",
}
})
Sample Output:
{
"description": "Job successfully submitted to processing queue. Execution should begin when resources are available.",
"jobID": "797c0c5e-9bc2-4bf3-ab73-5f3df32044a8",
"processID": "Echo",
"status": "accepted",
"location": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8"
}
Dismiss Example
Accomplishes the Job dismiss request to either cancel an accepted or running Job or to remove any stored results from a successful execution.
weaver dismiss -u ${WEAVER_URL} -j "29af3a33-0a3e-477d-863e-efccc97e0b02"
client.dismiss("29af3a33-0a3e-477d-863e-efccc97e0b02")
Sample Output:
{
"code": "JobDismissed",
"description": "Job was dismissed and artifacts have been removed.",
"value": "29af3a33-0a3e-477d-863e-efccc97e0b02",
"links": [
{
"href": "http://schema-example.com/processes/sleep/jobs/29af3a33-0a3e-477d-863e-efccc97e0b02",
"rel": "status",
"title": "Job status.",
"type": "application/json",
"hreflang": "en-CA"
},
{
"href": "http://schema-example.com/jobs/29af3a33-0a3e-477d-863e-efccc97e0b02",
"rel": "alternate",
"title": "Job status generic endpoint.",
"type": "application/json",
"hreflang": "en-CA"
},
{
"href": "http://schema-example.com/jobs",
"rel": "collection",
"title": "List of submitted jobs.",
"type": "application/json",
"hreflang": "en-CA"
},
{
"href": "http://schema-example.com/jobs",
"rel": "up",
"title": "List of submitted jobs.",
"type": "application/json",
"hreflang": "en-CA"
}
]
}
GetStatus Example
Accomplishes the GetStatus operation to request the current status of a Job.
weaver status -u ${WEAVER_URL} -j "797c0c5e-9bc2-4bf3-ab73-5f3df32044a8"
client.status("797c0c5e-9bc2-4bf3-ab73-5f3df32044a8")
Sample Output:
{
"jobID": "797c0c5e-9bc2-4bf3-ab73-5f3df32044a8",
"processID": "Echo",
"providerID": null,
"type": "process",
"status": "succeeded",
"message": "Job succeeded.",
"created": "2022-06-03T23:46:45.049000+00:00",
"started": "2022-06-03T23:46:45.077000+00:00",
"finished": "2022-06-03T23:46:48.134000+00:00",
"updated": "2022-06-03T23:46:48.135000+00:00",
"duration": "00:00:03",
"runningDuration": "PT03S",
"runningSeconds": 3.057,
"percentCompleted": 100,
"progress": 100,
"links": [
{
"title": "Job status.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8",
"type": "application/json",
"rel": "status"
},
{
"title": "Job monitoring location.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8",
"type": "application/json",
"rel": "monitor"
},
{
"title": "Job status generic endpoint.",
"hreflang": "en-CA",
"href": "http://schema-example.com/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8",
"type": "application/json",
"rel": "alternate"
},
{
"title": "List of submitted jobs.",
"hreflang": "en-CA",
"href": "http://schema-example.com/jobs",
"type": "application/json",
"rel": "collection"
},
{
"title": "List of submitted jobs.",
"hreflang": "en-CA",
"href": "http://schema-example.com/jobs",
"type": "application/json",
"rel": "http://www.opengis.net/def/rel/ogc/1.0/job-list"
},
{
"title": "New job submission endpoint for the corresponding process.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/execution",
"type": "application/json",
"rel": "http://www.opengis.net/def/rel/ogc/1.0/execute"
},
{
"title": "Submitted job inputs for process execution.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8/inputs",
"type": "application/json",
"rel": "inputs"
},
{
"title": "Job outputs of successful process execution (extended outputs with metadata).",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8/outputs",
"type": "application/json",
"rel": "outputs"
},
{
"title": "Job results of successful process execution (direct output values mapping).",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8/results",
"type": "application/json",
"rel": "http://www.opengis.net/def/rel/ogc/1.0/results"
},
{
"title": "Job statistics collected following process execution.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8/statistics",
"type": "application/json",
"rel": "statistics"
},
{
"title": "List of collected job logs during process execution.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8/logs",
"type": "application/json",
"rel": "logs"
},
{
"title": "Job status.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8",
"type": "application/json",
"rel": "self"
},
{
"title": "Job status details.",
"hreflang": "en-CA",
"href": "http://schema-example.com/processes/Echo/jobs/797c0c5e-9bc2-4bf3-ab73-5f3df32044a8",
"type": "application/json",
"rel": "up"
}
]
}
Jobs Example
Accomplishes the Job listing request to obtain known Job definitions using filter search queries.
weaver jobs -u ${WEAVER_URL} -nL
client.jobs(with_links=False)
Note
Option -nL
and argument with_links
are used to omit links
section in sample output.
Sample Output:
{
"jobs": [
"14c68477-c3ed-4784-9c0f-a4c9e1344db5",
"f9d8af48-558c-4702-89ba-b94d19304254",
"08019820-2d84-4a26-ae2d-c0f1ccaabd0b",
"88dc510f-05b9-4387-a269-501211144a67",
"137a94a1-b1ef-4363-82b1-78a3c811a8b0",
"f3036cc4-38b8-413f-9897-22949b6d4b57",
"d70eac5e-b744-4313-aa97-1ffdcc98f39d",
"c058fd54-e8a1-42f1-83b8-16b8fa96113d",
"cb84d046-28eb-4fb2-93b1-b7449e52eef3",
"7a6f895f-27e2-4949-a448-bb0f262f390c"
],
"limit": 10,
"page": 0,
"total": 40
}
Monitor Example
If a Job was summited for execution, it is possible to perform Status Monitoring of this Job until completion or until the specified timeout is reached. This can be performed at any moment on a pending or running Job.
See also
It is possible to directly perform monitoring when calling the Job Execution operation.
Simply provide the relevant arguments and options applicable to the monitoring step during the execute
call.
# assuming job is 'running'
weaver monitor -u ${WEAVER_URL} -j "14c68477-c3ed-4784-9c0f-a4c9e1344db5"
client.results("14c68477-c3ed-4784-9c0f-a4c9e1344db5")
Monitor output should be in as similar format as GetStatus Example with the latest Job status retrieved.
Results Example
Retrieves the Job Results from a successful Job execution.
Note
It is possible to employ the download
argument to retrieve File
outputs from a Job. If this is
enabled, files will be downloaded using the URL references specified in the Job results and store them
in the specified local output directory.
weaver results -u ${WEAVER_URL} -j "14c68477-c3ed-4784-9c0f-a4c9e1344db5"
client.results("14c68477-c3ed-4784-9c0f-a4c9e1344db5")
Sample Output:
{
"output": {
"href": "http://schema-example.com/wpsoutputs/14c68477-c3ed-4784-9c0f-a4c9e1344db5/output.txt",
"format": {
"mediaType": "text/plain"
}
}
}
Upload Example
This operation allows manual upload of a local file to the Vault.
Note
When running the execute operation, any detected local file reference will be automatically uploaded as Vault file in order to make it available for the remote Weaver server for Process execution.
See also
File Vault Inputs and Uploading File to the Vault provide more details about this feature.
weaver upload -u ${WEAVER_URL} -f /path/to/file.txt
client.upload("/path/to/file.txt")
Sample Output:
{
"description": "File successfully uploaded to vault.",
"access_token": "<ACCESS_TOKEN>",
"file_id": "e337a830-dbd6-4915-90ef-bfd46e237a3e",
"file_href": "vault://e337a830-dbd6-4915-90ef-bfd46e237a3e"
}