Skip to content

Deci Platform API Bash client

Overview

This is a Bash client script for accessing Deci Platform API service.

The script uses cURL underneath for making all REST calls.

Usage

# Make sure the script has executable rights
$ chmod u+x 

# Print the list of operations available on the service
$ ./ -h

# Print the service description
$ ./ --about

# Print detailed information about specific operation
$ ./ <operationId> -h

# Make GET request
./ --host http://<hostname>:<port> --accept xml <operationId> <queryParam1>=<value1> <header_key1>:<header_value2>

# Make GET request using arbitrary curl options (must be passed before <operationId>) to an SSL service using username:password
 -k -sS --tlsv1.2 --host https://<hostname> -u <user>:<password> --accept xml <operationId> <queryParam1>=<value1> <header_key1>:<header_value2>

# Make POST request
$ echo '<body_content>' |  --host <hostname> --content-type json <operationId> -

# Make POST request with simple JSON content, e.g.:
# {
#   "key1": "value1",
#   "key2": "value2",
#   "key3": 23
# }
$ echo '<body_content>' |  --host <hostname> --content-type json <operationId> key1==value1 key2=value2 key3:=23 -

# Preview the cURL command without actually executing it
$  --host http://<hostname>:<port> --dry-run <operationid>

Docker image

You can easily create a Docker image containing a preconfigured environment for using the REST Bash client including working autocompletion and short welcome message with basic instructions, using the generated Dockerfile:

docker build -t my-rest-client .
docker run -it my-rest-client

By default you will be logged into a Zsh environment which has much more advanced auto completion, but you can switch to Bash, where basic autocompletion is also available.

Shell completion

Bash

The generated bash-completion script can be either directly loaded to the current Bash session using:

source .bash-completion

Alternatively, the script can be copied to the /etc/bash-completion.d (or on OSX with Homebrew to /usr/local/etc/bash-completion.d):

sudo cp .bash-completion /etc/bash-completion.d/

OS X

On OSX you might need to install bash-completion using Homebrew:

brew install bash-completion

and add the following to the ~/.bashrc:

if [ -f $(brew --prefix)/etc/bash_completion ]; then
  . $(brew --prefix)/etc/bash_completion
fi

Zsh

In Zsh, the generated _ Zsh completion file must be copied to one of the folders under $FPATH variable.

Documentation for API Endpoints

All URIs are relative to **

