IPython notebook 仪表板架构#
注意
这是从旧 IPython wiki 中逐字复制的,目前正在开发中。开发指南中此部分的大部分信息已过时。
下表显示了 IPython notebook 中实现的当前 RESTful Web 服务架构。列出的 URL 使用 HTTP 动词来返回所需资源的表示形式。
我们正在为 IPython notebook 创建一个新的仪表板架构,它将允许用户浏览多个目录文件以查找所需的 notebook。
当前架构#
杂项
HTTP 动词 |
URL |
操作 |
---|---|---|
|
/.*/ |
去除尾部斜杠。 |
|
/api |
返回 API 版本信息。 |
|
/api/notebooks |
已弃用:重定向到 /api/contents |
|
/api/nbconvert |
Notebook 内容 API。
HTTP 动词 |
URL |
操作 |
---|---|---|
|
/api/contents |
返回基本目录的模型。请参阅 /api/contents/<path>/<file>。 |
|
/api/contents/ <file> |
返回基本目录中给定文件的模型。请参阅 /api/contents/<path>/<file>。 |
|
/api/contents/ <path>/<file> |
返回文件或目录的模型。目录模型包含其包含的文件和目录的模型列表(不含内容)。 |
|
/api/contents/ <path>/<file> |
将文件保存在名称和路径指定的目录中。PUT 与 POST 非常相似,但请求者指定名称,而使用 POST 时,服务器选择名称。PUT /api/contents/path/Name.ipynb 将 notebook 保存到 |
|
/api/contents/ <path>/<file> |
重命名 notebook,无需重新上传内容。 |
|
/api/contents/ <path>/<file> |
在指定路径中创建新文件或目录。POST 创建新文件或目录。服务器始终决定名称。POST /api/contents/path 在路径中创建新的无标题 notebook。如果指定内容,则上传 notebook,否则从空开始。POST /api/contents/path,正文为 {“copy_from”:”OtherNotebook.ipynb”} 在路径中创建 OtherNotebook 的新副本 |
|
/api/contents/ <path>/<file> |
删除给定路径中的文件。 |
|
/api/contents/ <path>/<file> /checkpoints |
获取文件的检查点列表。 |
|
/api/contents/ <path>/<file> /checkpoints |
post 创建一个新的检查点。 |
|
/api/contents/ <path>/<file> /checkpoints/ <checkpoint_ id> |
post 从检查点恢复文件。 |
|
/api/contents/ <path>/<file> /checkpoints/ <checkpoint_ id> |
delete 清除给定文件的检查点。 |
Kernel API
HTTP 动词 |
URI |
操作 |
---|---|---|
|
/api/kernels |
返回所有 kernel 的模型。 |
|
/api/kernels /<kernel_id> |
返回具有给定 kernel ID 的 kernel 的模型。 |
|
/api/kernels |
使用默认名称或给定名称启动新的 kernel。 |
|
/api/kernels /<kernel_id> |
关闭给定的 kernel。 |
|
/api/kernels /<kernel_id> /<action> |
对具有给定 kernel ID 的 kernel 执行操作。操作可以是“interrupt”或“restart”。 |
|
/api/kernels /<kernel_id> /channels |
Websocket 流 |
|
/api/kernel specs |
返回所有可用 kernel 的规范模型。 |
|
/api/kernel specs/ <kernel_name> |
返回具有给定 kernel 名称的所有可用 kernel 的规范模型。 |
Sessions API
HTTP 动词 |
URL |
操作 |
---|---|---|
|
/api/sesions |
返回活动会话的模型。 |
|
/api/sessions |
如果会话不存在,则使用给定的笔记本名称和路径以及给定的内核名称创建新会话。返回活动会话。 |
|
/api/sessions /<session_id> |
返回具有给定会话 ID 的活动会话的模型。 |
|
/api/sessions /<session_id> |
返回具有笔记本名称或具有给定会话 ID 的会话路径的活动会话的模型。 |
|
/api/sessions /<session_id> |
删除具有给定会话 ID 的活动会话的模型。 |
群集 API
HTTP 动词 |
URL |
操作 |
---|---|---|
|
/api/clusters |
返回群集的模型。 |
|
/api/clusters <cluster_id> |
返回给定群集的模型。 |
|
/api/clusters <cluster_id> <action> |
使用给定的群集执行操作。有效操作为“start”和“stop” |
旧架构#
此图表显示了单个目录 IPython 笔记本中的 Web 服务。
HTTP 动词 |
URL |
操作 |
---|---|---|
|
/notebooks |
返回包含每个笔记本信息的字典列表 |
|
/notebooks |
如果发送正文,则将该正文另存为新笔记本;如果没有正文,则创建一个新笔记本。 |
|
/notebooks /<notebook_id> |
获取笔记本的 JSON 数据 |
|
/notebooks /<notebook_id> |
使用正文数据保存现有笔记本 |
|
/notebooks /<notebook_id> |
删除具有给定 ID 的笔记本 |
此图表显示了 IPython 笔记本网站的架构。
HTTP 动词 |
URL |
操作 |
---|---|---|
|
/ |
将用户导航到笔记本和群集的仪表板。 |
|
/<notebook_id> |
转到该笔记本的网页 |
|
/new |
使用配置文件(或不存在配置文件时的默认值)设置创建新笔记本 |
|
/<notebook_id> /copy |
在新选项卡中打开具有给定 ID 的笔记本的副本或副本 |
|
/<notebook_id> /print |
打印具有给定 ID 的笔记本;如果笔记本不存在,则显示错误消息 |
|
/login |
导航到登录页面;如果没有定义用户配置文件,则将用户导航到仪表板 |
|
/logout |
注销当前配置文件,并将用户导航到登录页面 |
此图表显示了对内核和群集起作用的 Web 服务。
HTTP 动词 |
URL |
操作 |
---|---|---|
|
/kernels |
返回当前正在运行的内核 ID 列表 |
|
/kernels /<kernel_id> |
— |
|
/kernels /<kernel_id> <action> |
对具有给定 ID 的内核执行操作(重新启动/终止) |
|
/kernels /<kernel_id> /iopub |
— |
|
/kernels /<kernel_id> /shell |
— |
|
/rstservice/ render |
— |
|
/files/(.*) |
— |
|
/clusters |
返回包含每个群集信息的字典列表 |
|
/clusters /<profile_id> /<cluster_ action> |
对具有给定配置文件 ID 的群集执行操作(启动/停止) |
|
/clusters /<profile_id> |
返回具有给定配置文件 ID 的群集的 JSON 数据 |