A desktop application for JupyterLab, based on Electron.

Overview

JupyterLab App

A desktop application for JupyterLab, based on Electron.

JupyterLab App

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.

Build dependencies

  • conda

    You can install conda as part of a Miniforge installer.

  • (conda) Constructor to bundle JupyterLab App 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 App bundles JupyterLab front-end and a conda environment as JupyterLab App Server as its backend into an Electron application.

: mac, linux or win

  • Get the project source code

    git clone https://github.com/jupyterlab/jupyterlab_app.git
  • Install dependencies and build JupyterLab App

    yarn
    yarn build
  • Create the JupyterLab App Server installer using

    yarn create_env_installer:<platform>

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

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

  • Now you can launch the JupyterLab App locally using:

    yarn start

Building for distribution

  • Build the application

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

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

    yarn dist:<platform>

    App 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 app release, please follow Release.md document.

Comments
  • Jupyter Server Not Found (executable not in PATH)

    Jupyter Server Not Found (executable not in PATH)

    Description

    When starting jupyterlab_app, I get the message:

    Jupyter Server Not Found We were unable to launch a Jupyter server, which is a prerequisite for JupyterLab Native. If Jupyter is installed as a python module, but the python executable is not in your PATH, specify the executable location below. Otherwise, try installing or updating Jupyter. The Jupyter notebook version must be 4.3.0 or greater.

    Despite a) having a working jupyter-lab installation that I can spin up from the terminal and which appears in the browser, b) having the python executable in my path, and c) having the requisite version of jupyter.

    When I manually point jupyterlab_app to the python executable (/Users/aschuler/.pyenv/shims/python) via the CHOOSE PATH it spins the icon again for a moment and then returns the same "Server Not Found" message.

    Context

    I am running python through pyenv, which may be the issue here. Relevant information:

    [email protected] ~ % pyenv versions
      system
    * 3.9.6 (set by /Users/aschuler/.pyenv/version)
    
    [email protected] ~ % echo $PATH    
    /Users/aschuler/.pyenv/shims:/Applications/Sublime Text.app/Contents/SharedSupport/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
    
    [email protected] ~ % jupyter --version
    jupyter core     : 4.7.1
    jupyter-notebook : 6.4.0
    qtconsole        : 5.1.1
    ipython          : 7.26.0
    ipykernel        : 6.0.3
    jupyter client   : 6.1.12
    jupyter lab      : 3.1.13
    nbconvert        : 6.1.0
    ipywidgets       : 7.6.3
    nbformat         : 5.1.3
    traitlets        : 5.0.5
    
    [email protected] ~ % which python
    /Users/aschuler/.pyenv/shims/python
    
    [email protected] ~ % which jupyter-lab
    /Users/aschuler/.pyenv/shims/jupyter-lab
    

    (MK): Extra details from title: jupyterlab_app fails to start on MacOS 11.5.2 with (pyenv issue?)

    bug 
    opened by alejandroschuler 50
  • How do I change which Python is used?

    How do I change which Python is used?

    My apologies if this is not specific to Jupyterlab App.

    in a notebook within Jupyterlab App, when I run:

    import sys
    sys.executable
    

    it returns '/usr/bin/python3'

    I would like it to return '/usr/local/anaconda3/bin/python'

    How do I specify which python Jupyterlab App uses?

    Thank you!

    opened by AndrewChap 32
  • Jupyter Server Not Found with Python 3.6.4 through pyenv

    Jupyter Server Not Found with Python 3.6.4 through pyenv

    Hi, I am able to launch jupyterlab from the command line but unable to do it through the app. I receive:

    We were unable to launch a Jupyter server, which is a prerequisite for JupyterLab Native. If Jupyter is already installed, but it is not in your PATH, specify its location below. Otherwise, try installing or updating Jupyter. The Jupyter notebook version must be 4.3.0 or greater.

    My package versions are the following:

    jupyter==1.0.0
    jupyter-client==5.2.2
    jupyter-console==5.2.0
    jupyter-core==4.4.0
    jupyterlab==0.31.5
    jupyterlab-launcher==0.10.3
    notebook==5.4.0
    

    I use pyenv and jupyterlab is available through the PATH variable (I checked on the cli).

    I am on MacOS 10.13.2 (17C205).

    Thanks, Francesco

    opened by fbrundu 31
  • Apple developer program certificates

    Apple developer program certificates

    Linux and Windows distribution work, but it's hard to distribute apps for MacOS without apple certificates. https://developer.apple.com/programs/

    This is going to require a legally registered entity, I imagine NumFocus

    opened by ddavidebor 23
  • Launcher Error Failed to construct 'IntersectionObserver': rootMargin must be specified in pixels or percent.

    Launcher Error Failed to construct 'IntersectionObserver': rootMargin must be specified in pixels or percent.

    I cannot launch either octave or python kernels. I get this error: Launcher Error Failed to construct 'IntersectionObserver': rootMargin must be specified in pixels or percent.

    image

    To reproduce it, just install JupyterLab_app on Ubuntu 21.04 and start it. Then click the Python 3 launcher.

    \

    Expected behavior

    Context

    This is on Ubuntu 21.04. I have an ordinary jupyter-lab that uses the browser installed too, and it works fine. I used the .deb to install it just now.

    \

    bug 
    opened by frohro 15
  • Upgrade to JupyterLab 3

    Upgrade to JupyterLab 3

    • Upgrades to JupyterLab 3.1.10 version
    • MVP solution for stand-alone and self-contained desktop application for macOS, Debian, Ubuntu, Red Hat, Fedora and Windows with GUI installers for each platform
    • Bundles JupyterLab server using conda constructor and automatically installs the conda environment during app installation. Following conda packages are included in the environment:
      - python 3.8
      - numpy
      - scipy
      - pandas
      - jupyterlab 3.1.10
      - ipywidgets 7.6.4
      - matplotlib
    
    • Some features are removed (remote JupyterLab server connection etc) for now with the initial goal being providing an MVP desktop app

    macOS jlab-mac-install

    jlab-mac

    Ubuntu jlab-ubuntu-install

    jlab-ubuntu

    Fedora jlab-fedora-install

    jlab-fedora

    Windows jlab-windows-install

    jlab-windows

    enhancement 
    opened by mbektas 15
  • Native backend for the settings system

    Native backend for the settings system

    @lucbouchard1 I talked with @blink1073 and @afshin about making sure the keyboard shortcuts and other things continue to work once the new JLab is released. Here is my understanding of the situation:

    • The settings system in jlab is backed by an nbserverextension that has a REST endpoint.
    • We can implement one small interface and replace it with a settings system that uses a native file in the appropriate user's directory.
    • We will need to think a bit more about how to read the defaults for the settings system from the npm packages that provide those defaults.

    We would like to have a JupyterLab Native release by JupyterCon that includes this stuff. Let us know if you have questions.

    opened by ellisonbg 14
  • Packaging on linux

    Packaging on linux

    This PR introduces a way to easily build the application for a Linux environment. Mac and Windows will come as soon as I have more free time (or others wanna help out).

    I still need to test if the icons and menu shortcuts work well on a fresh distro install, the workstation I work with is fairly messed up in this regard.

    But it's a decent start. Mac release coming soon.

    opened by ddavidebor 14
  • fix python path used on createLaunchScript

    fix python path used on createLaunchScript

    I created this pull request as a solution to issue #381 Jupyter Server Initialization Failed.

    After analyzing the logs and the commands used on the processes called to execute the program, I figured that you were using the python of the console instead of the one on the environment, which wasn't allowing the app to launch properly.

    To prevent the usage of the wrong python path I used the one that was stored on the constant pythonPath.

    I also figured that it is being used source env_path\bin\activate to activate all types of environments on Linux desktops, which, if I am not wrong, can be the reason for the problem, since newer versions of Anaconda (and Miniconda) are not using the activate and deactivate binaries by default. I didn't change anything related to this problem (I just left a note comment) because the first solution was able to solve the main problem, however, I believe this needs to be revised.

    opened by anaximeno 11
  • Native macOS menubar

    Native macOS menubar

    On macOS the menubar is missing certain elements which all applications should have.

    1. In particular, the JupyterLab menu is empty (it should contain the default Hide, Quit, Services. etc items, plus Preferences and About).

    2. The Help menu should be tagged as a Help menu so that the search box appears in it.

    3. There should really be an "Edit" menu with standard text-editing commands (Undo, Copy, Paste, etc).

    Additionally (not specific to macOS):

    1. The keyboard shortcuts should be registered to show up in the menus.

    2. The menu items should be enabled and disabled as appropriate.

    3. Some menu items should be checked/unchecked as appropriate.

    I have implemented 1, 2, and 4, and will send pull requests. I could do 3 too.

    I am having more trouble with 5 and 6 as I'm not unfamiliar with the architecture of JupyterLab so I'm not sure where to register listeners for commands being enabled/disabled.

    opened by caesar 11
  • Upgrade to Electron 15

    Upgrade to Electron 15

    Looks like this one will be easy. Electron 15 blog post: https://www.electronjs.org/blog/electron-15-0 We are getting straight to 15.3.4.

    Full changelog for 15.0.0: https://www.electronjs.org/releases/stable?page=3#15.0.0

    Stack:

    • Chromium 93 → 94
    • Node v14.17.0 → v16.5.0
    • V8: v9.3 → v9.4
    opened by krassowski 10
  • Zoom with <kbd>ctrl</kbd> + <kbd>=</kbd> no longer works

    Zoom with ctrl + = no longer works

    The browsers and editors I know that support zoom out with ctrl + - and zoom in with ctrl + + also support ctrl + = for zoom in. Electron does not define a shortcut for the latter. The workaround is to define it manually as suggested in https://github.com/electron/electron/issues/15496.

    We had a shortcut for this but it was removed in f72e0a563e100b6520fdd13d9b3fc3a707241abe. Maybe it could be restored if it does not have side effects.

    bug status:Needs Triage 
    opened by krassowski 0
  • Add dependabot configuraiton

    Add dependabot configuraiton

    Proposing to add dependabot for keeping Electron dependencies up to date. If any package updates are too aggressive we can add more ignore rules or adjust version bumping strategy.

    This does not affect the security updates.

    opened by krassowski 1
  • Bump fast-json-patch from 3.1.0 to 3.1.1

    Bump fast-json-patch from 3.1.0 to 3.1.1

    Bumps fast-json-patch from 3.1.0 to 3.1.1.

    Release notes

    Sourced from fast-json-patch's releases.

    3.1.1

    Security Fix for Prototype Pollution - huntr.dev #262

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies javascript 
    opened by dependabot[bot] 0
  • Can't launch from command line

    Can't launch from command line

    Description

    1. Unable to launch JupyterLab Desktop from the command line. Depending on usage, different errors occur. Namely, command jlab launches a Node.js shell, while jlab /path/to/something returns Error: Cannot find module '/path/to/something'. Full outputs:
    (jlab-test) [email protected]:~$ jlab
    Welcome to Node.js v16.17.1.
    Type ".help" for more information.
    > .exit
    (jlab-test) [email protected]:~$ jlab .
    node:internal/modules/cjs/loader:966
      throw err;
      ^
    
    Error: Cannot find module '/home/$USER'
        at Module._resolveFilename (node:internal/modules/cjs/loader:963:15)
        at Module._load (node:internal/modules/cjs/loader:811:27)
        at f._load (node:electron/js2c/asar_bundle:2:13328)
        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
        at node:internal/main/run_main_module:17:47 {
      code: 'MODULE_NOT_FOUND',
      requireStack: []
    }
    (jlab-test) [email protected]:~$ jlab Documents/test.ipynb
    /home/$USER/Documents/test.ipynb:2
     "cells": [
            ^
    
    SyntaxError: Unexpected token ':'
        at Object.compileFunction (node:vm:360:18)
        at wrapSafe (node:internal/modules/cjs/loader:1062:15)
        at Module._compile (node:internal/modules/cjs/loader:1097:27)
        at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)
        at Module.load (node:internal/modules/cjs/loader:1011:32)
        at Module._load (node:internal/modules/cjs/loader:846:12)
        at f._load (node:electron/js2c/asar_bundle:2:13328)
        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
        at node:internal/main/run_main_module:17:47
    
    1. Additionally, jlab --version returns the version of Node.js.

    2. Command jlab --verbose 4 (as indicated for logging purposes here) returns error:

    (jlab-test) [email protected]:~$ jlab --verbose 4
    /opt/JupyterLab/jupyterlab-desktop: bad option: --verbose
    

    Behaviour is the same in base environment and in test environment created as described in https://jupyterlab.readthedocs.io/en/latest/getting_started/issue.html . Exception: command jupyter troubleshoot (outputs under 'Context', below) works as expected in test environment, but returns 'jupyter not found' in base environment.

    Steps to reproduce

    • Run jlab with or without specifying path to directory or notebook (errors should vary as described above).

    OR

    • Run jlab --version.

    Context

    • Operating System and version: Linux Mint 20.3
    • JupyterLab-Desktop version: 3.5.1-1
    • Installer: .deb
    Troubleshoot Output
    $PATH:
    	/home/$USER/.local/bin
    	/home/$USER/bin
    	/home/$USER/.local/bin
    	/home/$USER/miniconda3/envs/jlab-test/bin
    	/home/$USER/.config/jupyterlab-desktop/jlab_server/condabin
    	/home/$USER/.local/bin
    	/home/$USER/bin
    	/usr/local/sbin
    	/usr/local/bin
    	/usr/sbin
    	/usr/bin
    	/sbin
    	/bin
    	/usr/games
    	/usr/local/games
    	/snap/bin
    	/home/$USER/.local/bin
    	/usr/local/texlive/2022/bin/x86_64-linux
    

    sys.path: /home/$USER/miniconda3/envs/jlab-test/bin /home/$USER/miniconda3/envs/jlab-test/lib/python311.zip /home/$USER/miniconda3/envs/jlab-test/lib/python3.11 /home/$USER/miniconda3/envs/jlab-test/lib/python3.11/lib-dynload /home/$USER/miniconda3/envs/jlab-test/lib/python3.11/site-packages

    sys.executable: /home/$USER/miniconda3/envs/jlab-test/bin/python

    sys.version: 5.11.0 | packaged by conda-forge | (main, Oct 25 2022, 06:24:40) [GCC 10.4.0]

    platform.platform(): Linux-5.15.0-56-generic-x86_64-with-glibc2.31

    which -a jupyter: /home/$USER/miniconda3/envs/jlab-test/bin/jupyter

    pip list: Package Version ----------------------------- ----------- anyio 3.6.2 argon2-cffi 21.3.0 argon2-cffi-bindings 21.2.0 asttokens 2.2.1 attrs 22.2.0 Babel 2.11.0 backcall 0.2.0 backports.functools-lru-cache 1.6.4 beautifulsoup4 4.11.1 bleach 5.0.1 brotlipy 0.7.0 certifi 2022.12.7 cffi 1.15.1 charset-normalizer 2.1.1 comm 0.1.2 cryptography 38.0.4 debugpy 1.6.4 decorator 5.1.1 defusedxml 0.7.1 entrypoints 0.4 executing 1.2.0 fastjsonschema 2.16.2 flit_core 3.8.0 idna 3.4 importlib-metadata 5.2.0 importlib-resources 5.10.1 ipykernel 6.19.4 ipython 8.7.0 ipython-genutils 0.2.0 jedi 0.18.2 Jinja2 3.1.2 json5 0.9.5 jsonschema 4.17.3 jupyter_client 7.4.8 jupyter_core 5.1.0 jupyter-events 0.5.0 jupyter_server 2.0.5 jupyter_server_terminals 0.4.3 jupyterlab 3.5.2 jupyterlab-pygments 0.2.2 jupyterlab_server 2.17.0 MarkupSafe 2.1.1 matplotlib-inline 0.1.6 mistune 2.0.4 nbclassic 0.4.8 nbclient 0.7.2 nbconvert 7.2.7 nbformat 5.7.1 nest-asyncio 1.5.6 notebook 6.5.2 notebook_shim 0.2.2 packaging 22.0 pandocfilters 1.5.0 parso 0.8.3 pexpect 4.8.0 pickleshare 0.7.5 pip 22.3.1 pkgutil_resolve_name 1.3.10 platformdirs 2.6.0 prometheus-client 0.15.0 prompt-toolkit 3.0.36 psutil 5.9.4 ptyprocess 0.7.0 pure-eval 0.2.2 pycparser 2.21 Pygments 2.13.0 pyOpenSSL 22.1.0 pyrsistent 0.19.2 PySocks 1.7.1 python-dateutil 2.8.2 python-json-logger 2.0.4 pytz 2022.7 PyYAML 6.0 pyzmq 24.0.1 requests 2.28.1 Send2Trash 1.8.0 setuptools 65.6.3 six 1.16.0 sniffio 1.3.0 soupsieve 2.3.2.post1 stack-data 0.6.2 terminado 0.17.1 tinycss2 1.2.1 tomli 2.0.1 tornado 6.2 traitlets 5.8.0 typing_extensions 4.4.0 urllib3 1.26.13 wcwidth 0.2.5 webencodings 0.5.1 websocket-client 1.4.2 wheel 0.38.4 zipp 3.11.0

    conda list: # packages in environment at /home/$USER/miniconda3/envs/jlab-test: # # Name Version Build Channel _ipython_minor_entry_point 8.7.0 h0c17e10_0 conda-forge _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 2_gnu conda-forge anyio 3.6.2 pyhd8ed1ab_0 conda-forge argon2-cffi 21.3.0 pyhd8ed1ab_0 conda-forge argon2-cffi-bindings 21.2.0 py311hd4cff14_3 conda-forge asttokens 2.2.1 pyhd8ed1ab_0 conda-forge attrs 22.2.0 pyh71513ae_0 conda-forge babel 2.11.0 pyhd8ed1ab_0 conda-forge backcall 0.2.0 pyh9f0ad1d_0 conda-forge backports 1.0 pyhd8ed1ab_3 conda-forge backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge beautifulsoup4 4.11.1 pyha770c72_0 conda-forge bleach 5.0.1 pyhd8ed1ab_0 conda-forge brotlipy 0.7.0 py311hd4cff14_1005 conda-forge bzip2 1.0.8 h7f98852_4 conda-forge ca-certificates 2022.12.7 ha878542_0 conda-forge certifi 2022.12.7 pyhd8ed1ab_0 conda-forge cffi 1.15.1 py311h409f033_3 conda-forge charset-normalizer 2.1.1 pyhd8ed1ab_0 conda-forge comm 0.1.2 pyhd8ed1ab_0 conda-forge cryptography 38.0.4 py311h42a1071_0 conda-forge debugpy 1.6.4 py311ha362b79_0 conda-forge decorator 5.1.1 pyhd8ed1ab_0 conda-forge defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge entrypoints 0.4 pyhd8ed1ab_0 conda-forge executing 1.2.0 pyhd8ed1ab_0 conda-forge flit-core 3.8.0 pyhd8ed1ab_0 conda-forge idna 3.4 pyhd8ed1ab_0 conda-forge importlib-metadata 5.2.0 pyha770c72_0 conda-forge importlib_resources 5.10.1 pyhd8ed1ab_1 conda-forge ipykernel 6.19.4 pyh210e3f2_0 conda-forge ipython 8.7.0 pyh41d4057_0 conda-forge ipython_genutils 0.2.0 py_1 conda-forge jedi 0.18.2 pyhd8ed1ab_0 conda-forge jinja2 3.1.2 pyhd8ed1ab_1 conda-forge json5 0.9.5 pyh9f0ad1d_0 conda-forge jsonschema 4.17.3 pyhd8ed1ab_0 conda-forge jupyter_client 7.4.8 pyhd8ed1ab_0 conda-forge jupyter_core 5.1.0 py311h38be061_0 conda-forge jupyter_events 0.5.0 pyhd8ed1ab_1 conda-forge jupyter_server 2.0.5 pyhd8ed1ab_1 conda-forge jupyter_server_terminals 0.4.3 pyhd8ed1ab_0 conda-forge jupyterlab 3.5.2 pyhd8ed1ab_0 conda-forge jupyterlab_pygments 0.2.2 pyhd8ed1ab_0 conda-forge jupyterlab_server 2.17.0 pyhd8ed1ab_0 conda-forge ld_impl_linux-64 2.39 hcc3a1bd_1 conda-forge libffi 3.4.2 h7f98852_5 conda-forge libgcc-ng 12.2.0 h65d4601_19 conda-forge libgomp 12.2.0 h65d4601_19 conda-forge libnsl 2.0.0 h7f98852_0 conda-forge libsodium 1.0.18 h36c2ea0_1 conda-forge libsqlite 3.40.0 h753d276_0 conda-forge libstdcxx-ng 12.2.0 h46fd767_19 conda-forge libuuid 2.32.1 h7f98852_1000 conda-forge libzlib 1.2.13 h166bdaf_4 conda-forge markupsafe 2.1.1 py311hd4cff14_2 conda-forge matplotlib-inline 0.1.6 pyhd8ed1ab_0 conda-forge mistune 2.0.4 pyhd8ed1ab_0 conda-forge nbclassic 0.4.8 pyhd8ed1ab_0 conda-forge nbclient 0.7.2 pyhd8ed1ab_0 conda-forge nbconvert 7.2.7 pyhd8ed1ab_0 conda-forge nbconvert-core 7.2.7 pyhd8ed1ab_0 conda-forge nbconvert-pandoc 7.2.7 pyhd8ed1ab_0 conda-forge nbformat 5.7.1 pyhd8ed1ab_0 conda-forge ncurses 6.3 h27087fc_1 conda-forge nest-asyncio 1.5.6 pyhd8ed1ab_0 conda-forge notebook 6.5.2 pyha770c72_1 conda-forge notebook-shim 0.2.2 pyhd8ed1ab_0 conda-forge openssl 3.0.7 h0b41bf4_1 conda-forge packaging 22.0 pyhd8ed1ab_0 conda-forge pandoc 2.19.2 h32600fe_1 conda-forge pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge parso 0.8.3 pyhd8ed1ab_0 conda-forge pexpect 4.8.0 pyh1a96a4e_2 conda-forge pickleshare 0.7.5 py_1003 conda-forge pip 22.3.1 pyhd8ed1ab_0 conda-forge pkgutil-resolve-name 1.3.10 pyhd8ed1ab_0 conda-forge platformdirs 2.6.0 pyhd8ed1ab_0 conda-forge prometheus_client 0.15.0 pyhd8ed1ab_0 conda-forge prompt-toolkit 3.0.36 pyha770c72_0 conda-forge psutil 5.9.4 py311hd4cff14_0 conda-forge ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge pure_eval 0.2.2 pyhd8ed1ab_0 conda-forge pycparser 2.21 pyhd8ed1ab_0 conda-forge pygments 2.13.0 pyhd8ed1ab_0 conda-forge pyopenssl 22.1.0 pyhd8ed1ab_0 conda-forge pyrsistent 0.19.2 py311hd4cff14_0 conda-forge pysocks 1.7.1 pyha2e5f31_6 conda-forge python 3.11.0 ha86cf86_0_cpython conda-forge python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge python-fastjsonschema 2.16.2 pyhd8ed1ab_0 conda-forge python-json-logger 2.0.4 pyhd8ed1ab_0 conda-forge python_abi 3.11 3_cp311 conda-forge pytz 2022.7 pyhd8ed1ab_0 conda-forge pyyaml 6.0 py311hd4cff14_5 conda-forge pyzmq 24.0.1 py311ha4b6469_1 conda-forge readline 8.1.2 h0f457ee_0 conda-forge requests 2.28.1 pyhd8ed1ab_1 conda-forge send2trash 1.8.0 pyhd8ed1ab_0 conda-forge setuptools 65.6.3 pyhd8ed1ab_0 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge sniffio 1.3.0 pyhd8ed1ab_0 conda-forge soupsieve 2.3.2.post1 pyhd8ed1ab_0 conda-forge stack_data 0.6.2 pyhd8ed1ab_0 conda-forge terminado 0.17.1 pyh41d4057_0 conda-forge tinycss2 1.2.1 pyhd8ed1ab_0 conda-forge tk 8.6.12 h27826a3_0 conda-forge tomli 2.0.1 pyhd8ed1ab_0 conda-forge tornado 6.2 py311hd4cff14_1 conda-forge traitlets 5.8.0 pyhd8ed1ab_0 conda-forge typing_extensions 4.4.0 pyha770c72_0 conda-forge tzdata 2022g h191b570_0 conda-forge urllib3 1.26.13 pyhd8ed1ab_0 conda-forge wcwidth 0.2.5 pyh9f0ad1d_2 conda-forge webencodings 0.5.1 py_1 conda-forge websocket-client 1.4.2 pyhd8ed1ab_0 conda-forge wheel 0.38.4 pyhd8ed1ab_0 conda-forge xz 5.2.6 h166bdaf_0 conda-forge yaml 0.2.5 h7f98852_2 conda-forge zeromq 4.3.4 h9c3ff4c_1 conda-forge zipp 3.11.0 pyhd8ed1ab_0 conda-forge

    conda env: name: /home/$USER/miniconda3/envs/jlab-test channels: - conda-forge dependencies: - _ipython_minor_entry_point=8.7.0=h0c17e10_0 - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_gnu - anyio=3.6.2=pyhd8ed1ab_0 - argon2-cffi=21.3.0=pyhd8ed1ab_0 - argon2-cffi-bindings=21.2.0=py311hd4cff14_3 - asttokens=2.2.1=pyhd8ed1ab_0 - attrs=22.2.0=pyh71513ae_0 - babel=2.11.0=pyhd8ed1ab_0 - backcall=0.2.0=pyh9f0ad1d_0 - backports=1.0=pyhd8ed1ab_3 - backports.functools_lru_cache=1.6.4=pyhd8ed1ab_0 - beautifulsoup4=4.11.1=pyha770c72_0 - bleach=5.0.1=pyhd8ed1ab_0 - brotlipy=0.7.0=py311hd4cff14_1005 - bzip2=1.0.8=h7f98852_4 - ca-certificates=2022.12.7=ha878542_0 - certifi=2022.12.7=pyhd8ed1ab_0 - cffi=1.15.1=py311h409f033_3 - charset-normalizer=2.1.1=pyhd8ed1ab_0 - comm=0.1.2=pyhd8ed1ab_0 - cryptography=38.0.4=py311h42a1071_0 - debugpy=1.6.4=py311ha362b79_0 - decorator=5.1.1=pyhd8ed1ab_0 - defusedxml=0.7.1=pyhd8ed1ab_0 - entrypoints=0.4=pyhd8ed1ab_0 - executing=1.2.0=pyhd8ed1ab_0 - flit-core=3.8.0=pyhd8ed1ab_0 - idna=3.4=pyhd8ed1ab_0 - importlib-metadata=5.2.0=pyha770c72_0 - importlib_resources=5.10.1=pyhd8ed1ab_1 - ipykernel=6.19.4=pyh210e3f2_0 - ipython=8.7.0=pyh41d4057_0 - ipython_genutils=0.2.0=py_1 - jedi=0.18.2=pyhd8ed1ab_0 - jinja2=3.1.2=pyhd8ed1ab_1 - json5=0.9.5=pyh9f0ad1d_0 - jsonschema=4.17.3=pyhd8ed1ab_0 - jupyter_client=7.4.8=pyhd8ed1ab_0 - jupyter_core=5.1.0=py311h38be061_0 - jupyter_events=0.5.0=pyhd8ed1ab_1 - jupyter_server=2.0.5=pyhd8ed1ab_1 - jupyter_server_terminals=0.4.3=pyhd8ed1ab_0 - jupyterlab=3.5.2=pyhd8ed1ab_0 - jupyterlab_pygments=0.2.2=pyhd8ed1ab_0 - jupyterlab_server=2.17.0=pyhd8ed1ab_0 - ld_impl_linux-64=2.39=hcc3a1bd_1 - libffi=3.4.2=h7f98852_5 - libgcc-ng=12.2.0=h65d4601_19 - libgomp=12.2.0=h65d4601_19 - libnsl=2.0.0=h7f98852_0 - libsodium=1.0.18=h36c2ea0_1 - libsqlite=3.40.0=h753d276_0 - libstdcxx-ng=12.2.0=h46fd767_19 - libuuid=2.32.1=h7f98852_1000 - libzlib=1.2.13=h166bdaf_4 - markupsafe=2.1.1=py311hd4cff14_2 - matplotlib-inline=0.1.6=pyhd8ed1ab_0 - mistune=2.0.4=pyhd8ed1ab_0 - nbclassic=0.4.8=pyhd8ed1ab_0 - nbclient=0.7.2=pyhd8ed1ab_0 - nbconvert=7.2.7=pyhd8ed1ab_0 - nbconvert-core=7.2.7=pyhd8ed1ab_0 - nbconvert-pandoc=7.2.7=pyhd8ed1ab_0 - nbformat=5.7.1=pyhd8ed1ab_0 - ncurses=6.3=h27087fc_1 - nest-asyncio=1.5.6=pyhd8ed1ab_0 - notebook=6.5.2=pyha770c72_1 - notebook-shim=0.2.2=pyhd8ed1ab_0 - openssl=3.0.7=h0b41bf4_1 - packaging=22.0=pyhd8ed1ab_0 - pandoc=2.19.2=h32600fe_1 - pandocfilters=1.5.0=pyhd8ed1ab_0 - parso=0.8.3=pyhd8ed1ab_0 - pexpect=4.8.0=pyh1a96a4e_2 - pickleshare=0.7.5=py_1003 - pip=22.3.1=pyhd8ed1ab_0 - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_0 - platformdirs=2.6.0=pyhd8ed1ab_0 - prometheus_client=0.15.0=pyhd8ed1ab_0 - prompt-toolkit=3.0.36=pyha770c72_0 - psutil=5.9.4=py311hd4cff14_0 - ptyprocess=0.7.0=pyhd3deb0d_0 - pure_eval=0.2.2=pyhd8ed1ab_0 - pycparser=2.21=pyhd8ed1ab_0 - pygments=2.13.0=pyhd8ed1ab_0 - pyopenssl=22.1.0=pyhd8ed1ab_0 - pyrsistent=0.19.2=py311hd4cff14_0 - pysocks=1.7.1=pyha2e5f31_6 - python=3.11.0=ha86cf86_0_cpython - python-dateutil=2.8.2=pyhd8ed1ab_0 - python-fastjsonschema=2.16.2=pyhd8ed1ab_0 - python-json-logger=2.0.4=pyhd8ed1ab_0 - python_abi=3.11=3_cp311 - pytz=2022.7=pyhd8ed1ab_0 - pyyaml=6.0=py311hd4cff14_5 - pyzmq=24.0.1=py311ha4b6469_1 - readline=8.1.2=h0f457ee_0 - requests=2.28.1=pyhd8ed1ab_1 - send2trash=1.8.0=pyhd8ed1ab_0 - setuptools=65.6.3=pyhd8ed1ab_0 - six=1.16.0=pyh6c4a22f_0 - sniffio=1.3.0=pyhd8ed1ab_0 - soupsieve=2.3.2.post1=pyhd8ed1ab_0 - stack_data=0.6.2=pyhd8ed1ab_0 - terminado=0.17.1=pyh41d4057_0 - tinycss2=1.2.1=pyhd8ed1ab_0 - tk=8.6.12=h27826a3_0 - tomli=2.0.1=pyhd8ed1ab_0 - tornado=6.2=py311hd4cff14_1 - traitlets=5.8.0=pyhd8ed1ab_0 - typing_extensions=4.4.0=pyha770c72_0 - tzdata=2022g=h191b570_0 - urllib3=1.26.13=pyhd8ed1ab_0 - wcwidth=0.2.5=pyh9f0ad1d_2 - webencodings=0.5.1=py_1 - websocket-client=1.4.2=pyhd8ed1ab_0 - wheel=0.38.4=pyhd8ed1ab_0 - xz=5.2.6=h166bdaf_0 - yaml=0.2.5=h7f98852_2 - zeromq=4.3.4=h9c3ff4c_1 - zipp=3.11.0=pyhd8ed1ab_0 prefix: /home/$USER/miniconda3/envs/jlab-test

    Logs See item 3 under 'Description', above.

    bug 
    opened by AJSchiller 4
  • Rewrite with Welcome Page and session history

    Rewrite with Welcome Page and session history

    • [x] Architectural redesign
    • [x] Separate app state and settings. Introduce workspace (working directory) settings
    • [x] Welcome Page
    • [x] Open notebook / folder from UI
    • [x] Recent session list and ability to reopen
    • [x] News feed from Jupyter Blog
    • [x] Close session and open new without relaunch
    • [x] Default Python env and working directory in Preferences dialog. Default working directory now configurable in UI
    • [x] Remote server URL history and autocomplete in UI
    • [x] User configurable startup modes: Welcome Page, New Local Session, Restore Last Session
    • [x] Cleaner, prettified JSON config files
    • [x] Drag - drop support on Welcome Page
    • [x] CLI with pythonPath and working directory options
    • [ ] List and connect to existing local servers
    • [ ] More user friendly Python env selection on UI using popup. New env applied without app restart. Existing environments are discovered and listed as options
    • [ ] Progress view and better server launch error handling
    opened by mbektas 0
  • Julia widgets not working

    Julia widgets not working

    Description

    The widgets provided by Julia's Interact package cannot be displayed in output cells.

    Reproduce

    This is an example of a @manipulate slider which doesn't work with my Jupyterlab desktop installation:

    using Plots
    using Interact
    
    u(x, t) = 1/2 * (sin(x + t) - sin(t - x))
    
    x = 1:0.01:5
    @manipulate for tᵢ in 0:0.1:1
        y = [u(x[i], tᵢ) for i in 1:length(x)]
        plot(x, y)
    end
    

    In the output cell only a plot can be seen, but the slider doesn't show up. No error messages are thrown by the Julia kernel.

    Context

    • Operating System and version: Manjaro Linux
    • JupyterLab-Desktop version: 3.5.0
    • Installer: AUR
    • WebIO extension installed with pip
    bug status:Needs Triage 
    opened by HTofi 0
