笔记本电脑的存储工作流

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第三方库


热门话题
AmazonS3查找从S3forJava下载的压缩文件的MIME类型   java如何使用Selenium在<span>中查找具有特定文本的元素   python如何使用OpenIEDemo生成自定义三元组。由stanfordnlp提供的java   java遇到“方法不适用”编译错误   java如何使用Mockito在Looper中运行的验证代码。getMainLooper?   类Java目录错误   java在已知其他泛型信息时使用原始类型   java connect()和disconnect()在哪里实现?   java使用PDF Box库拆分PDF,生成的PDF几乎与源PDF文件大小相同   java PowerMockito返回错误的对象   java如何找到TIBCO集合消息的字节编码?   java Basic音乐播放器下一步和上一步按钮   添加模块描述符时,java没有名为“entityManagerFactory”的bean可用   java为什么我的代码不是线程安全的?   eclipse java。引用项目中的类的lang.NoClassDefFoundError