1 个不稳定版本
0.1.0 | 2024 年 1 月 14 日 |
---|
#9 在 #jupyter
69KB
1.5K SLoC
概述
这是将 kernel-sidecar 移植到 Rust 的尝试。
路线图
- 根据连接文件中的信息建立与内核的 ZMQ 连接
- 模拟高级 Jupyter 消息规范和线缆协议,包括 hmac 签名
- 实现从 Python 版本中继承的动作和消息委派概念
- 模拟所有 Jupyter 消息
- 模拟内存中的笔记本,并创建基于输出的更新它的实用程序处理器
- 测试多个内核后端
- Python (ipykernel)
- Rust (evcxr_jupyter)
- Typescript (deno)
- R (irkernel)
- 实现类似于 Python kernel-sidecar 的 CLI
- 创建从外部调用控制笔记本的示例应用程序,例如 AI 函数调用
- 创建与 Carabiner GPT 集成的示例
- 通过 y-crdt 差分与 Jupyter 服务器连接,以与其他用户保持同步
运行
使用 cargo run
。此时的 main.rs
脚本以子进程启动 Jupyter 内核,可用的实用函数可以启动 ipykernel
(Python)、evcxr_jupyter
(Rust) 或 irkernel
(R) 内核。之后,该脚本创建一个针对 kernel_info_request
的 Action
并等待其完成,这意味着它应该一直运行,直到内核进入空闲状态,我们看到 kernel_info_reply
。将 Handler
附加到动作上以 dbg!
所有与原始请求相关的消息。
依赖关系
~15–26MB
~458K SLoC