跳转到主要内容

保存和加载笔记本到本地存储

项目描述

Jupyter Offline Notebook

Binder PyPI npm Build Status

将笔记本保存和加载到浏览器存储,即使您已断开与服务器的连接。

安装

pip install jupyter-offlinenotebook

这应该会自动在Jupyter Notebook和JupyterLab上启用扩展。

此扩展支持JupyterLab 3和4,以及NBclassic。对于JupyterLab 2和 Notebook <7,请使用版本0.2.2

用法

Offline notebook buttons

根据您的配置和运行笔记本的位置,您应该会看到最多五个新的按钮

  • 下载笔记本的内存(浏览器)状态
  • 将笔记本的内存状态保存到本地存储
  • 从本地存储加载笔记本
  • 打开包含此笔记本的存储库的永久URL
  • 复制此存储库的永久mybinder URL以共享它

保存和加载使用存储库ID和当前笔记本的路径。

您应该始终看到“下载”按钮。如果您在mybinder上运行此程序,所有按钮都应该是可见的。有关在其他系统上启用其他按钮的配置,请参阅下面的配置部分。

如果您看不到按钮,请检查JavaScript控制台日志。

请参阅example.ipynb

配置

可以通过在jupyter_notebook_config.py中设置以下c.OfflineNotebookConfig属性来配置此扩展

  • repository_id:一个返回仓库ID的可调用函数。在存储和检索笔记本时使用。默认值是BINDER_REPO_URL环境变量的值。
  • repository_ref_url:一个返回仓库引用URL的可调用函数。默认值是BINDER_REF_URL环境变量的值。
  • binder_persistent_url:一个返回仓库引用URL的可调用函数。默认值是BINDER_LAUNCH_HOSTBINDER_PERSISTENT_REQUEST环境变量的值。
  • binder_repo_label:一个返回用于链接到仓库的标签的可调用函数。

警告

此扩展仍在开发中。仅在Firefox上进行了测试。未来可能会有破坏性的更改。

此扩展存在一些重大限制,包括

  • 本地存储受浏览器施加的配额限制。
  • 使用空格将Jupyter Notebook中笔记本的ID和路径组合在一起,用于仓库ID。这可能在将来发生变化。

开发笔记

此扩展使用IndexedDB API和包装Dexie.js在浏览器存储中存储笔记本。

初始化期间进行一次服务器API调用以获取存储配置。其余所有操作都在客户端完成,因此即使服务器断开连接也应该可以工作。

CI流水线使用JupyterLab 4构建扩展,但构建包与JupyterLab 3和NBclassic兼容。安装开发依赖项

pip install -r dev-requirements-jl4.txt

要构建和安装开发版本

pip install .

这会自动运行jlpm

笔记本和服务器扩展应自动启用。

JupyterLab 3+支持以静态包的形式安装扩展,因此无需进一步操作。

此存储库的标记版本将自动发布到PyPINPM

要测试在本地开发时绑定和仓库按钮是否正常工作,请设置一些占位符环境变量,例如

BINDER_LAUNCH_HOST=http://localhost BINDER_REPO_URL=http://localhost BINDER_PERSISTENT_REQUEST=v2/gh/repo BINDER_REF_URL=http://localhost jupyter-lab --debug

如果您进行了任何更改,请记得运行所有linters和auto-formatters

  • pre-commit run -a
  • jlpm run format

项目详情


下载文件

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

源分布

jupyter_offlinenotebook-0.3.1.tar.gz (261.8 kB 查看哈希值)

上传时间

构建分布

jupyter_offlinenotebook-0.3.1-py3-none-any.whl (330.7 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面