在Docker容器中重现Jupyter笔记本。
项目描述
nbreproduce
使用nbreproduce
CLI在Docker容器中重现Jupyter笔记本和项目(基于Jupyter Docker-Stacks
镜像)。
- 自由软件:BSD许可证
- 文档:https://econ-ark.github.io/nbreproduce/
安装
$ 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
_项目模板创建的。
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的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | f7a7cd866a0c9f06a18053edd98ab9325a20ac1daa94577b248600b0ad388860 |
|
MD5 | 32edf2e28d0fee5c247acc9bf6286613 |
|
BLAKE2b-256 | 0222b784344893dbaede64dc74374d49a47e7e6c81deeb83f0bdcf40d39237df |
关闭
nbreproduce-0.4.1-py2.py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 22094f69ff19ef0ab4bcf0dc370823a27148caacd3849f10265600e9ec4133e0 |
|
MD5 | 89a9b9530382b7e7321451b368d0c598 |
|
BLAKE2b-256 | bba89edc043d971aca3d648d1bdef7e8940b4d72fe78b0f0ef1f7f21277378ca |