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.0a1.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.0a1.tar.gz.

File metadata

File hashes

Hashes for jupyterlab_material_night_eighties-0.4.0a1.tar.gz
Algorithm Hash digest
SHA256 439969d1593a64e175e732091b06027a6c318dacfd404e14c116711b24688cf4
MD5 b9debee206eb9ce0f39481a8a09bd332
BLAKE2b-256 018bba814368ca91d2e932de918f26059cb3355e4165c4e6cf8f5499213f4706

See more details on using hashes here.

Provenance

The following attestation bundles were made for jupyterlab_material_night_eighties-0.4.0a1.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.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlab_material_night_eighties-0.4.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 dd7523cc1bb49cdba8e55d6a81ead86fd1b912501c0abd6513f0fa8688d21700
MD5 8c1de790ff8213c56011b75b43e1f607
BLAKE2b-256 6c56bc3db6dc426e15884930e471e79b0d00b59d953aad910bf3edaadf50e6ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for jupyterlab_material_night_eighties-0.4.0a1-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.0a1 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