Releases(v3.5.1-1)
Owner
JupyterLab
JupyterLab: The Next Generation UI for Project Jupyter
JupyterLab
A Python native, OS native GUI toolkit.

Toga A Python native, OS native GUI toolkit. Prerequisites Minimum requirements Toga requires Python 3. Python 2 is not supported. If you're on macOS,

BeeWare 3.3k Jan 02, 2023
A simple project used Tkinter module to make a seperate window

Project Title This is a program to run a databse where you can store the general information of poeple. This is a very simple project and i have used

Divyansh Bhardwaj 0 Jun 25, 2022
Function-Plotter - GUI Python program that plots functions that are entered by the user

FunctionPlotter GUI Python program that plots functions that are entered by the user. The program takes minimum and maximum value for x and plot it as

Mohamed Magdy 2 Jan 20, 2022
Input an antlr grammar and file for python to test it out

py-antlr-input Input an ANTLR grammar and test file for python to render a parser tree of the file. This program will make use of the grun command tha

Oscar Juárez 0 Aug 10, 2021
An qt asset browser for applications like houdini/nuke/maya/blender

AssetBrowser A qt asset browser for applications like houdini/nuke/maya/blender Currently in development Note: Only houdini plugin available during de

Jonas Sorgenfrei 6 Aug 05, 2022
Declarative User Interfaces for Python

