IPython 笔记本仪表板的架构#
注意
这是从旧的 IPython wiki 直接复制过来的,目前正在开发中。开发指南的这一部分中的许多信息已经过时。
下表展示了当前在IPython笔记本中实现的RESTful Web服务架构。列出的URL使用HTTP动词返回所需资源的表示形式。
我们正在为 IPython 笔记本创建一个新的仪表板架构,这将允许用户浏览多个目录文件以找到所需的笔记本。
当前架构#
杂项
HTTP 动词 |
URL |
动作 |
---|---|---|
|
/.*/ |
去除尾随斜杠。 |
|
/api |
返回API版本信息。 |
|
/api/notebooks |
已弃用:重定向到 /api/contents |
|
/api/nbconvert |
Notebook 内容 API。
HTTP 动词 |
URL |
动作 |
---|---|---|
|
/api/contents |
返回基础目录的模型。参见 /api/contents/<path>/<file>。 |
|
/api/contents/ <文件> |
返回基础目录中给定文件的模型。参见 /api/contents/<path>/<file>。 |
|
/api/contents/ <路径>/<文件> |
返回一个文件或目录的模型。一个目录模型包含其包含的文件和目录的模型列表(不包含内容)。 |
|
/api/contents/ <路径>/<文件> |
将文件保存到由名称和路径指定的位置。PUT 与 POST 非常相似,但请求者指定名称,而使用 POST 时,服务器选择名称。PUT /api/contents/path/Name.ipynb 将笔记本保存到 |
|
/api/contents/ <路径>/<文件> |
在不重新上传内容的情况下重命名笔记本。 |
|
/api/contents/ <路径>/<文件> |
在指定路径中创建新文件或目录。POST 创建新文件或目录。服务器总是决定名称。POST /api/contents/path 在路径中新建一个未命名的笔记本。如果指定了内容,则上传笔记本,否则开始为空。POST /api/contents/path 带有正文 {"copy_from":"OtherNotebook.ipynb"} 在路径中新建 OtherNotebook 的副本。 |
|
/api/contents/ <路径>/<文件> |
删除指定路径中的文件。 |
|
/api/contents/ <路径>/<文件> /检查点 |
获取文件的检查点列表。 |
|
/api/contents/ <路径>/<文件> /检查点 |
post 创建一个新的检查点。 |
|
/api/contents/ <path>/<file> /checkpoints/ <checkpoint_id> |
post 从检查点恢复文件。 |
|
/api/contents/ <path>/<file> /checkpoints/ <checkpoint_id> |
delete 清除给定文件的检查点。 |
内核API
HTTP 动词 |
URI |
动作 |
---|---|---|
|
/api/kernels |
返回所有内核的模型。 |
|
/api/kernels /<kernel_id> |
返回具有给定内核ID的内核模型。 |
|
/api/kernels |
使用默认或给定的名称启动一个新的内核。 |
|
/api/kernels /<kernel_id> |
关闭指定的内核。 |
|
/api/kernels /<kernel_id> /<action> |
对具有给定内核ID的内核执行操作。操作可以是“中断”或“重启”。 |
|
/api/kernels /<kernel_id> /channels |
Websocket 流 |
|
/api/内核规范 |
返回所有可用内核的规格模型。 |
|
/api/kernel specs/ <kernel_name> |
返回具有给定内核名称的所有可用内核的规范模型。 |
会话 API
HTTP 动词 |
URL |
动作 |
---|---|---|
|
/api/sessions |
返回活动会话的模型。 |
|
/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> |
使用给定的集群执行操作。有效的操作是“启动”和“停止”。 |
旧架构#
此图展示了单目录 IPython 笔记本中的 Web 服务。
HTTP 动词 |
URL |
动作 |
---|---|---|
|
/笔记本 |
返回包含每个笔记本信息的字典列表 |
|
/笔记本 |
如果发送正文,则将该正文保存为新笔记本;如果没有正文,则创建一个新笔记本。 |
|
/notebooks /<notebook_id> |
获取笔记本的JSON数据 |
|
/notebooks /<notebook_id> |
使用正文数据保存现有笔记本 |
|
/notebooks /<notebook_id> |
删除具有给定ID的笔记本 |
此图展示了IPython笔记本网站的架构。
HTTP 动词 |
URL |
动作 |
---|---|---|
|
/ |
导航用户到笔记本和集群的仪表板。 |
|
/<notebook_id> |
转到该笔记本的网页 |
|
/新 |
使用配置文件(或默认配置,如果没有配置文件存在)设置创建一个新的笔记本 |
|
/<notebook_id> /复制 |
在新标签页中打开具有给定ID的笔记本的副本或原始笔记本 |
|
/<笔记本_id> /打印 |
打印具有给定ID的笔记本;如果笔记本不存在,则显示错误消息 |
|
/登录 |
导航到登录页面;如果没有定义用户配置文件,则导航用户到仪表板 |
|
/注销 |
退出当前配置文件,并将用户导航到登录页面 |
此图展示了作用于内核和集群的Web服务。
HTTP 动词 |
URL |
动作 |
---|---|---|
|
/内核 |
返回当前正在运行的内核ID列表 |
|
/内核 /<内核_ID> |
--- |
|
/内核 /<内核_ID> <操作> |
执行操作(重启/终止)具有给定ID的内核 |
|
/内核 /<内核_ID> /iopub |
--- |
|
/内核 /<内核_ID> /shell |
--- |
|
/rstservice/ 渲染 |
--- |
|
文件/(.*) |
--- |
|
/集群 |
返回一个包含每个集群信息的字典列表 |
|
/集群 /<配置文件_ID> /<集群_操作> |
在具有给定配置文件ID的集群上执行操作(启动/停止) |
|
/集群 /<配置文件_ID> |
返回具有给定配置文件ID的集群的JSON数据 |