Reproduce Jupyter Notebooks inside Docker Containers.
Last updated Jun 5, 2026
12
Stars
1
Forks
16
Issues
0
Stars/day
Attention Score
1
Topics
Language breakdown
No language data available.
▸ Files
click to expand
README
Reproduce Jupyter Notebooks and projects inside Docker Containers (based on Jupyter Docker-Stacks images) using the nbreproduce CLI.
- Free software: BSD license
- Documentation: https://econ-ark.github.io/nbreproduce/
Installation:
$ pip install nbreproduce
Features:
- Reproduce a Jupyter Notebook (URL or local file) inside a Docker container for consistent builds across all the devices capable of running docker and Python.
- To test the
hello_world.ipynbexample in this repo.
$ nbreproduce --url https://github.com/econ-ark/nbreproduce/blob/master/tests/hello_world.ipynb
- The
nbreproducewill create a new Jupyter notebook ending withfilename-reproduce.ipynbin the same directory which is a copy of the original notebook but executed inside the docker container environment.
nbreproducerequires a special metadata tag (dockerimage) inside in the Jupyter notebook to find the link to docker image on DockerHub. On the first run ofnbreproducewith a normal Jupyter notebook it will prompt you to add a docker image tag, these docker images are built on top of Jupyter Docker-Stacks. Thehello_world.ipynbexample can run with thescipy-notebookstandard image. Using the--dockerflag you can point it towards the right docker image. (Currently only DockerHub imgags are supported)
$ nbreproduce --docker jupyter/scipy-notebook:latest hello_world.ipynb
- For a Jupyter notebook which already has the metadata tag (
docker_image), we can directly execute the notebook, kind of like papermill but inside a standardised docker environemnt :)
$ nbreproduce hello_world.ipynb
- Reproduce entire folders and projects inside a Docker environment (it works by mounting the current directory to the docker container and running a bash file which has all the required steps to reproduce all the content like figures, builiding latex documents, slides, etc).
$ 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 .... .... ....
- The project is in pre alpha developement mode, so things will break. Don't use this in production. The documentation website doesn't exist yet, use
nbreproduce -hto get a quick desciption of various flags. Feel free to open up any issue for suggestions or submit a PR to fix bugs/implement new features.
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
🔗 More in this category