Skip to main content

Jupyterlab extension to use custom logo for the jupyterlab main logo

Project description

jupyterlab_branding_extension

GitHub Actions npm version PyPI version Total PyPI downloads JupyterLab 4 Brought To You By KOLOMOLO Donate PayPal

JupyterLab branding extension that replaces the default main area logo with a custom image. Supports SVG (inline embedding) and raster formats via a configurable logo URI.

Features

  • Custom main area logo - replace the default JupyterLab 3-dot logo with any SVG or raster image
  • Configurable via traitlets - set logo_uri in jupyter_lab_config.py or read from JUPYTERLAB_MAIN_ICON_URI environment variable
  • Local and remote logos - supports file:// paths, https:// URLs, and local filesystem paths
  • Inline SVG embedding - SVG logos are embedded directly in the DOM, matching JupyterLab's native approach
  • Server extension - serves local logo files through an authenticated HTTP endpoint, bypassing browser file:// restrictions

Requirements

  • JupyterLab >= 4.0.0
  • jupyter_server >= 2.0.0

Install

pip install jupyterlab_branding_extension

Configuration

Add to your jupyter_lab_config.py:

import os

# From environment variable (set by JupyterHub or manually)
c.Branding.logo_uri = os.environ.get("JUPYTERLAB_MAIN_ICON_URI", "")

# Or set directly - local file path
c.Branding.logo_uri = "/path/to/your/logo.svg"

# Or set directly - file:// URI
c.Branding.logo_uri = "file:///path/to/your/logo.svg"

# Or set directly - remote URL
c.Branding.logo_uri = "https://example.com/logo.svg"

When no protocol is specified, the path is treated as a local filesystem path.

How It Works

The extension has two components:

  • Server extension - exposes /jupyterlab-branding/config (returns the configured logo URL) and /jupyterlab-branding/logo (serves local logo files with correct MIME type)
  • Frontend plugin - fetches configuration on startup, retrieves logo content, and replaces the #jp-MainLogo element. SVG logos are embedded inline, raster images use <img> tags

Uninstall

pip uninstall jupyterlab_branding_extension

Project details


Download files

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

Source Distribution

jupyterlab_branding_extension-1.0.5.tar.gz (278.1 kB view details)

Uploaded Source

Built Distribution

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

jupyterlab_branding_extension-1.0.5-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file jupyterlab_branding_extension-1.0.5.tar.gz.

File metadata

File hashes

Hashes for jupyterlab_branding_extension-1.0.5.tar.gz
Algorithm Hash digest
SHA256 c6e57279cd07d33393ea548098f429aeeeb7447e08136a7c9b2b29b9bebba653
MD5 33381fdd0edc5bcd0fb504ec3c3cdfa7
BLAKE2b-256 8c4359e35630ec74122c87678172e63c3288a3e6f9c8818f8802186bbb7deb4a

See more details on using hashes here.

File details

Details for the file jupyterlab_branding_extension-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlab_branding_extension-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1e753bff7752437b069e3a98a5028a56343561d6d4eccb6ea7a625668fc15b19
MD5 fbf3e8ba5d8261c3f2592abe7e01dd34
BLAKE2b-256 7590c5a023dbf5ab4f3634ac12b82e7308a6dc3c464753935c518315c76dbc57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page