跳转到主要内容

在Docker容器中重现Jupyter笔记本。

项目描述

nbreproduce

PyPI version

使用nbreproduce CLI在Docker容器中重现Jupyter笔记本和项目(基于Jupyter Docker-Stacks镜像)。

安装

$ pip install nbreproduce

特性

  • 在Docker容器中重现Jupyter笔记本(URL或本地文件),以便在所有能够运行docker和Python的设备上实现一致的构建。

  • 要测试此存储库中的hello_world.ipynb示例。

$ nbreproduce --url https://github.com/econ-ark/nbreproduce/blob/master/tests/hello_world.ipynb
  • nbreproduce将在同一目录中创建一个新的Jupyter笔记本,以filename-reproduce.ipynb结尾,它是原始笔记本的副本,但在docker容器环境中执行。

  • nbreproduce需要在Jupyter笔记本中具有特殊的元数据标签(docker_image),以便找到DockerHub上Docker镜像的链接。在第一次运行带有普通Jupyter笔记本的nbreproduce时,它将提示您添加Docker镜像标签。这些Docker镜像是在Jupyter Docker-Stacks之上构建的。例如,hello_world.ipynb示例可以使用scipy-notebook标准镜像运行。使用--docker标志,您可以将其指向正确的Docker镜像。(目前仅支持DockerHub镜像)

$ nbreproduce --docker jupyter/scipy-notebook:latest hello_world.ipynb
  • 对于已经包含元数据标签(docker_image)的Jupyter笔记本,我们可以直接执行笔记本,有点像papermill,但是在标准化的Docker环境中:)
$ nbreproduce hello_world.ipynb
  • 在Docker环境中重现整个文件夹和项目(它通过将当前目录挂载到Docker容器并运行一个bash文件来实现,该bash文件包含重现所有内容(如图表、构建LaTeX文档、幻灯片等)的所有必需步骤)。
$ nbreproduce --docker econark/econ-ark-notebook do_all.sh

Executing do_all.sh using the econark/econ-ark-notebook environment inside a docker container.
Executing do_all.sh in the current directory /Users/ms/dev/REMARK/REMARKs/CGMPortfolio
....
....
....
  • 该项目处于预alpha开发模式,所以事情可能会出错。不要在生产环境中使用。文档网站尚不存在,使用nbreproduce -h获取各种标志的快速描述。欢迎提出任何问题或提交PR来修复错误/实现新功能。

致谢

此包是用Cookiecutter_和audreyr/cookiecutter-pypackage_项目模板创建的。

Cookiecutter

audreyr/cookiecutter-pypackage

历史

0.4.1 (2020-10-18)

  • 自动修复Windows中bash脚本的EOL。

0.4.0 (2020-09-22)

  • .dockerimage文件允许您添加Docker镜像的名称,它应位于根目录或reproduce/目录中。

0.3.0 (2020-09-16)

  • 为单个笔记本添加--inplace支持。

0.2.0 (2020-08-12)

  • 添加--live交互模式。
  • 添加执行bash脚本的能力。
  • Docker SDK。

0.1.0 (2020-06-10)

  • 预alpha版本以启动项目。
  • 首次发布在PyPI上。

项目详情


下载文件

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

源分布

nbreproduce-0.4.1.tar.gz (98.2 kB 查看散列)

上传时间

构建分布

nbreproduce-0.4.1-py2.py3-none-any.whl (8.7 kB 查看散列)

上传时间 Python 2 Python 3

支持者

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