You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
366 lines
9.4 KiB
366 lines
9.4 KiB
swagger: '2.0'
|
|
info:
|
|
title: Jupyter Notebook API
|
|
description: Notebook API
|
|
version: "4"
|
|
contact:
|
|
name: Jupyter Project
|
|
url: jupyter.org
|
|
# will be prefixed to all paths
|
|
basePath: /api
|
|
produces:
|
|
- application/json
|
|
consumes:
|
|
- application/json
|
|
parameters:
|
|
kernel:
|
|
name: kernel
|
|
required: true
|
|
in: path
|
|
description: kernel uuid
|
|
type: string
|
|
format: uuid
|
|
session:
|
|
name: session
|
|
required: true
|
|
in: path
|
|
description: session uuid
|
|
type: string
|
|
format: uuid
|
|
|
|
paths:
|
|
/sessions/{session}:
|
|
parameters:
|
|
- $ref: '#/parameters/session'
|
|
get:
|
|
summary: Get session
|
|
tags:
|
|
- sessions
|
|
responses:
|
|
200:
|
|
description: Session
|
|
schema:
|
|
$ref: '#/definitions/Session'
|
|
patch:
|
|
summary: This can be used to rename the notebook, or move it to a new directory.
|
|
tags:
|
|
- sessions
|
|
parameters:
|
|
- name: model
|
|
in: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
notebook:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
format: path
|
|
description: new path for notebook
|
|
responses:
|
|
200:
|
|
description: Session
|
|
schema:
|
|
$ref: '#/definitions/Session'
|
|
400:
|
|
description: No data provided
|
|
delete:
|
|
summary: Delete a session
|
|
tags:
|
|
- sessions
|
|
responses:
|
|
204:
|
|
description: Session (and kernel) were deleted
|
|
410:
|
|
description: Kernel was deleted before the session, and the session was *not* deleted (TODO - check to make sure session wasn't deleted)
|
|
/sessions:
|
|
get:
|
|
summary: List available sessions
|
|
tags:
|
|
- sessions
|
|
responses:
|
|
200:
|
|
description: List of current sessions
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/Session'
|
|
post:
|
|
summary: Create a new session, or return an existing session if a session for the notebook path already exists
|
|
tags:
|
|
- sessions
|
|
parameters:
|
|
- name: session
|
|
in: body
|
|
schema:
|
|
type: object
|
|
properties:
|
|
notebook:
|
|
type: object
|
|
required:
|
|
- path
|
|
properties:
|
|
path:
|
|
type: string
|
|
description: path to notebook file
|
|
kernel:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Kernel spec name, defaults to default kernel spec
|
|
responses:
|
|
201:
|
|
description: Session created or returned
|
|
schema:
|
|
$ref: '#/definitions/Session'
|
|
headers:
|
|
Location:
|
|
description: URL for session commands
|
|
type: string
|
|
format: url
|
|
501:
|
|
description: Kernel not available
|
|
schema:
|
|
type: object
|
|
description: error message
|
|
properties:
|
|
message:
|
|
type: string
|
|
short_message:
|
|
type: string
|
|
|
|
/kernels:
|
|
get:
|
|
summary: List the JSON data for all kernels that are currently running
|
|
tags:
|
|
- kernels
|
|
responses:
|
|
200:
|
|
description: List of currently-running kernel uuids
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/Kernel'
|
|
post:
|
|
summary: Start a kernel and return the uuid
|
|
tags:
|
|
- kernels
|
|
parameters:
|
|
- name: name
|
|
in: body
|
|
description: Kernel spec name (defaults to default kernel spec for server)
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
responses:
|
|
201:
|
|
description: Kernel started
|
|
headers:
|
|
Location:
|
|
description: URL for kernel commands
|
|
type: string
|
|
format: url
|
|
/kernels/{kernel}:
|
|
parameters:
|
|
- $ref: '#/parameters/kernel'
|
|
get:
|
|
summary: Get kernel information
|
|
tags:
|
|
- kernels
|
|
responses:
|
|
200:
|
|
description: Kernel information
|
|
schema:
|
|
$ref: '#/definitions/Kernel'
|
|
delete:
|
|
summary: Kill a kernel and delete the kernel id
|
|
tags:
|
|
- kernels
|
|
responses:
|
|
204:
|
|
description: Kernel deleted
|
|
/kernels/{kernel}/interrupt:
|
|
parameters:
|
|
- $ref: '#/parameters/kernel'
|
|
post:
|
|
summary: Interrupt a kernel
|
|
tags:
|
|
- kernels
|
|
responses:
|
|
204:
|
|
description: Kernel interrupted
|
|
/kernels/{kernel}/restart:
|
|
parameters:
|
|
- $ref: '#/parameters/kernel'
|
|
post:
|
|
summary: Restart a kernel
|
|
tags:
|
|
- kernels
|
|
responses:
|
|
200:
|
|
description: Kernel interrupted
|
|
headers:
|
|
Location:
|
|
description: URL for kernel commands
|
|
type: string
|
|
format: url
|
|
schema:
|
|
$ref: '#/definitions/Kernel'
|
|
|
|
/kernelspecs:
|
|
get:
|
|
summary: List kernel specs
|
|
tags:
|
|
- kernelspecs
|
|
responses:
|
|
200:
|
|
description: Kernel specs
|
|
schema:
|
|
type: object
|
|
properties:
|
|
default:
|
|
type: string
|
|
description: Default kernel name
|
|
kernelspecs:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/KernelSpec'
|
|
/kernelspecs/{kernel}:
|
|
parameters:
|
|
- $ref: '#/parameters/kernel'
|
|
get:
|
|
summary: Kernel information
|
|
tags:
|
|
- kernelspecs
|
|
responses:
|
|
200:
|
|
description: The contents of kernel.json
|
|
schema:
|
|
$ref: '#/definitions/KernelSpec'
|
|
404:
|
|
description: Kernel spec not found
|
|
/kernelspecs/{kernel}/{filename}:
|
|
get:
|
|
summary: Retrieve a file from the kernel directory
|
|
tags:
|
|
- kernelspecs
|
|
parameters:
|
|
- name: kernel
|
|
in: path
|
|
description: Kernel uuid
|
|
type: string
|
|
required: true
|
|
- name: filename
|
|
in: path
|
|
description: filename
|
|
type: string
|
|
required: true
|
|
responses:
|
|
200:
|
|
description: file
|
|
|
|
definitions:
|
|
KernelSpec:
|
|
description: Kernel spec (contents of kernel.json)
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Unique name for kernel
|
|
spec:
|
|
$ref: '#/definitions/KernelSpecFile'
|
|
description: Kernel spec json file
|
|
resources:
|
|
type: object
|
|
properties:
|
|
kernel.js:
|
|
type: string
|
|
format: filename
|
|
description: path for kernel.js file
|
|
kernel.css:
|
|
type: string
|
|
format: filename
|
|
description: path for kernel.css file
|
|
logo-*:
|
|
type: string
|
|
format: filename
|
|
description: path for logo file. Logo filenames are of the form `logo-widthxheight`
|
|
KernelSpecFile:
|
|
description: Kernel spec json file
|
|
required:
|
|
- argv
|
|
- display_name
|
|
- language
|
|
properties:
|
|
language:
|
|
type: string
|
|
description: The programming language which this kernel runs. This will be stored in notebook metadata.
|
|
argv:
|
|
type: array
|
|
description: A list of command line arguments used to start the kernel. The text `{connection_file}` in any argument will be replaced with the path to the connection file.
|
|
items:
|
|
type: string
|
|
display_name:
|
|
type: string
|
|
description: The kernel's name as it should be displayed in the UI. Unlike the kernel name used in the API, this can contain arbitrary unicode characters.
|
|
codemirror_mode:
|
|
type: string
|
|
description: Codemirror mode. Can be a string *or* an valid Codemirror mode object. This defaults to the string from the `language` property.
|
|
env:
|
|
type: object
|
|
description: A dictionary of environment variables to set for the kernel. These will be added to the current environment variables.
|
|
additionalProperties:
|
|
type: string
|
|
help_links:
|
|
type: array
|
|
description: Help items to be displayed in the help menu in the notebook UI.
|
|
items:
|
|
type: object
|
|
required:
|
|
- text
|
|
- url
|
|
properties:
|
|
text:
|
|
type: string
|
|
description: menu item link text
|
|
url:
|
|
type: string
|
|
format: URL
|
|
description: menu item link url
|
|
Kernel:
|
|
description: Kernel information
|
|
required:
|
|
- id
|
|
- name
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
description: uuid of kernel
|
|
name:
|
|
type: string
|
|
description: kernel spec name
|
|
Session:
|
|
description: A session
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
notebook:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
description: path to notebook
|
|
kernel:
|
|
$ref: '#/definitions/Kernel'
|
|
|
|
|
|
|
|
|