API Designer & Deployer

Reference documentation

API Designer

class dataikuapi.dss.apiservice.DSSAPIServiceSettings(client, project_key, service_id, settings)

The settings of an API Service in the API Designer

Do not create this directly, use DSSAPIService.get_settings()

get_raw()

Gets the raw settings of this API Service. This returns a reference to the raw settings, not a copy, so changes made to the returned object will be reflected when saving.

Return type:dict
add_prediction_endpoint(endpoint_id, saved_model_id)

Adds a new “visual prediction” endpoint to this API service

Parameters:
  • endpoint_id (str) – Identifier of the new endpoint to create
  • saved_model_id (str) – Identifier of the saved model (deployed to Flow) to use
save()

Saves back these settings to the API Service

class dataikuapi.dss.apiservice.DSSAPIService(client, project_key, service_id)

An API Service from the API Designer on the DSS instance

Do not create this directly, use dataikuapi.dss.project.DSSProject.get_api_service()

get_settings()

Gets the settings of this API Service

list_packages()

List the versions of this API service

Returns:a list of dictionaries, with one item per version. Each dictionary contains at least a ‘id’ field which is the version identifier
Return type:list of dict
create_package(package_id)

Create a new version of this API service

Parameters:package_id (str) – Identifier of the new version to create
delete_package(package_id)

Delete a version of this API service

download_package_stream(package_id)

Download a package archive that can be deployed in a DSS API Node, as a binary stream.

Warning: this stream will monopolize the DSSClient until closed.

download_package_to_file(package_id, path)

Download a package archive that can be deployed in a DSS API Node, into the given output file.

API Deployer

class dataikuapi.dss.apideployer.DSSAPIDeployer(client)

Handle to interact with the API Deployer.

Do not create this directly, use dataikuapi.dss.DSSClient.get_apideployer()

list_deployments(as_objects=True)

Lists deployments on the API Deployer

Parameters:as_objects (boolean) – if True, returns a list of DSSAPIDeployerDeployment, else returns a list of dict. Each dict contains at least a field “id” indicating the identifier of this deployment
Returns:a list - see as_objects for more information
Return type:list
get_deployment(deployment_id)

Returns a handle to interact with a single deployment, as a DSSAPIDeployerDeployment

Parameters:deployment_id (str) – Identifier of the deployment to get
Return type:DSSAPIDeployerDeployment
create_deployment(deployment_id, service_id, infra_id, version)

Creates a deployment and returns the handle to interact with it. The returned deployment is not yet started and you need to call start_update()

Parameters:
  • deployment_id (str) – Identifier of the deployment to create
  • service_id (str) – Identifier of the API Service to target
  • infra_id (str) – Identifier of the deployment infrastructure to use
  • version_id (str) – Identifier of the API Service version to deploy
Return type:

DSSAPIDeployerDeployment

list_infras(as_objects=True)

Lists deployment infrastructures on the API Deployer

Parameters:as_objects (boolean) – if True, returns a list of DSSAPIDeployerInfra, else returns a list of dict. Each dict contains at least a field “id” indicating the identifier of this infra
Returns:a list - see as_objects for more information
Return type:list
get_infra(infra_id)

Returns a handle to interact with a single deployment infra, as a DSSAPIDeployerInfra

Parameters:infra_id (str) – Identifier of the infra to get
Return type:DSSAPIDeployerDeployment
list_services(as_objects=True)

Lists API services on the API Deployer

Parameters:as_objects (boolean) – if True, returns a list of DSSAPIDeployerService, else returns a list of dict. Each dict contains at least a field “id” indicating the identifier of this Service
Returns:a list - see as_objects for more information
Return type:list
create_service(service_id)

Creates a new API Service on the API Deployer and returns the handle to interact with it.

Parameters:service_id (str) – Identifier of the API Service to create
Return type:DSSAPIDeployerService
get_service(service_id)

Returns a handle to interact with a single service, as a DSSAPIDeployerService

Parameters:service_id (str) – Identifier of the API service to get
Return type:DSSAPIDeployerService

Infrastructures

class dataikuapi.dss.apideployer.DSSAPIDeployerInfra(client, infra_id)

A Deployment infrastructure on the API Deployer

Do not create this directly, use get_infra()

id()
get_settings()

Gets the settings of this infra. If you want to modify the settings, you need to call save() on the returned object

Returns:a dataikuapi.dss.apideployer.DSSAPIDeployerInfraSettings
class dataikuapi.dss.apideployer.DSSAPIDeployerInfraSettings(client, infra_id, settings)

