MESA JupyterLab¶
Repo: idss-mesa/jupyterlab ·
Image: harbor.cyverse.org/vice/mesa-jupyterlab:latest (GPU: :gpu) ·
In the portal: Applications → MESA Apps → MESA JupyterLab
A JupyterLab workbench for Python, R, and Julia, built on the Project Jupyter datascience-notebook image1. RStudio Server, Shiny Server, and VS Code open from the JupyterLab Launcher, and the AI coding agents and MESA MCP servers are ready in every terminal.
What's inside¶
| Category | Tools |
|---|---|
| IDEs | JupyterLab; RStudio Server, Shiny Server, and VS Code (code-server) as Launcher cards |
| Science | Python 3.13, R, and Julia with the datascience stack (NumPy, SciPy, pandas, tidyverse, …); Miniconda and Mamba |
| AI agents and MCP | Claude Code, Codex, OpenCode, Antigravity, Claude Code Router; the irods, mesa, formation, and filesystem MCP servers — see AI agents in the MESA apps |
| CyVerse data | GoCommands, iRODS configuration, S3/OSN mounts, AWS CLI |
| Developer tools | GitHub CLI, Git Credential Manager, Go 1.25, Node.js 22 |
Start it¶
- In the MESA Portal, open Applications → MESA Apps.
- On MESA JupyterLab, click Instant Launch, or Launch with Options to pick CPU cores, memory, the time limit, or the GPU build. See Starting applications.
- The app opens in a new tab at the JupyterLab interface, in
~/data-store(your Data Store).
You can also start it from the Discovery Environment by searching for MESA JupyterLab.
First steps¶
- Open a Terminal from the Launcher.
- Run
cyverse-loginto give the tools and agents your CyVerse access. - Optionally run
aiverde-setupto connect AI Verde models. - Start an agent:
claude,codex,opencode, oragy.
The details are in AI agents in the MESA apps. Keep notebooks and results
under ~/data-store: the rest of the container is deleted when the analysis ends.
RStudio inside JupyterLab. Click the RStudio card in the Launcher to open RStudio Server in a new tab, with the same files and R installation.
GPU build¶
harbor.cyverse.org/vice/mesa-jupyterlab:gpu is the same workbench on an NVIDIA GPU.
Choose GPU on the app's card in the portal. It adds:
| Adds | Details |
|---|---|
| PyTorch | torch 2.14 and torchvision 0.29 (CUDA 12.6) in the default Python 3 kernel |
| ML libraries | transformers, accelerate, peft, sentence-transformers, safetensors, bitsandbytes, Lightning, timm, torchmetrics, TorchGeo, CuPy, huggingface_hub |
| JupyterLab | GPU Dashboards (NVDashboard) in the left sidebar; Jupyter AI chat with an @OpenCode persona |
| Local LLMs | An Ollama server on the GPU — see Local models on a GPU |
| GPU tools | nvidia-smi, nvtop, nvitop, mesa-gpu-check |
Check the GPU from a notebook or terminal:
python -c 'import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))'
mesa-gpu-check
Jupyter AI's @OpenCode starts on an AI Verde model, which cannot read the key that
aiverde-setup saves. To chat with the local model instead, run ollama-setup in a
terminal, then pick ollama/qwen3.5:9b in @OpenCode's model picker.
Run it on your own computer¶
Open http://localhost:8888/lab; RStudio is at http://localhost:8888/rstudio/. Outside
CyVerse there is no password, so publish the port only on your own machine. The image is
built for linux/amd64.
-
MESA JupyterLab README, https://github.com/idss-mesa/jupyterlab. ↩
Machine-readable versions of this page: Markdown twin · raw source on GitHub · llms.txt · llms-full.txt (whole site). See For AI agents.