Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

JupyterLab Material Night Eighties theme

BuildCheckPublish

Theme for jupyterlab based on jupyterlab/extension-template, inspired by oriolmirosa/jupyterlab_materialdarker, arbennett/jupyterlab-themes, VSCode Material Theme Kit, and base16

See CONTRIBUTING.md for the test runbook, pinned-dependency rationale, and guidance on editing the color palette.

Requirements

  • JupyterLab >= 4.0

Because Notebook 7 is built on JupyterLab 4 components, this theme also works in Notebook 7 with no additional configuration.

For JupyterLab 3, use version 0.3.3 or earlier.

Installation

To install the extension, execute:

pip install jupyterlab-material-night-eighties

or, with uv:

uv pip install jupyterlab-material-night-eighties

Screenshots

material_night_eighties

Contributing

Development install

Development requires Node.js 24 and uv. Node.js 24 matches CI.

This project uses uv to manage the Python environment. hatchling remains the build backend — hatch-jupyter-builder is a hatchling build hook, and it is what compiles the TypeScript and stages the prebuilt labextension into share/jupyter.

The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab.

git clone https://github.com/ninerealmlabs/jupyterlab-theme-material-night-eighties.git
cd jupyterlab-theme-material-night-eighties

# Create the dev environment (JupyterLab, jupyter-builder, hatch)
uv sync

# Install the extension in editable mode
uv pip install -e .

# Link your development version of the extension with JupyterLab
uv run jupyter-builder develop . --overwrite

# Rebuild extension TypeScript source after making changes
uv run jlpm build

You can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.

  • Terminal A:

    # Watch the source directory in one terminal, automatically rebuilding when needed
    uv run jlpm run watch
    
  • Terminal B:

    uv run jupyter lab
    

With the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).

By default, the jlpm build command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:

jupyter lab build --minimize=False

Updating dependencies

Some dependencies are deliberately pinned below their latest release, and this repo intentionally diverges from the upstream JupyterLab template in a few places. See CONTRIBUTING.md before bumping anything.

Development uninstall

uv pip uninstall jupyterlab-material-night-eighties

In development mode, you will also need to remove the symlink created by jupyter-builder develop command. Run uv run jupyter labextension list to find the active labextensions directory. Within it, remove the symlink at @ninerealmlabs/jupyterlab_material_night_eighties.

Testing the extension

Use the test runbook for local validation. It covers the core CI gates, integration tests, packaging checks, and the manual visual review used before a release.

Packaging the extension

See RELEASE

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyterlab_material_night_eighties-0.4.0a2.tar.gz (340.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file jupyterlab_material_night_eighties-0.4.0a2.tar.gz.

File metadata

File hashes

Hashes for jupyterlab_material_night_eighties-0.4.0a2.tar.gz
Algorithm Hash digest
SHA256 88705e125791ee23d977da135939280133b9567370040884ba5002b6beeb88e4
MD5 a5ecfd0d501aeed05d3bca8c6f3e3eef
BLAKE2b-256 37de30d360fd865775ca40137ca2f6b863621d99e4b009400d63ceb3ef5407b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for jupyterlab_material_night_eighties-0.4.0a2.tar.gz:

Publisher: publish-release.yaml on ninerealmlabs/jupyterlab-theme-material-night-eighties

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jupyterlab_material_night_eighties-0.4.0a2-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlab_material_night_eighties-0.4.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 79851866ae08936268f848f21f137fe2b6f2ff4ca03d93b20ec026115098ab6d
MD5 bbf14b66c89d2ea856278a34956af161
BLAKE2b-256 7ca398561d7bb0f226f93f027fb5435d7ea19e97828def780cf7496e2b6e42e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for jupyterlab_material_night_eighties-0.4.0a2-py3-none-any.whl:

Publisher: publish-release.yaml on ninerealmlabs/jupyterlab-theme-material-night-eighties

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.4.0

2 files

This release

0.4.0a2 This release

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.3

2 files

0.2.1

2 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