The settings of an API Deployer Infra.

Do not create this directly, use get_settings()

get_type()

Gets the type of this infra, either STATIC or K8S

add_apinode(url, api_key, graphite_prefix=None)

Adds an API node to the list of nodes of this infra.

Only applicable to STATIC infrastructures

get_raw()

Gets the raw settings of this infra. This returns a reference to the raw settings, not a copy, so changes made to the returned object will be reflected when saving.

Return type:dict
save()

Saves back these settings to the infra

API Services

class dataikuapi.dss.apideployer.DSSAPIDeployerService(client, service_id)

An API service on the API Deployer

Do not create this directly, use get_service()

id()
get_status()

Returns status information about this service. This is used mostly to get information about which versions are available and which deployments are exposing this service

Return type:dataikuapi.dss.apideployer.DSSAPIDeployerServiceStatus
import_version(version_id, fp)

Imports a new version for an API service from a file-like object pointing to a version package Zip file

Parameters:
  • version_id (string) – identifier of the new version
  • fp (string) – A file-like object pointing to a version package Zip file
get_settings()

Gets the settings of this service. If you want to modify the settings, you need to call save() on the returned object.

The main things that can be modified in a service settings are permissions

Returns:a dataikuapi.dss.apideployer.DSSAPIDeployerServiceSettings
class dataikuapi.dss.apideployer.DSSAPIDeployerServiceSettings(client, service_id, settings)

The settings of an API Deployer Service.

Do not create this directly, use get_settings()

get_raw()

Gets the raw settings of this deployment. This returns a reference to the raw settings, not a copy, so changes made to the returned object will be reflected when saving.

Return type:dict
save()

Saves back these settings to the API service

class dataikuapi.dss.apideployer.DSSAPIDeployerServiceStatus(client, service_id, light_status)

The status of an API Deployer Service.

Do not create this directly, use get_status()

get_versions()

Returns the versions of this service that have been published on the API Service

Each version is a dict that contains at least a “id” field, which is the version identifier

Returns:a list of versions, each as a dict containing a “id” field
Return type:list of dicts
get_raw()

Gets the raw status information. This returns a dictionary with various information about the service, :rtype: dict

Deployments

class dataikuapi.dss.apideployer.DSSAPIDeployerDeployment(client, deployment_id)

A Deployment on the API Deployer

Do not create this directly, use get_deployment()

id()
get_status()

Returns status information about this deployment

Return type:dataikuapi.dss.apideployer.DSSAPIDeployerDeploymentStatus
get_settings()

Gets the settings of this deployment. If you want to modify the settings, you need to call save() on the returned object

Returns:a dataikuapi.dss.apideployer.DSSAPIDeployerDeploymentSettings
start_update()

Starts an asynchronous update of this deployment to try to match the actual state to the current settings

Returns:
a dataikuapi.dss.future.DSSFuture tracking the progress of the update. Call
wait_for_result() on the returned object

to wait for completion (or failure)

delete()

Deletes this deployment

You may only delete a deployment if it is disabled and has been updated after disabling it.

class dataikuapi.dss.apideployer.DSSAPIDeployerDeploymentSettings(client, deployment_id, settings)

The settings of an API Deployer deployment.

Do not create this directly, use get_settings()

get_raw()

Gets the raw settings of this deployment. This returns a reference to the raw settings, not a copy, so changes made to the returned object will be reflected when saving.

Return type:dict
set_enabled(enabled)

Enables or disables this deployment

set_single_version(version)

Sets this deployment to target a single version of the API service

Parameters:version (str) – Identifier of the version to set
save()

Saves back these settings to the deployment

class dataikuapi.dss.apideployer.DSSAPIDeployerDeploymentStatus(client, deployment_id, light_status, heavy_status)

The status of an API Deployer deployment.

Do not create this directly, use get_status()

get_light()

Gets the ‘light’ (summary) status. This returns a dictionary with various information about the deployment, but not the actual health of the deployment

Return type:dict
get_heavy()

Gets the ‘heavy’ (full) status. This returns a dictionary with various information about the deployment :rtype: dict

get_service_urls()

Returns service-level URLs for this deployment (ie without the enpdoint-specific suffix)

get_health()

Returns the health of this deployment as a string

Returns:HEALTHY if the deployment is working properly, various other status otherwise
Return type:string
get_health_messages()

Returns messages about the health of this deployment