笔记本存储工作流程
项目描述
bookstore :books
bookstore :books: 提供存储 :cd:、调度 :calendar: 和发布 :book: 笔记本的工具和工作流程建议。
完整文档托管在 ReadTheDocs 上。
bookstore 是如何工作的
自动笔记本版本控制
每次笔记本的 保存 都会在对象存储中创建一个笔记本的 不可变副本。
为了简化实现,我们目前依赖于 S3 作为对象存储,使用 有版本控制的存储桶。
存储路径
所有笔记本都归档到单个有版本控制的 S3 存储桶中,特定的前缀表示笔记本的生命周期
/workspace
- 用户在此处编辑/published
- 公开笔记本(至组织)
每个笔记本路径都是一个命名空间,外部服务将其与调度关联。我们将版本归档,同时保持路径完整(除非用户更改它们)。
前缀 | 意图 |
---|---|
/workspace/kylek/notebooks/mine.ipynb |
“草稿”中的笔记本 |
/published/kylek/notebooks/mine.ipynb |
当前发布副本 |
计划中的笔记本也将通过笔记本键进行引用。此外,我们还需要能够显示版本 ID。
转向此存储计划
由于大多数人使用常规文件系统,我们将从写入 /workspace
前缀作为存档存储开始(使用 post_save_hook
为 Jupyter 内容管理器编写保存时写入)。
发布
bookstore 发布端点是经典 Jupyter 服务器的 serverextension
。这意味着您需要显式启用 serverextension
才能使用此端点。
要这样做,请运行
jupyter serverextension enable --py bookstore
要仅为此当前环境启用它,请运行
jupyter serverextension enable --py bookstore --sys-prefix
安装
bookstore 需要 Python 3.6 或更高版本。
注意:支持在运行 Python 3.6 及以上版本的 Jupyter 服务器上安装。您的笔记本仍然可以在 Python 2 或 Python 3 中运行。
- 克隆此存储库。
- 在存储库的根目录中,在终端输入:
python3 -m pip install .
(提示:不要忘记命令末尾的点)
配置
# jupyter config
# At ~/.jupyter/jupyter_notebook_config.py for user installs on macOS
# See https://jupyter-docs.pythonlang.cn/en/latest/projects/jupyter-directories.html for other places to plop this
from bookstore import BookstoreContentsArchiver
c.NotebookApp.contents_manager_class = BookstoreContentsArchiver
# All Bookstore settings are centralized on one config object so you don't have to configure it for each class
c.BookstoreSettings.workspace_prefix = "/workspace/kylek/notebooks"
c.BookstoreSettings.published_prefix = "/published/kylek/notebooks"
c.BookstoreSettings.s3_bucket = "<bucket-name>"
# Note: if bookstore is used from an EC2 instance with the right IAM role, you don't
# have to specify these
c.BookstoreSettings.s3_access_key_id = <AWS Access Key ID / IAM Access Key ID>
c.BookstoreSettings.s3_secret_access_key = <AWS Secret Access Key / IAM Secret Access Key>
开发
如果您正在开发 bookstore,您将需要在本地运行 ci 测试并制作发布版本。
使用 CONTRIBUTING.md 了解更多关于贡献的信息。使用 running_ci_locally.md 了解更多关于在本地运行 ci 测试的信息。使用 running_python_tests.md 了解如何在本地上运行测试。使用 RELEASING.md 了解更多关于发布 bookstore 的信息。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分布版
bookstore-2.5.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b37324cfd3ea9622c5bd4d53b9698c897d2306f884b6ac4ebf33945120cf1c78 |
|
MD5 | d9660de478e82e2ce5572a102387da5d |
|
BLAKE2b-256 | 35f8ffab0bcfda118421e6a72d5f13ca65dbf78e280882fc29bdd9193f4f26b9 |
bookstore-2.5.1-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed4c9707039ada3240346a246a1a2e19c206fe140a20b8506a7b77464da47da7 |
|
MD5 | 4f25fe9378a8a3a4c21be1337032ddd1 |
|
BLAKE2b-256 | dd1c18e81aad60d2bce7aa579e8a5a7f56b6452f259fa63e58b14874d1a31ad0 |