1 个不稳定版本

0.1.0 2024 年 1 月 14 日

#9#jupyter

MIT 许可证

69KB
1.5K SLoC

Tests

概述

这是将 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_requestAction 并等待其完成,这意味着它应该一直运行,直到内核进入空闲状态,我们看到 kernel_info_reply。将 Handler附加到动作上以 dbg! 所有与原始请求相关的消息。

依赖关系

~15–26MB
~458K SLoC