跳转到主要内容

为挑剔用户准备的Jupyter内核

项目描述

pick

在启动时自定义您的内核!

Pick 的魔法让您可以自定义虚拟环境、conda 环境和 Jupyter 内核。如果您有大量数据或模型,您可以使用 Pick 以轻松达到峰值效率--在笔记本单元格内创建的可组合的即时环境和内核。

尚未准备好广泛安装。如果您准备好尝试它,请从以下详细说明的开发版本开始。

需求

  • Python 3.7

开发

克隆存储库并在开发模式下安装它

git clone https://github.com/rgbkrk/pick
cd pick
pip3 install -e .

创建内核规范

pick-install --user

目的和背景

在笔记本中工作时,我们希望选择在后台启动的资源,创建内核环境,并在内核和自定义资源准备就绪时通知用户。在笔记本中创建 conda 环境、启动 spark 集群或运行 conda 环境内的 ipython 内核是我们想要做的示例。

在考虑初始设计时,我们考虑了更改 Jupyter API 以允许在启动时设置更多参数的方法。这将需要在 /api/kernelspecs/api/kernel、每个 UI 以及笔记本服务器、jupyter 客户端、jupyter 控制台和 papermill 启动内核的方式上做出更改。虽然可行,但我们希望为笔记本用户和开发者提供更简单的方法。

因此,我们决定使用魔法--内核魔法。以其他单元格魔法的方式,我们希望 Pick 在笔记本单元格中为用户提供灵活的内核魔法。

以下是一个创建使用 conda 环境的内核的内核魔法的示例

%%kernel.conda-environment

name: example-environment
channels:
  - conda-forge
dependencies:
  - numpy
  - psutil
  - toolz
  - matplotlib
  - dill
  - pandas
  - partd
  - bokeh
  - dask

在实际操作中,它的工作方式是这样的

image

当 Pick 正在准备魔法背后的内核时,它会向前端输出日志,并保持笔记本用户界面响应。

与 Pick 和内核魔法类似的例子包括在启动 ipython 内核之前设置 spark 和其相关环境变量。Pick 为从环境启动内核提供了其他创新的方式。

真相:这是一个内核代理!

Pick 的设计重点在于让用户无需在众多 Jupyter 项目之间配置扩展或从命令行执行任务,就能轻松配置内核。Pick 作为一个常规的 Jupyter 内核,还增加了创建、自定义和管理“子内核”的能力。

我们设置了 Pick 与 jupyter 客户端(无论是笔记本服务器还是 papermill)的初始通信协议。接下来,运行 %%kernel.* 魔法,然后启动“真实”的内核。

image

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分布

pick_kernel-0.0.4.tar.gz (20.9 kB 查看哈希)

上传时间 源代码

构建分布

pick_kernel-0.0.4-py3-none-any.whl (22.8 kB 查看哈希)

上传时间 Python 3

由以下机构支持