跳转到主要内容

JupyterLite用于Xeus内核的加载器

项目描述

JupyterLite Xeus

Github Actions Status

JupyterLite用于Xeus内核的加载器

要求

  • JupyterLab >= 4.0.0

安装

要安装此扩展,请执行以下命令

pip install jupyterlite_xeus

用法

从 environment.yml

xeus-python 内核

要加载具有自定义环境的 xeus-python 内核,请创建一个包含 xeus-python 和所需依赖项的 environment.yml 文件。以下是一个包含额外依赖项 numpy 的示例

name: xeus-lite-wasm
channels:
  - https://repo.mamba.pm/emscripten-forge
  - conda-forge
dependencies:
  - xeus-python
  - numpy

要构建 JupyterLite,请运行以下命令,其中 environment.yml 是您刚刚创建的文件的路径

jupyter lite build --XeusAddon.environment_file=some_path/to/environment.yml

xeus-lua / xeus-sqlite / xeus-

要加载 xeus-luaxeus-sqlite 内核,您可以像上面一样操作,只需使用

dependencies:
  - xeus-lua

dependencies:
  - xeus-sqlite

请注意,xeus-sqlitexeus-lua 目前尚不支持额外依赖项。要构建 JupyterLite,请再次运行

jupyter lite build --XeusAddon.environment_file=environment.yml

多个内核

要创建具有多个内核的部署,您只需将它们添加到 environment.yml 文件中即可

name: xeus-lite-wasm
channels:
  - https://repo.mamba.pm/emscripten-forge
  - conda-forge
dependencies:
  - xeus-python
  - xeus-lua
  - xeus-sqlite
  - numpy

从本地环境/前缀

当开发 xeus-kernel 时,能够在不发布内核到 emscripten-forge 的情况下在 JupyterLite 中测试它非常有用。因此,您还可以使用本地环境/前缀来构建具有自定义内核的 JupyterLite。

创建本地环境/前缀

此工作流程通常从为 emscripten-wasm32 平台创建一个本地 conda 环境/前缀开始,其中包含构建内核所需的所有依赖项(这里我们安装了构建 xeus-python 所需的依赖项)。

micromamba create -n xeus-python-dev \
    --platform=emscripten-wasm32 \
    -c https://repo.mamba.pm/emscripten-forge \
    -c conda-forge \
    --yes \
    "python>=3.11" pybind11 nlohmann_json pybind11_json numpy pytest \
    bzip2 sqlite zlib libffi xtl pyjs \
    xeus xeus-lite

构建内核

这取决于您的内核,但看起来可能像这样

# path to your emscripten emsdk
source $EMSDK_DIR/emsdk_env.sh

WASM_ENV_NAME=xeus-python-dev
WASM_ENV_PREFIX=$MAMBA_ROOT_PREFIX/envs/$WASM_ENV_NAME

# let cmake know where the env is
export PREFIX=$WASM_ENV_PREFIX
export CMAKE_PREFIX_PATH=$PREFIX
export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX

cd /path/to/your/kernel/src
mkdir build_wasm
cd build_wasm
emcmake cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \
    -DCMAKE_INSTALL_PREFIX=$PREFIX \
    ..
emmake make -j8 install

构建 JupyterLite 站点

您需要创建一个新环境,其中包含构建 JupyterLite 站点所需的依赖项。

# create new environment
micromamba create -n xeus-lite-host \
    jupyterlite-core

# activate the environment
micromamba activate xeus-lite-host

# install jupyterlite_xeus via pip
python -m pip install jupyterlite-xeus

当运行 jupyter lite build 时,我们将传递 prefix 选项,并将其指向我们刚刚创建的本地环境/前缀

jupyter lite build --XeusAddon.prefix=$WASM_ENV_PREFIX

挂载额外文件

要复制额外的文件和目录到 xeus-lite 内核的虚拟文件系统中,您可以使用 --XeusAddon.mount 选项。每个挂载都指定为一对用冒号 : 分隔的路径。第一个路径是主机机器上的文件或目录的路径,第二个路径是内核虚拟文件系统中的文件或目录的路径。

jupyter lite build \
    --XeusAddon.environment_file=environment.yml \
    --XeusAddon.mounts=/some/path/on/host_machine:/some/path/in/virtual/filesystem

贡献

从 conda / mamba 环境安装开发版本

使用 conda/mamba/micromamba(根据您的偏好将 micromamba 替换为 condamamba)创建 conda 环境

micromamba create -f environment-dev.yml -n xeus-lite-dev

激活环境

micromamba activate xeus-lite-dev
python -m pip install -e .   -v --no-build-isolation

打包扩展

参见 RELEASE

项目详情


下载文件

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

源代码分布

jupyterlite_xeus-2.0.0.tar.gz (273.2 kB 查看哈希值)

上传时间: 源代码

构建分布

jupyterlite_xeus-2.0.0-py3-none-any.whl (68.5 kB 查看哈希值)

上传时间: Python 3

支持