Skip to main content

jupyterlab-myst-revealjs

Github Actions Status

Live reveal.js slideshow for MyST Markdown notebooks in JupyterLab.

Screenshot

Open any notebook as a slideshow panel beside the notebook editor. Markdown cells are rendered via jupyterlab-myst, code cells use JupyterLab's native CodeCell widget — execute code and see results on slides in real time.

Features

  • reveal.js slideshow — present notebooks as reveal.js slides directly in JupyterLab
  • Slide structure — slide, subslide, fragment, skip via cell metadata
  • MyST Markdown — admonitions, math, cross-references, and all MyST directives
  • Live code execution — Shift+Enter runs code cells on slides (shared kernel with notebook)
  • Cell tags
    • Jupyter Book compatible — hide-input, hide-output, hide-cell, remove-input, remove-output, remove-cell
    • Grid layout — gridwidth-* tags for multi-column layouts
  • Customization
    • Slide backgrounds — per-slide background color/image via cell metadata
    • Themes — 6 bundled reveal.js themes (black, white, dracula, serif, and more)
    • Custom CSS — drop a myst-revealjs.css next to your notebook for custom styling
    • Header / Footer — CSS-based overlays customizable via myst-revealjs.css
  • Keyboard controls
    • Code visibility toggle — i / o keys to toggle input/output on focused code cells during the slideshow
    • Fullscreen / Overview — f for fullscreen, o for slide overview

Requirements

Install

pip install jupyterlab-myst-revealjs

No Node.js required — this is a prebuilt extension.

Uninstall

pip uninstall jupyterlab-myst-revealjs

Quick Start

  1. Open a notebook in JupyterLab.
  2. Click the slideshow button in the toolbar, or run slideshow:open from the Command Palette.
  3. Set slide types via the Property Inspector (right sidebar).
  4. Press Shift+Enter on code cells to execute them on slides.

Configuration

Add a myst-revealjs key to your notebook metadata to configure reveal.js options:

{
  "myst-revealjs": {
    "theme": "white",
    "transition": "fade",
    "slideNumber": true
  }
}

See the documentation for full configuration options, cell metadata reference, and migration guide from RISE.

Development

Building

uv venv && uv pip install -e ".[dev]"
jlpm install && jlpm build
jupyter labextension develop . --overwrite

Run jlpm watch in one terminal and jupyter lab in another for live development.

Testing

jlpm test                    # Unit tests (Jest)
cd ui-tests && jlpm test     # E2E tests (Playwright + Galata)

See CONTRIBUTING for details.

License

MIT

Metadata

Release files for jupyterlab-myst-revealjs 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyterlab-myst-revealjs 1.5.0
File Size Uploaded
jupyterlab_myst_revealjs-1.5.0.tar.gz 4.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyterlab-myst-revealjs 1.5.0
File Interpreter ABI Platform
jupyterlab_myst_revealjs-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.5 MB

Release files / jupyterlab_myst_revealjs-1.5.0.tar.gz

Download URL jupyterlab_myst_revealjs-1.5.0.tar.gz
Size 4.2 MB
Tags Source
SHA-256 checksum
How to use checksums
3a939254b0af603463a2db4e224698ad296704121bc15f18f3ea2d23867de8e0
BLAKE2b-256 checksum
How to use checksums
4917582b5d0d7c764451248960f5da3bb4d51b40fba32b33e4a7ff8e9e91c0cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release files / jupyterlab_myst_revealjs-1.5.0-py3-none-any.whl

Download URL jupyterlab_myst_revealjs-1.5.0-py3-none-any.whl
Size 2.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
706621c185b0e1f37c6b3f0e9a2052ec31ff783a7a5321ef703f0cc2bc350a8d
BLAKE2b-256 checksum
How to use checksums
751a234d6e9366d98950d9b15762142cb77180d1653b971f73dcbfeba47fa34a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release history Release notifications | RSS feed

1.5.1

2 release files

This release

1.5.0 This release

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page