Welcome to Enaml Enaml is a programming language and framework for creating professional-quality user interfaces with minimal effort. What you get A d

1.4k Jan 07, 2023
Learn to build a Python Desktop GUI app using pywebview, Python, JavaScript, HTML, & CSS.

Python Desktop App Learn how to make a desktop GUI application using Python, JavaScript, HTML, & CSS all thanks to pywebview. pywebview is essentially

Coding For Entrepreneurs 55 Jan 05, 2023
TkArt - A repository created to explore geometry and art creation using TkInter

tkArt A repository created to explore geometry and art creation using TkInter, a

Jayant Sogikar 18 Oct 01, 2022
GUI based app made in python using tkinter

Virtual Keyboard A GUI application made in python using tkinter This is my first ever proper GUI based application project after learning tkinter rece

AbhineetK 10 Dec 10, 2022
UberGui is a lightweight multi-threaded, webRender UI module for TouchDesigner

UberGui V4 UberGui is a lightweight multi-threaded, webRender UI module for TouchDesigner projects. The aim is to solve the trifecta of challenges bui

LUCAS M MORGAN 48 Nov 20, 2022
A simple yet powerful TUI framework for your Python (3.7+) applications

A simple yet powerful TUI framework for your Python (3.7+) applications

1.4k Jan 04, 2023
Linux GUI app to codon optimize a directory with fasta files using taxonomy ids imported as a 1-column txt file (1 taxonomy id for each file)

