Skip to main content

Pipeshift custom themes for JupyterLab

Project description

Pipeshift JupyterLab Theme

A custom theme extension for JupyterLab featuring both light and dark modes with Pipeshift branding.

Features

  • Two Theme Variants:
    • Pipeshift Light - Clean, modern light theme
    • Pipeshift Dark - Elegant dark theme optimized for long coding sessions
  • Inter Font Integration: Modern, readable typography
  • Customizable CSS Variables: Organized by component for easy modification
  • JupyterLab 4.4.5+ Compatible: Built for the latest JupyterLab versions
  • Easy Installation: Available via pip

Installation

Via pip (Recommended)

pip install pipeshift-jupyterlab-theme

From Source

git clone https://github.com/pipeshift/pipeshift-jupyterlab-theme.git
cd pipeshift-jupyterlab-theme
pip install -e .

Usage

  1. After installation, restart JupyterLab
  2. Go to SettingsTheme
  3. Select either:
    • Pipeshift Light for light mode
    • Pipeshift Dark for dark mode

Theme Colors

Brand Colors

  • Accent Color: #8A38F5 (Pipeshift Purple)

Light Theme

  • Primary Background: #FFFFFF
  • Primary Text: #181D27
  • Border Color: #616161

Dark Theme

  • Primary Background: #131314
  • Primary Text: #ECECED
  • Border Color: #898989

Customization

The theme is built with CSS custom properties (variables) organized by component. You can easily customize colors by overriding these variables:

Core Variables (in style/variables.css)

:root {
  /* Brand Colors */
  --ps-accent-color: #8A38F5;
  --ps-accent-hover: #7A2FE5;
  --ps-accent-active: #6A26D5;
  
  /* Typography */
  --ps-font-family: 'Inter', sans-serif;
  --ps-font-size-base: 13px;
  /* ... and many more */
}

Component-Specific Variables

The theme includes organized variables for:

  • Notebook Cells: --ps-cell-*
  • File Browser: --ps-filebrowser-*
  • Terminal: --ps-terminal-*
  • Toolbar: --ps-toolbar-*
  • Menus: --ps-menu-*
  • Status Bar: --ps-statusbar-*
  • Tabs: --ps-tab-*
  • Sidebar: --ps-sidebar-*
  • Code Editor: --ps-editor-*

Development

Prerequisites

  • Node.js 18+
  • Python 3.8+
  • JupyterLab 4.4.5+

Setup

# Clone the repository
git clone https://github.com/pipeshift-org/pipeshift-jupyterlab-theme.git
cd pipeshift-jupyterlab-theme

# Install dependencies
npm install

# Install the package in development mode
pip install -e .

# Build and link the extension
npm run build
jupyter labextension develop . --overwrite

Development Workflow

# Watch for changes and rebuild
npm run watch

# In another terminal, start JupyterLab
jupyter lab --watch

Building for Production

# Clean previous builds
npm run clean:all

# Build production version
npm run build:prod

# Build Python package
python -m build

File Structure

pipeshift-jupyterlab-theme/
├── src/
│   └── index.ts              # TypeScript entry point
├── style/
│   ├── index.css             # Main CSS entry point
│   ├── variables.css         # CSS custom properties
│   ├── light.css             # Pipeshift Light theme
│   └── dark.css              # Pipeshift Dark theme
├── package.json              # NPM package configuration
├── pyproject.toml            # Python package configuration
├── tsconfig.json             # TypeScript configuration
└── install.json              # JupyterLab installation metadata

Browser Support

  • Chrome/Chromium 88+
  • Firefox 85+
  • Safari 14+
  • Edge 88+

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Changelog

v0.1.0 (Initial Release)

  • Pipeshift Light theme
  • Pipeshift Dark theme
  • Inter font integration
  • Comprehensive CSS variable system
  • JupyterLab 4.4.5+ compatibility

Support

For issues and feature requests, please use the GitHub Issues page.


Made with ❤️ by Pipeshift

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

pipeshift_jupyterlab_theme-0.1.0.tar.gz (175.4 kB view details)

Uploaded Source

Built Distribution

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

pipeshift_jupyterlab_theme-0.1.0-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file pipeshift_jupyterlab_theme-0.1.0.tar.gz.

File metadata

File hashes

Hashes for pipeshift_jupyterlab_theme-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9399f22fe0f610ae359a2911167dd23701fa8d38002de3ebc06df8841d833fdd
MD5 381c21d83bbced587a00f32e1a118feb
BLAKE2b-256 7a7c58f593a9690ed3373b9c514bfb36489df845eeb43f1168ce5a019c2d5b63

See more details on using hashes here.

File details

Details for the file pipeshift_jupyterlab_theme-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pipeshift_jupyterlab_theme-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ac70103448161d169ac4af7831cc4b1f1486ea18bbb3985723a27c8ba257a49
MD5 0e184e5d963bcb6816644a9a84672f17
BLAKE2b-256 06cf7d237e74a66bb845ebadebf1e79071faeec9cd26ed9b21fd56cfb048f672

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