笔记本电脑的存储工作流

bookstore的Python项目详细描述


书店:书籍:

Documentation StatusBuild StatusCircleCICodecov

bookstore:books:为存储:cd:、调度:calendar:、发布:book:笔记本提供工具和工作流建议。

完整文档位于ReadTheDocs上。

书店是如何运作的

自动笔记本版本控制

笔记本的每个save都会在对象存储上创建笔记本的immutable copy

为了简化实现,我们目前依赖s3作为对象存储,使用versioned buckets

存储路径

所有笔记本都存档到一个单一版本的s3存储桶中,该存储桶具有表示笔记本生命周期的特定前缀:

  • /workspace-用户编辑的位置
  • /published-公共笔记本(对组织而言)

每个笔记本路径都是外部服务绑定到计划中的命名空间。我们归档版本,保持路径完整(直到用户更改它们)。

PrefixIntent
^{}Notebook in “draft”
^{}Current published copy

预定的笔记本也将由笔记本键引用。此外,我们还需要能够显示版本ID。

转换到此存储计划

由于大多数人都在一个常规文件系统中,我们将从向 /workspace前缀作为存档存储(使用post_save_hook在保存时写入 对于Jupyter内容管理器)。

出版

书店发布端点是经典jupyter的serverextension 服务器。这意味着您需要显式地启用serverextension 使用端点。

为此,请运行:

jupyter serverextension enable --py bookstore

要仅在当前环境中启用它,请运行:

jupyter serverextension enable --py bookstore --sys-prefix

安装

bookstore需要Python3.6或更高版本。

注意:支持在运行python 3.6及更高版本的jupyter服务器上安装。 您的笔记本仍然可以在Python2或Python3中运行。

  1. 克隆此回购协议。
  2. 在repo的根目录中,输入终端:python3 -m pip install .(提示:不要忘记命令末尾的点)

配置

# jupyter config# At ~/.jupyter/jupyter_notebook_config.py for user installs on macOS# See https://jupyter.readthedocs.io/en/latest/projects/jupyter-directories.html for other places to plop thisfrombookstoreimportBookstoreContentsArchiverc.NotebookApp.contents_manager_class=BookstoreContentsArchiver# All Bookstore settings are centralized on one config object so you don't have to configure it for each classc.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 thesec.BookstoreSettings.s3_access_key_id=<AWSAccessKeyID/IAMAccessKeyID>c.BookstoreSettings.s3_secret_access_key=<AWSSecretAccessKey/IAMSecretAccessKey>

开发

如果您是在bookstore上开发的,那么您将希望在本地运行ci测试并进行发布。

使用CONTRIBUTING.md了解有关投稿的更多信息。 使用running_ci_locally.md了解有关在本地运行CI测试的更多信息。 使用running_python_tests.md了解如何在本地运行测试。 使用RELEASING.md了解有关发布书店的更多信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OnResizeListener或OnDrawListener或类似的东西   java Orika映射嵌套子列表   保存时java Heroku请求超时代码H12   数据库在Java中出现socket读取超时异常的原因是什么?   java如何更改来自Sqlite数据库的特定数据在Listview中的行颜色   java JAXB解组器无法正确处理XML中的列表   java Android日期时区让我抓狂   java不透明属性在Swing中如何工作?   eclipse从JavaEE代码生成流程图   java如何在Hibernate中从相关表中获取计数   java Glassfish部署了项目的依赖项库   java使内容适合JavaFx中的WebView   java不满意的链接错误libcrypto。所以1.0.0   循环中java数组的使用   java找出哪个包调用服务