This project has retired. For details please refer to its Attic page.
Environment REST API | Apache Submarine
Skip to main content
Version: 0.6.0

Environment REST API

Create Environment

POST /api/v1/environment

Parameters

Put EnvironmentSpec in request body.

EnvironmentSpec

Field NameTypeDescription
nameStringEnvironment name.
dockerImageStringDocker image name.
kernelSpecKernelSpecEnvironment spec.
descriptionStringDescription of environment.

KernelSpec

Field NameTypeDescription
nameStringKernel name.
channelsList<String>Names of the channels.
condaDependenciesList<String>List of kernel conda dependencies.
pipDependenciesList<String>List of kernel pip dependencies.

Code Example

shell

curl -X POST -H "Content-Type: application/json" -d '
{
"name": "my-submarine-env",
"dockerImage" : "continuumio/anaconda3",
"kernelSpec" : {
"name" : "team_default_python_3.7",
"channels" : ["defaults"],
"condaDependencies" :
["_ipyw_jlab_nb_ext_conf=0.1.0=py37_0",
"alabaster=0.7.12=py37_0",
"anaconda=2020.02=py37_0",
"anaconda-client=1.7.2=py37_0",
"anaconda-navigator=1.9.12=py37_0"],
"pipDependencies" :
["apache-submarine==0.6.0",
"pyarrow==0.17.0"]
}
}
' http://127.0.0.1:32080/api/v1/environment

response

{
"status":"OK",
"code":200,
"success":true,
"message":null,
"result":{
"environmentId":"environment_1646619331994_0001",
"environmentSpec":{
"name":"my-submarine-env",
"dockerImage":"continuumio/anaconda3",
"kernelSpec":{
"name":"team_default_python_3.7",
"channels":[
"defaults"
],
"condaDependencies":[
"_ipyw_jlab_nb_ext_conf\u003d0.1.0\u003dpy37_0",
"alabaster\u003d0.7.12\u003dpy37_0",
"anaconda\u003d2020.02\u003dpy37_0",
"anaconda-client\u003d1.7.2\u003dpy37_0",
"anaconda-navigator\u003d1.9.12\u003dpy37_0"
],
"pipDependencies":[
"apache-submarine\u003d\u003d0.6.0",
"pyarrow\u003d\u003d0.17.0"
]
},
"description":null,
"image":null
}
},
"attributes":{}
}

List Environment

GET /api/v1/environment

Code Example

shell

curl -X GET http://127.0.0.1:32080/api/v1/environment

response

{
"status":"OK",
"code":200,
"success":true,
"message":null,
"result":[
{
"environmentId":"environment_1600862964725_0002",
"environmentSpec":{
"name":"notebook-gpu-env",
"dockerImage":"apache/submarine:jupyter-notebook-gpu-0.6.0",
"kernelSpec":{
"name":"submarine_jupyter_py3",
"channels":["defaults"],
"condaDependencies":[],
"pipDependencies":[]
},
"description":null,
"image":null
}
},
{
"environmentId":"environment_1626160071451_0001",
"environmentSpec":{
"name":"my-submarine-env",
"dockerImage":"continuumio/anaconda3",
"kernelSpec":{
"name":"team_default_python_3.7",
"channels":["defaults"],
"condaDependencies":
["_ipyw_jlab_nb_ext_conf\u003d0.1.0\u003dpy37_0",
"alabaster\u003d0.7.12\u003dpy37_0",
"anaconda\u003d2020.02\u003dpy37_0",
"anaconda-client\u003d1.7.2\u003dpy37_0",
"anaconda-navigator\u003d1.9.12\u003dpy37_0"],
"pipDependencies":
["apache-submarine\u003d\u003d0.5.0",
"pyarrow\u003d\u003d0.17.0"]
},
"description":null,
"image":null
}
},
{
"environmentId":"environment_1600862964725_0001",
"environmentSpec":{
"name":"notebook-env",
"dockerImage":"apache/submarine:jupyter-notebook-0.6.0",
"kernelSpec":{
"name":"submarine_jupyter_py3",
"channels":["defaults"],
"condaDependencies":[],
"pipDependencies":[]
},
"description":null,
"image":null
}
}
],
"attributes":{}
}

