title: 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.5.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_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":{}
}

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-SNAPSHOT",
        "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-SNAPSHOT",
        "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":{}
}