codon optimize cds paired with taxids singlefastas gui Linux GUI app to codon optimize a directory with fasta files using taxonomy ids imported as a 1

Olga Tsiouri 1 Jan 09, 2022
OpenPort scanner GUI tool (CNMAP)

CNMAP-GUI- OpenPort scanner GUI tool (CNMAP) as you know it is the advanced tool to find open port, firewalls and we also added here heartbleed scanni

9 Mar 05, 2022
A hotkey manager that runs in the system tray. Uses PySimpleGUI for the GUI and the system tray.

PySimpleHotkey PySimpleHotkey A hotkey manager that runs in the system tray. Uses PySimpleGUI for the GUI and the system tray. Packages Used This proj

PySimpleGUI 20 Nov 14, 2022
A simple quiz app using API and GUI

GUI-Quiz-APP It's a simple quiz app using API and GUI.

KALPAK KUMAR DAS 1 Feb 03, 2022
PyEditor - A Simple Text Editor for python

PyEditor work in progress Text Editor for python Installation git clone https://github.com/ArmenG888/PyEditor Install the libraries Linux or mac pip

ArmenG 3 Mar 15, 2022
The quick and easy way to add versatile graphical interfaces with networking capabilities to your Python programs.

The quick and easy way to add versatile graphical interfaces with networking capabilities to your Python programs. Give instant access to your application to whoever you want on the Internet, without

Claude SIMON 215 Dec 28, 2022
Py address book gui - An address book with graphical user interface developed with Python Tkinter

py_address_book_gui An address book with graphical user interface developed with

Milton 4 Feb 01, 2022
This simple python program can be used to make FontChooser dialog in Tkinter Applications.

tkFontBox This simple python program can be used to make FontChooser dialog in Tkinter Applications. how to use? Copy the tkFontBox.py file into your

Pawan Kumar Prachi 1 Feb 08, 2022
Bank-Project - A bank ATM simulator recreated in python

Bank-Project A bank ATM simulator recreated in python. NOTE: this repo is a translation of Rasphy2009/Proyecto-Banco Requirements (.py only) 🐍 Python

Rasphy 2 Jan 02, 2022