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
- APIResponse
- APIResponseAddModelResponse
- APIResponseBaselineModelResponseMetadata
- APIResponseBenchmarkRequestMetadata
- APIResponseBool
- APIResponseCompanyResponseMetadata
- APIResponseDeleteModelResponse
- APIResponseDictDeciCommonDataTypesEnumDeepLearningTaskDeepLearningTaskApiCommonDataTypesGlobalConfigurationDataTypesAccuracyMetricsSchemaResponse
- APIResponseDictDeciInfraDataTypesEnumUsersEnumsActivityEventNameInt
- APIResponseDictStrAny
- APIResponseGruModelResponse
- APIResponseInviteInDB
- APIResponseList
- APIResponseListDeciCommonDataTypesEnumModelFrameworksFrameworkType
- APIResponseListDeciCommonDataTypesEnumModelsEnumsMetric
- APIResponseListDeciCommonDataTypesEnumModelsEnumsQuantizationLevel
- APIResponseListDeciCommonDataTypesHardwareHardwareReturnSchema
- APIResponseListDeciInfraDataTypesDeepLearningModelBaselineModelResponseMetadata
- APIResponseListDeciInfraDataTypesDeepLearningModelModelMetadata
- APIResponseListDeciInfraDataTypesDeepLearningModelModelZooResponseMetadata
- APIResponseListDeciInfraDataTypesFeatureFlagFeatureFlag
- APIResponseListDeciInfraDataTypesInvitationsDataTypesInviteInDB
- APIResponseListDeciInfraDataTypesUserUser
- APIResponseListDeciInfraDataTypesUserUserEvent
- APIResponseListDeciInfraDataTypesWorkspaceWorkspaceBase
- APIResponseListStr
- APIResponseModelMetadata
- APIResponseOptimizeModelResponse
- APIResponseProviderAuthenticationResponse
- APIResponseStr
- APIResponseTemplateResponse
- APIResponseToken
- APIResponseTrainingExperiment
- APIResponseUUID
- APIResponseUnionListDeciCommonDataTypesEnumModelsEnumsBatchSizeDictStrListPydanticTypesPositiveInt
- APIResponseUser
- APIResponseWorkspaceBase
- APIResponseWorkspaceStatsData
- AccuracyMetric
- AccuracyMetricKey
- AccuracyMetricType
- AccuracyMetricsSchemaResponse
- ActivityEventName
- AddModelResponse
- Architectures
- AuthProvider
- AutoNACFileName
- AutonacArchitecture
- AutonacDeliveryState
- AutonacSource
- BaseUserMetadata
- BaselineModelResponseMetadata
- BatchSize
- BatchSizeEdge
- BenchmarkRequestMetadata
- BenchmarkRequestStatus
- BodyAddModelV2
- BodyRegisterUserArchitecture
- BodySendModelBenchmarkRequest
- BodySignInWithProvider
- BodyValidateModelName
- CompanyResponseMetadata
- ConversionParametersResponse
- DatasetName
- DeciLicenseType
- DeciRole
- DeepLearningTask
- DeepLearningTaskLabel
- DeleteModelResponse
- EditModelForm
- EditUserForm
- ErrorLevel
- ExperimentForm
- FeatureFlag
- FeatureFlagLevel
- FrameworkType
- GruModelResponse
- GruRequestForm
- HTTPValidationError
- Hardware
- HardwareEnvironment
- HardwareGroup
- HardwareMachineModel
- HardwareReturnSchema
- HardwareType
- HardwareTypeLabel
- HardwareVendor
- HyperParameter
- InferenceHardware
- InferyVersion
- InviteColleagueWithWorkspace
- InviteInDB
- InviteLinkPublicity
- InviteState
- InvitedSignup
- KPI
- LogRequestBody
- Metric
- ModelBenchmarkResultMetadata
- ModelBenchmarkResultsMetadata
- ModelBenchmarkState
- ModelErrorRecord
- ModelGruState
- ModelMetadata
- ModelMetadataIn
- ModelNameValidationResult
- ModelOptimizationState
- ModelPurchaseEvent
- ModelRequestEvent
- ModelSource
- ModelZooResponseMetadata
- OptimizationRequestForm
- OptimizeModelResponse
- OptimizedModelResponseMetadata
- ProviderAuthenticationResponse
- QuantizationLevel
- QuotaIncreaseRequestEvent
- SentryLevel
- SupportRequestForm
- TemplateResponse
- Token
- TrainingExperiment
- User
- UserArchitecture
- UserEvent
- UserEventForm
- UserEventSource
- UserEventType
- UserFeatureFlagMetadata
- UserState
- ValidationError
- WorkspaceBase
- WorkspaceForm
- WorkspaceStatsData
Documentation For Authorization
OAuth2PasswordBearer
- Type: OAuth
- Flow: password
- Token URL: /auth/verification_token
- Scopes: N/A