Skip to main content

Control JupyterLab from Python Notebooks

Project description

ipylab

Github Actions Status Binder Conda Version pypi npm

Control JupyterLab from Python notebooks.

The goal is to provide access to most of the JupyterLab environment from Python notebooks. For example:

  • Adding widgets to the main area DockPanel, left, right or top area
  • Build more advanced interfaces leveraging SplitPanel, Toolbar and other Lumino widgets
  • Launch arbitrary commands (new terminal, change theme, open file and so on)
  • Open a workspace with a specific layout
  • Listen to JupyterLab signals (notebook opened, console closed) and trigger Python callbacks

Try it online

Try it in your browser with Binder:

Binder

Examples

Add Jupyter Widgets to the JupyterLab interface

widgets-panels

Execute Commands

command-registry

Custom Python Commands and Command Palette

custom-commands

Build small applications

ipytree-example

Installation

You can install using pip:

pip install ipylab

Or with mamba / conda:

mamba install -c conda-forge ipylab

Running the examples locally

To try out the examples locally, the recommended way is to create a new environment with the dependencies:

# create a new conda environment
conda create -n ipylab-examples -c conda-forge jupyterlab ipylab ipytree bqplot ipywidgets numpy
conda activate ipylab-examples

# start JupyterLab
jupyter lab

Under the hood

ipylab can be seen as a proxy from Python to JupyterLab over Jupyter Widgets:

ipylab-diagram

Development

# create a new conda environment
mamba create -n ipylab -c conda-forge jupyter-packaging nodejs python -y

# activate the environment
conda activate ipylab

# install the Python package
python -m pip install -e ".[dev]"

# link the extension files
jupyter labextension develop . --overwrite

# compile the extension
jlpm && jlpm run build

Related projects

There are a couple of projects that also enable interacting with the JupyterLab environment from Python notebooks:

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

ipylab-0.4.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

ipylab-0.4.0-py2.py3-none-any.whl (169.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ipylab-0.4.0.tar.gz.

File metadata

  • Download URL: ipylab-0.4.0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for ipylab-0.4.0.tar.gz
Algorithm Hash digest
SHA256 25ca2b75028b2b8a59436491aa30443173fd9a3075e2da9efc0eefcf6e4e45dd
MD5 a5e158c67ece8c0a09bc23b1afecc3f6
BLAKE2b-256 17939b5cc7e11f38953b90175b07c46a6021179a04b0efca45bb4ebe0173b037

See more details on using hashes here.

File details

Details for the file ipylab-0.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ipylab-0.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 169.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for ipylab-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7d6a3591e516ba57a0b9bbb2eb25015ff15b1f44496917f5cd4c46a0a50fe974
MD5 88c19d38cb08dd68622293fa9907a472
BLAKE2b-256 918cdeb1bf0f15c0822b74d1300b2aeddee0e8d9c1315c9f2559f6f82551ea62

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page