innerfirexy / jupyterlab-desktop

JupyterLab desktop application, based on Electron.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JupyterLab Desktop

A desktop application for JupyterLab, based on Electron.

JupyterLab Desktop

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

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.

About

JupyterLab desktop application, based on Electron.

License:Other


Languages

Language:TypeScript 79.7%Language:JavaScript 9.1%Language:CSS 6.0%Language:NSIS 4.3%Language:Shell 0.4%Language:Python 0.3%Language:HTML 0.2%Language:Batchfile 0.0%