Talk
Intermediate
First Talk

Collaborative CAD & GIS in JupyterLab

Review Pending

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

  • 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

Introducing a FOSS project or a new version of a popular project
Tutorial about using a FOSS project
Technology architecture
Which track are you applying for?
FOSS in Science Devroom

100 %
Approvability
1
Approvals
0
Rejections
0
Not Sure

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.

Reviewer #1
Approved