Package: jupyterlab-accessible-themes
JupyterLab accessible themesInformationLinksProjectToolsWelcome to the JupyterLab accessible themes' repository 👋🏽.
To learn more about the broader accessibility initiatives within Jupyter, check thejupyter/accessibility repository.JupyterLab accessible themesAbout the themesRequirements 📦Installing the extension 🏗Uninstalling the extension 🧽Contributing to JupyterLab accessible themes 🙋🏽‍♀️Installing the development version 💻Pre-requisitesBuilding and linking the extensionFurther development tipsPre-commit hooks 🧹Uninstalling the development version 🧽Testing the extension ✅Frontend testsIntegration testsPackaging the extension 📦License 📖Acknowledgements 🙏🏼This repository defines a set of accessible themes according toWCAG color standards. Please note that some themes are optimized for colorblindness and/or high contrast. Inside the README of each theme, you will find detailed information about the colors, their purpose and reference links from the original authors.About the themesPitaya Smoothie- Color-blind friendlyGitHub LightGithub DarkFont=======All the themes are using theAtkinson Hyperlegible font, which focuses on letter form distinction to increase character recognition, ultimately improving readability.This font can only be changed for theMarkdown viewerand theTerminal. You will need to make these changes from theAdvanced settingseditor in the JupyterLab UI:Select theSettingsoption in themenu bar.Go toMarkdown viewer settings, and type the font family that you want to use.To change theTerminalfont, scroll down toTerminal settingsand type the name of the font family.Requirements 📦JupyterLab>= 3.0, <4.0Installing the extension 🏗You can install the extension usingpip:pipinstalljupyterlab-accessible-themesIf you preferconda:condainstall-cconda-forgejupyterlab-accessible-themes# alternatively you can use mambamambainstalljupyterlab-accessible-themesAfter installing the extension, open JupyterLab, go to the top menu bar, go to Settings > Theme, and choose one of the themes provided by this extension.Uninstalling the extension 🧽To remove the extension you can run the following command:# if installed with pippipuninstalljupyterlab-accessible-themes# if using condacondauninstalljupyterlab-accessible-themesContributing to JupyterLab accessible themes 🙋🏽‍♀️Installing the development version 💻Pre-requisitesYou will need to haveNodeJSinstalled on your local computer to build the extension package.Python >= 3.8 andpip.Building and linking the extensionNoteThejlpmcommand is JupyterLab's pinned version ofyarnthat is installed with JupyterLab. You may useyarnornpmin lieu ofjlpmin the commands below.Clone this repository to your local computer:gitclonehttps://github.com/Quansight-Labs/jupyterlab-accessible-themes.gitChange to thejupyterlab-accessible-themesdirectory:cdjupyterlab-accessible-themesOptional but recommended - Create and activate a development environment with conda:# Create environment named `jupyterlab-accessible-themes`condacreate-njupyterlab-accessible-themes
condaactivatejupyterlab-accessible-themesInstall JupyterLab and NodeJSif not installed:# Install node and jupyterlab from conda-forgecondainstall-cconda-forge'nodejs>16''jupyterlab<4'Install the node dependencies and build the extension:# Install node dependenciesjlpminstall# Compile packages before linking to Jupyterlab development versionjlpmbuildInstall the package in development mode:pipinstall-e.Now you'll need to link the development version of the extension to JupyterLab and rebuild the Typescript source:# Link your development version of the extension with JupyterLabjupyterlabextensiondevelop.--overwriteOn the first installation, or after making some changes, to visualize them in your local JupyterLab re-run the following command:# Rebuild extension Typescript source after making changesjlpmbuildRun JupyterLab and check that the installation worked:# Run JupyterLabjupyterlabImportantOnce everything is installed, you will need to select the theme inside JupyterLab via the main menuSettings > Theme.Further development tips🔍 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.# Watch the source directory (JupyterLab accessible themes) in one terminal, automatically rebuilding when needed# Can use yarn or npm depending on your preferencejlpmwatch# Run JupyterLab in another terminaljupyterlabWith the watch command running, every saved change will immediately be built locally and available in your running JupyterLab instance.
Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).By default, thejlpm buildcommand 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:jupyterlabbuild--minimize=FalsePre-commit hooks 🧹This repository uses theprettierpre-commit hookto standardize our YAML and markdown structure.Before you can run the hooks, you need to install the pre-commit package manager:# using pippipinstallpre-commit# if you prefer using condacondainstall-cconda-forgepre-commitFrom the root of this project, install the git hook scripts:# install the pre-commit hookspre-commitinstallOptional- run the hooks against the files in this repository# run the pre-commit hookspre-commitrun--all-filesUninstalling the development version 🧽Remove the extension:pipuninstalljupyterlab-accessible-themesIn development mode, you will also need to remove the symlink created byjupyter labextension developcommand. To find its location, you can runjupyter labextension listto figure out where thelabextensionsfolder is located. Then you can remove the symlink namedjupyterlab-accessible-themeswithin that folder.Testing the extension ✅Frontend testsThis extension is usingJestfor JavaScript code testing.To execute the tests run the following command:jlpm
jlpmtestIntegration testsThis extension usesPlaywrightfor the integration tests (aka user-level tests).
More precisely, the JupyterLab helperGalatais used to handle testing the extension in JupyterLab.
More information is provided within theui-testsREADME.Packaging the extension 📦Detailed instructions for creatingjupyterlab-accesible-themescan be found in theRELEASEfile.License 📖This project is licensed under the BSD-3-Clause license.Acknowledgements 🙏🏼We want to thank the following sources for being the source of inspiration for one or more themes that are available in this repository,Pitaya Smoothie themeGitHub's VS Code themes