Environment REST API
Note: The Environment API is in the alpha stage which is subjected to incompatible changes in future releases.
Create Environmentβ
POST /api/v1/environment
Example Request
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.5.0",
"pyarrow==0.17.0"]
}
}
' http://127.0.0.1:32080/api/v1/environment
Example Response:
{
"status": "OK",
"code": 200,
"result": {
"environmentId": "environment_1586156073228_0001",
"environmentSpec": {
"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.5.0",
"pyarrow==0.17.0"]
}
}
}
}
List environmentβ
GET /api/v1/environment
Example Request:
curl -X GET http://127.0.0.1:32080/api/v1/environment
Example Response:
{
"status": "OK",
"code": 200,
"result": [
{
"environmentId": "environment_1586156073228_0001",
"environmentSpec": {
"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.5.0",
"pyarrow==0.17.0"]
}
}
},
{
"environmentId": "environment_1586156073228_0002",
"environmentSpec": {
"name": "my-submarine-env-2",
"dockerImage" : "continuumio/miniconda",
"kernelSpec" : {
"name" : "team_miniconda_python_3.7",
"channels" : ["defaults"],
"condaDependencies" :
["_ipyw_jlab_nb_ext_conf=0.1.0=py37_0"],
"pipDependencies" :
[],
}
}
}
]
}
Get environmentβ
GET /api/v1/environment/{name}
Example Request:
curl -X GET http://127.0.0.1:32080/api/v1/environment/my-submarine-env
Example Response:
{
"status": "OK",
"code": 200,
"result": {
"environmentId": "environment_1586156073228_0001",
"environmentSpec": {
"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.5.0",
"pyarrow==0.17.0"]
}
}
}
}
Patch environmentβ
PATCH /api/v1/environment/{name}
Example Request:
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
Example Response:
{
"status": "OK",
"code": 200,
"success": true,
"result": {
"environmentId": "environment_1586156073228_0001",
"environmentSpec": {
"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" :
[]
}
}
}
}
dockerImage, "name" (of kernelSpec), "channels", "condaDependencies", "pipDependencies" etc can be updated using this API. "name" of EnvironmentSpec is not supported.
Delete environmentβ
GET /api/v1/environment/{name}
Example Request:
curl -X DELETE http://127.0.0.1:32080/api/v1/environment/my-submarine-env
Example Response:
{
"status": "OK",
"code": 200,
"result": {
"environmentId": "environment_1586156073228_0001",
"environmentSpec": {
"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" :
[]
}
}
}
}