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.
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 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 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
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
Learn how to perform 3D modeling and geospatial analysis inside Jupyter
Understand the architectural design of JupyterCAD and JupyterGIS
See how WebAssembly enables complex native workflows inside the browser
Explore use cases for science, engineering, environment, and policy
Discover ways to contribute to the open source projects and spatial computing in Jupyter
The proposal doesn't provide an outline for the talk, so here are some notes
It'll be good to introduce the talk using the use cases in STEM fields because the use cases might not be clear to audience members. To be honest, the use cases aren't clear to me either
It'll also be great to highlight the role of WASM because even for users who don't care about CAD and GIS, developing an appreciation for WASM and how it enables the workflows might trigger new projects in the Jupyter ecosystem that involve WASM
It'll also be good to explicitly specify that JupyterCAD and JupyterGIS work with non-Python kernels because we expect audience members from various software communities, and not just the Python community. This wasn't obvious from the proposal.