jakoch
jupyter-devbox
Jupyter Notebook

A Docker-based devcontainer for Jupyter Notebook's with a focus on Computer Vision, Machine Learning, Finance, Statistics and Visualization.

Last updated Jul 2, 2026
23
Stars
15
Forks
0
Issues
0
Stars/day
Attention Score
65
Language breakdown
No language data available.
Files click to expand
README

jupyter-devbox GitHub Workflow Status Latest Version Image Size

A Docker-based development container for [Jupyter Notebooks][jupyter_website] with a focus on Computer Vision, Machine Learning, Finance, Statistics and Visualization.

It is designed especially for use with Visual Studio Code or any IDE that supports the devcontainer standard. The images can also be used in CI workflows.

Purpose

jupyter-devbox provides a portable, standardized container with a ready-to-use Jupyter Notebook environment for interactive Python development in [Visual Studio Code][vscode_website].

It ships with a curated set of scientific computing libraries, including OpenCV, TensorFlow, Keras, NumPy, Pandas, DuckDB, scikit-learn, SciPy, Matplotlib, Seaborn, imutils, and SQLAlchemy.

All Python packages are managed with uv for fast, reliable installs, making it easy to add project-specific dependencies. Additional developer tools include code formatters (Black, Ruff, isort), LSP support, spell checking, and execution timing.

Images

Base distribution

This repository provides Docker images based on Debian 13 (Trixie, stable).

The images support multiple architectures: [amd64][amd64dockerfile] and [arm64][arm64dockerfile].

Container Registries

The images are automatically published to Github Container Registry (GHCR) and Docker Hub (hub.docker.com) upon updates.

What is pre-installed?

Base: Debian 13 - Trixie

On top of the Debian base image the following tools are installed:

  • zsh, git, cmake, nano
  • curl, wget
  • imagemagick, gnuplot, graphviz
These programming languages are included:
  • Python 3 (including pip, setuptools, wheel, venv, uv)
  • C & C++ (g++, cmake, ninja)
The installed Python libraries are:
  • ipykernel docutils jupyter notebook jupyterhub
  • jupyterlab-code-formatter watermark pyyaml pylint ruff black isort
  • jupyterlab-lsp python-lsp-server python-lsp-black python-lsp-ruff python-lsp-isort
  • jupyterlab-spellchecker
  • jupyterlab-execute-time
  • tensorflow
  • matplotlib seaborn plotly graphviz
  • keras
  • opencv-python-headless
  • imutils
  • numpy pandas pandas-datareader bottleneck h5py
  • scipy scikit-learn
  • duckdb
  • sqlalchemy
  • requests_cache
  • yfinance alpha_vantage nasdaq-data-link finnhub-python financetoolkit financedatabase
  • statsmodels
You can find a list of all installed packages in the [notebooks/checkdevbox.ipynb][checkdevboxipynbmain] Notebook.

You can run jupyter labextension list to list all enabled extensions.

Prerequisites

You need the following things to run this:

  • Docker
  • Visual Studio Code

How to run this?

There are two ways of setting the container up.

Either by building the container image locally or by fetching the prebuilt container image from the Github container registry.

Building the Container Image locally using VSCode

  • Step 1. Get the source: clone this repository using git or download the zip
  • Step 2. (optional) The repository contains multiple images.
You select an image by modifying the dockerFile to use in ./devcontainer/devcontainer.json:

By default "dockerFile": "amd64/Dockerfile" is set.

For an image with architecture: - amd64 set amd64/Dockerfile - arm64, aarch64, arm64v8 set arm64v8/Dockerfile

  • Step 3. In VSCode open the folder in a container (Remote Containers: Open Folder in Container):
This will build the container image (Starting Dev Container (show log): Building image..)

Which takes a while...

Then, finally...

  • Step 4. Open the file notebooks\test.ipynb
  • Step 5. You might get a warning message for "untrusted" Notebook content.
Click Trust to allow running the content of the Notebook.
  • Step 6. You are now able to edit cells and run their content interactively in VSCode.
You might also run your scripts inside your browser at http://localhost:8888/
  • Enjoy! :sunglasses:

Fetching the prebuilt container image

This container image is published to the Github Container Registry (GHCR).

You may find the package here: [https://github.com/jakoch/jupyter-devbox/pkgs/container/jupyter-devbox][github_packages].

You can install the container image from the command line:

docker pull ghcr.io/jakoch/jupyter-devbox:latest

You might also use this container image as a base image in your own Dockerfile:

FROM ghcr.io/jakoch/jupyter-devbox:latest

Supported CPU Architectures

  • x86_64 - linux/amd64
- [./devcontainer/amd64/Dockerfile][amd64_dockerfile]
  • aarch64 - linux/aarch64, linux/arm64/v8, linux/arm64v8
- [./devcontainer/arm64v8/Dockerfile][arm64_dockerfile]
  • not supported:
- armel - armhf, linux/arm64/v7, linux/arm64v7
  • You can check your platform and available features with
- dpkg --print-architecture - cat /proc/cpuinfo

[jupyter_website]:https://jupyter.org/ [vscode_website]:https://code.visualstudio.com/ [checkdevboxipynbmain]:https://github.com/jakoch/jupyter-devbox/blob/main/notebooks/checkdevbox.ipynb [amd64_dockerfile]:https://github.com/jakoch/jupyter-devbox/blob/main/.devcontainer/amd64/Dockerfile [arm64_dockerfile]:https://github.com/jakoch/jupyter-devbox/blob/main/.devcontainer/arm64/Dockerfile [github_packages]: https://github.com/jakoch/jupyter-devbox/pkgs/container/jupyter-devbox

🔗 More in this category

© 2026 GitRepoTrend · jakoch/jupyter-devbox · Updated daily from GitHub