Class Method HTTP request Description
PlatformApi addEvent POST /events/{type} Add Event
PlatformApi addModel POST /model-repository/models Add Model
PlatformApi addModelV2 POST /model-repository/v2/models Add Model V2
PlatformApi addOptimizedModel PUT /model-repository/models/{model_id}/optimized Add Optimized Model
PlatformApi assertModelArguments POST /model-repository/models/verify Assert Model Arguments Before Upload
PlatformApi autonacModel POST /model-repository/models/{model_id}/autonac Autonac Model
PlatformApi buyModel POST /events/buy-model Buy Model
PlatformApi cancelColleagueInvite DELETE /invites/ Cancel Colleague Invite
PlatformApi compareModelsInModelZoo GET /events/compare-models-in-model-zoo Compare Models In Model Zoo
PlatformApi createWorkspace POST /workspaces/ Create Workspace
PlatformApi deleteConversionParameters DELETE /conversion/{model_id} Delete Conversion Parameters
PlatformApi deleteModel DELETE /model-repository/models/{model_id} Delete Model
PlatformApi deleteWorkspace DELETE /workspaces/{id} Delete Workspace
PlatformApi deployModelToInfery GET /model-repository/models/{model_id}/deploy/infery Deploy Model To Infery
PlatformApi editModel PUT /model-repository/models/{model_id} Edit Model
PlatformApi editUser PUT /users/{user_id} Edit User
PlatformApi getAllAccuracyMetrics GET /global-configuration/accuracy-metrics Get All Accuracy Metrics
PlatformApi getAllArchitectures GET /global-configuration/architectures Get All Architecture
PlatformApi getAllBatchSizes GET /global-configuration/batch-sizes Get All Batch Sizes
PlatformApi getAllDpTasks GET /global-configuration/deep-learning-tasks Get All Dp Tasks
PlatformApi getAllFeatureFlags GET /global-configuration/feature-flags Get All Feature Flags
PlatformApi getAllFrameworks GET /global-configuration/frameworks Get All Frameworks
PlatformApi getAllHardwareTypes GET /global-configuration/hardware-types Get All Hardware Types
PlatformApi getAllHardwares GET /global-configuration/hardware Get All Hardwares
PlatformApi getAllModels GET /model-repository/models Get Models
PlatformApi getAllPerformanceMetrics GET /global-configuration/performance-metrics Get All Performance Metrics
PlatformApi getAllQuantizationLevels GET /global-configuration/quantization-levels Get All Quantization Levels
PlatformApi getAllUsers GET /users/ Get All Users
PlatformApi getAllWorkspaces GET /workspaces/ Get Workspaces
PlatformApi getApiVersion GET /version Request Version
PlatformApi getArchitectures GET /architectures Get Architectures
PlatformApi getAutonacModelFileLink GET /autonac/{model_name}/{file_name} Get Model File Download Link
PlatformApi getBenchmarkRequest GET /model-repository/models/benchmark/{benchmark_request_id} Get Benchmark Request
PlatformApi getCompany GET /companies/ Get Company
PlatformApi getCompanyStats GET /companies/stats Get Company Stats
PlatformApi getConversionParameters GET /conversion/{model_id} Get Conversion Parameters
PlatformApi getEvents GET /events/ Get Events
PlatformApi getExperimentUploadUrl GET /experiments/{experiment_id}/upload_url Get Experiment Upload Url
PlatformApi getExperimentsCounter GET /experiments/counter Get Experiments Counter
PlatformApi getInviteByToken GET /invites/{token} Get Invite By Token
PlatformApi getInvites GET /invites/ Get Invites
PlatformApi getModelById GET /model-repository/models/{model_id} Get Model By Id
PlatformApi getModelByName GET /model-repository/models/name/{name} Get Model By Name
PlatformApi getModelSignedUrlForDownload GET /model-repository/models/{model_id}/download-url Get Model Signed Url For Download
PlatformApi getModelSignedUrlForUpload GET /model-repository/models/{model_name}/upload-url Get Model Signed Url For Upload
PlatformApi getModelZoo GET /model-repository/model-zoo Get Model Zoo
PlatformApi getOptimizedModels GET /model-repository/models/{model_id}/optimized_models Get Optimized Models
PlatformApi getSnippetsFromTemplate GET /snippets/template/{name} Get Snippets From Template
PlatformApi getUserActivityByUserId GET /users/{user_id}/activity Get User Activity By User Id
PlatformApi getUserById GET /users/{user_id} Get User By Id
PlatformApi getWorkspaceById GET /workspaces/{id} Get Workspace
PlatformApi getWorkspaceExperiments GET /experiments/ Get Workspace Experiments
PlatformApi getWorkspaceMembers GET /workspaces/{workspace_id}/members Get Workspace Members
PlatformApi getWorkspaceStats GET /workspaces/stats Get Workspace Stats
PlatformApi gruModel POST /model-repository/models/{model_id}/gru Gru Model
PlatformApi healthCheck GET /healthz Health
PlatformApi importPublicModel POST /model-repository/models/public Import Public Model
PlatformApi inviteColleagueToJoinWorkspace POST /invites/ Invite Colleague
PlatformApi log POST /support/log Upload Log
PlatformApi login POST /auth/verification_token Get Access Token
PlatformApi optimizeModel POST /model-repository/models/{model_id}/optimize Optimize Model
PlatformApi quotaIncrease POST /events/quota-increase Request Quota Increase
PlatformApi registerUserArchitecture POST /architectures/user Register User Architecture
PlatformApi requestModel POST /events/request-model Request Model
PlatformApi requestPublicArchitecture GET /events/request-public-architecture Request Public Architecture
PlatformApi requestSupport POST /events/support Request Support
PlatformApi resetPassword POST /auth/reset-password Reset Password
PlatformApi sendModelBenchmarkRequest POST /model-repository/models/{model_id}/benchmark Benchmark Model
PlatformApi setConversionParameters POST /conversion/{model_id} Set Conversion Parameters
PlatformApi setPassword POST /auth/set-password Set Password
PlatformApi signInWithProvider POST /auth/sign_in/{provider} Auth With Provider
PlatformApi signUpUser POST /users/ Sign Up User
PlatformApi startExperiment POST /experiments/ Register Experiment
PlatformApi switchToWorkspace GET /workspaces/{workspace_id}/switch Switch Workspace
PlatformApi updateUserActivity PUT /users/{user_id}/activity Update User Activity
PlatformApi updateWorkspace PATCH /workspaces/{id} Update Workspace
PlatformApi upgradePlan POST /events/upgrade Request Platform Upgrade
PlatformApi uploadLogUrl GET /support/upload-log-url Get Upload Support Log Url
PlatformApi validateModelName POST /model-repository/models/verify/name Validate Model Name
PlatformApi verifyEmail POST /auth/email/verify/{token_key} Verify Email Token

Documentation For Models

Documentation For Authorization

OAuth2PasswordBearer

  • Type: OAuth
  • Flow: password
  • Token URL: /auth/verification_token
  • Scopes: N/A