Git Product home page Git Product logo

jupyterlab-desktop's Introduction

JupyterLab Desktop

A desktop application for JupyterLab, based on Electron.

JupyterLab Desktop

JupyterLab Desktop currently supports user-friendly prebuilt extensions. Source extensions which require rebuilding are not supported.

Download

GitHub release (latest by date)

Before installing please read the Python Environment Customization Guide if you plan to customize the Python environment to add new packages. If you have an existing JupyterLab Desktop installation, please uninstall it first by following the uninstall instructions.

Launching JupyterLab Desktop

JupyterLab Desktop can be launched from the GUI of your operating system by clicking the application's icon or by using jlab command from the command line. Double clicking .ipynb files is also supported and it will launch JupyterLab Desktop and load the notebook file.

JupyterLab Desktop sets File Browser's root directory based on the launch method.

  • If launched from the application icon on GUI or by using jlab command without any arguments, then user's home is set as the root directory.
  • If launched by double clicking .ipynb file or jlab command with a file path as the argument, then file's parent directory is set as the root directory.
  • If jlab command is used with a directory path as the argument then the directory in the argument is set as the root directory.

jlab command-line launch examples

  • Open directories using relative or absolute path
    • jlab . launch in current directory
    • jlab ../notebooks launch with relative path
    • jlab /Users/username/notebooks launch with absolute path
  • Open notebooks and other files using relative or absolute path
    • jlab /Users/username/notebooks/test.ipynb launch notebook with absolute path
    • jlab ../notebooks/test.ipynb launch notebook with relative path
    • jlab ../test.py launch python file with relative path

Configuration files

By default JupyterLab Desktop will only load and write to Jupyter configuration located in:

  • %APPDATA%\jupyterlab-desktop on Windows
  • $XDG_CONFIG_HOME/jupyterlab-desktop or ~/.config/jupyterlab-desktop on Linux
  • ~/Library/Application\ Support/jupyterlab-desktop on macOS

ignoring any other Jupyter configuration which may be present in standard Jupyter paths as defined by jupyter --paths. This includes jupyter-server settings, jupyterlab settings and workspaces, and any other configuration which would normally be shared between Jupyter installations. This is necessary to prevent a clash between the Desktop and any previous Jupyter installation.

You can change the configuration path by specifying JLAB_DESKTOP_CONFIG_DIR environment variable.

For instructions on how to copy the settings from previous JupyterLab installation please see the user guide.

Build dependencies

  • conda

    You can install conda as part of a Miniforge installer.

  • (conda) Constructor to bundle JupyterLab Desktop Server into the stand-alone application. You can install Constructor using:

    conda install -c conda-forge constructor
  • nodejs

    You can install from https://nodejs.org/en/download/ or run:

    conda install -c conda-forge nodejs
  • yarn

    Install using

    npm install --global yarn

Local development

JupyterLab Desktop bundles JupyterLab front-end and a conda environment as JupyterLab Desktop Server as its backend into an Electron application.

<platform>: mac, linux or win

  • Get the project source code

    git clone https://github.com/jupyterlab/jupyterlab-desktop.git
  • Install dependencies and build JupyterLab Desktop

    yarn
    yarn build
  • Create the JupyterLab Desktop Server installer using

    yarn create_env_installer:<platform>

    Installer will be created in one of env_installer/JupyterLabDesktopAppServer<version>-MacOSX-x86_64.sh, env_installer/JupyterLabDesktopAppServer-<version>-Linux-x86_64.sh, env_installer/JupyterLabDesktopAppServer-<version>-Windows-x86_64.exe based on your platform

  • Run the installer to install the JupyterLab Desktop Server. Make sure to set install location to jlab_server directory that is at the same level as jupyterlab-desktop project source code

  • Now you can launch the JupyterLab Desktop locally using:

    yarn start

Building for distribution

  • Build the application

    yarn run clean && yarn build
  • Create JupyterLab Desktop Server installer

    yarn create_env_installer:<platform>
  • Create JupyterLab Desktop installer which will also bundle JupyterLab Desktop Server installer.

    yarn dist:<platform>

    Application Installer will be created in dist/JupyterLab.pkg (macOS), dist/JupyterLab.deb (Debian, Ubuntu), dist/JupyterLab.rpm (Red Hat, Fedora) and dist/JupyterLab-Setup.exe (Windows) based on the platform

Release Instructions

For instructions on updating bundled JupyterLab packages and cutting a new release, please follow Release.md document.

jupyterlab-desktop's People

Contributors

mbektas avatar declanvk avatar lucbouchard1 avatar ddavidebor avatar krassowski avatar ellisonbg avatar cameronoelsen avatar charnpreetsingh avatar dependabot[bot] avatar bollwyvl avatar willingc avatar tgeorgeux avatar ashutoshbondre avatar ianhi avatar jzf2101 avatar zzhangjii avatar jasongrout avatar jtpio avatar jdetle avatar dudeofawesome avatar rschroll avatar blink1073 avatar zsailer avatar telamonian avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.