Get Environment

GET /api/v1/environment/{name}

Parameters

Field NameTypeInDescription
nameStringpathEnvironment name.

Code Example

shell

curl -X GET http://127.0.0.1:32080/api/v1/environment/my-submarine-env

response

{
"status":"OK",
"code":200,
"success":true,
"message":null,
"result":{
"environmentId":"environment_1626160071451_0001",
"environmentSpec":{
"name":"my-submarine-env",
"dockerImage":"continuumio/anaconda3",
"kernelSpec":{
"name":"team_default_python_3.7",
"channels":["defaults"],
"condaDependencies":
["_ipyw_jlab_nb_ext_conf\u003d0.1.0\u003dpy37_0",
"alabaster\u003d0.7.12\u003dpy37_0",
"anaconda\u003d2020.02\u003dpy37_0",
"anaconda-client\u003d1.7.2\u003dpy37_0",
"anaconda-navigator\u003d1.9.12\u003dpy37_0"],
"pipDependencies":
["apache-submarine\u003d\u003d0.5.0",
"pyarrow\u003d\u003d0.17.0"]
},
"description":null,
"image":null
}
},
"attributes":{}
}

Patch Environment

PATCH /api/v1/environment/{name}

Parameters

Field NameTypeInDescription
nameStringpath and bodyEnvironment name.
dockerImageStringbodyDocker image name.
kernelSpecKernelSpecbodyEnvironment spec.
descriptionStringbodyDescription of environment. This field is optional.

Code Example

shell

curl -X PATCH -H "Content-Type: application/json" -d '
{
"name": "my-submarine-env",
"dockerImage" : "continuumio/anaconda3",
"kernelSpec" : {
"name" : "team_default_python_3.7_updated",
"channels" : ["defaults"],
"condaDependencies" :
["_ipyw_jlab_nb_ext_conf=0.1.0=py37_0",
"alabaster=0.7.12=py37_0"],
"pipDependencies" :
[]
}
}
' http://127.0.0.1:32080/api/v1/environment/my-submarine-env

response

{
"status":"OK",
"code":200,
"success":true,
"message":null,
"result":{
"environmentId":"environment_1626160071451_0003",
"environmentSpec":{
"name":"my-submarine-env",
"dockerImage":"continuumio/anaconda3",
"kernelSpec":{
"name":"team_default_python_3.7_updated",
"channels":["defaults"],
"condaDependencies":
["_ipyw_jlab_nb_ext_conf\u003d0.1.0\u003dpy37_0",
"alabaster\u003d0.7.12\u003dpy37_0"],
"pipDependencies":[]
},
"description":null,
"image":null
}
},
"attributes":{}
}

Delete Environment

DELETE /api/v1/environment/{name}

Parameters

Field NameTypeInDescription
nameStringpathEnvironment name.

Code Example

shell

curl -X DELETE http://127.0.0.1:32080/api/v1/environment/my-submarine-env

response

{
"status":"OK",
"code":200,
"success":true,
"message":null,
"result":{
"environmentId":"environment_1626160071451_0001",
"environmentSpec":{
"name":"my-submarine-env",
"dockerImage":"continuumio/anaconda3",
"kernelSpec":{
"name":"team_default_python_3.7",
"channels":["defaults"],
"condaDependencies":
["_ipyw_jlab_nb_ext_conf\u003d0.1.0\u003dpy37_0",
"alabaster\u003d0.7.12\u003dpy37_0",
"anaconda\u003d2020.02\u003dpy37_0",
"anaconda-client\u003d1.7.2\u003dpy37_0",
"anaconda-navigator\u003d1.9.12\u003dpy37_0"],
"pipDependencies":
["apache-submarine\u003d\u003d0.5.0",
"pyarrow\u003d\u003d0.17.0"]
},
"description":null,
"image":null
}
},"attributes":{}
}