Introduction
While JupyterLab has become a cornerstone of scientific computing and data science workflows, its potential for handling complex spatial operations—like 3D CAD modeling or GIS-based geospatial analysis—has remained largely unexplored. Traditionally, these domains require heavy desktop software, steep learning curves, and domain-specific toolchains.
This talk introduces a new paradigm: performing collaborative, reproducible CAD and spatial computing entirely in the browser using JupyterLab extensions powered by modern WebAssembly-based tooling.
Technical Overview: JupyterCAD and JupyterGIS
JupyterCAD and JupyterGIS are browser-native extensions to the Jupyter ecosystem that bring powerful CAD and GIS capabilities to data scientists, researchers, and engineers—all inside notebooks. This talk will focus on introducing these tools, their use cases, high-level technical aspects and how you can contribute.
JupyterCAD
JupyterCAD enables browser-native 3D modeling with a focus on parametric CAD workflows. Built on top of OpenCascade compiled to WebAssembly, it supports:
Sketch-based modeling and geometry editing
Transform controls and snapping
Python API to programmatically interact with models
Notebook integration for embedding and documenting models
Collaborative multi-user editing or suggesting
JupyterGIS
JupyterGIS brings GIS data visualization and symbology into JupyterLab using OpenLayers, GDAL compiled to WebAssembly, and a modular plugin system. It supports:
Support for Local & cloud based Vector & raster layers
Graduated, categorized, single-band, multi-band styling custom symbology
Interactive layer management UI
Notebook integration for embedding GIS workflows and Python API support
Fully client-side geospatial analysis pipelines
Web Technologies Behind the Scenes
Both projects rely heavily on modern web technologies:
WebAssembly (WASM) to run native CAD/GIS engines i.e. OpenCascade and GDAL inside the browser natively
Jupyter’s collaborative document model (using Pycrdt & Y.js) to enable real-time collaborative editing
Modular command architecture for extensibility and custom workflows
The talk will be concluded by brief demonstrations of both JupyterCAD & JupyterGIS