Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Jupyter Renderers

Github Actions Status Binder

This is a monorepo that consists of JupyterLab mimerender extensions for common file and MIME types.


Name Mime types File extensions Info
fasta-extension application/vnd.fasta.fasta .fasta Version
geojson-extension application/geo+json .geojson, .geo.json Version
katex-extension N/A N/A Version
mathjax3-extension N/A N/A Version
vega2-extension application/vnd.vega.v2+json, application/vnd.vegalite.v1+json .vg, .vl, .vg.json, .vl.json, .vega, .vegalite Version
vega3-extension application/vnd.vega.v3+json, application/vnd.vegalite.v2+json .vg, .vl, .vg.json, .vl.json, .vega, .vegalite Version

Looking for plotly-extension?

@jupyterlab/plotly-extension is being deprecated. Please use the Plotly-supported jupyterlab-plotly. See the README for more info.


With JupyterLab 3.0, it is possible to install the prebuilt extensions with pip:

pip install jupyterlab-fasta
pip install jupyterlab-geojson
pip install jupyterlab-katex
pip install jupyterlab-mathjax3
pip install jupyterlab-vega2
pip install jupyterlab-vega3
For versions prior to JupyterLab v3.0, it is also possible to install the extension from source using the `jupyter labextension install` command:
  • fasta-extension: jupyter labextension install @jupyterlab/fasta-extension
  • geojson-extension: jupyter labextension install @jupyterlab/geojson-extension
  • katex-extension: jupyter labextension install @jupyterlab/katex-extension
  • mathjax3-extension: jupyter labextension install @jupyterlab/mathjax3-extension
  • vega2-extension: jupyter labextension install @jupyterlab/vega2-extension
  • vega3-extension: jupyter labextension install @jupyterlab/vega3-extension


If you would like to contribute to the project, please read our contributor documentation.

JupyterLab follows the official Jupyter Code of Conduct.



The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may use yarn or npm in lieu of jlpm below.

# Clone the repo to your local environment
git clone
cd jupyter-renderers

# install the fasta extension
cd packages/fasta-extension

# Install package in development mode
pip install -e .

# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite

# Rebuild the extensions TypeScript source after making changes
jlpm run build

Rebuilding extensions

After making changes to the source packages, the packages must be rebuilt:

# Rebuild all the extensions at once
jlpm run build

# To rebuilt a particular extension, for example the fasta extension
cd packages/fasta-extension
jlpm run build

You may also watch a particular extension directory for changes and automatically rebuild:

# In one terminal tab, watch the jupyter-fasta directory
cd packages/fasta-extension
jlpm run watch

# Run JupyterLab in another terminal
jupyter lab

Publishing packages

jlpm run publish
# If publishing a package for the first time
npm access public @jupyterlab/<extension name>

Creating icons

To create a JupyterLab icon for a new MIME or file type, you can use the Sketch file in this repo or fork the file on Figma and export your icon as an SVG. See the GeoJSON icon for reference.