Run LiberTEM via JupyterLab/JupyterHub
Project description
Run the LiberTEM GUI in JupyterLab / JupyterHub
See the LiberTEM docs for more details!
Requirements
- Python 3.6+
- Jupyter Notebook 6.0+
- JupyterLab 2.1+
- LiberTEM 0.8.0+
LiberTEM
LiberTEM is an open source platform for high-throughput distributed processing of large-scale binary data sets and live data streams using a modified MapReduce programming model. The current focus is pixelated scanning transmission electron microscopy (STEM) and scanning electron beam diffraction data.
Install
-
Install this package and LiberTEM:
$ pip install libertem-jupyter-proxy libertem
-
enable
jupyter-server-proxy
extension
For Jupyter Classic, activate the jupyter-server-proxy extension:
jupyter serverextension enable --sys-prefix jupyter_server_proxy
For JupyterLab, install the @jupyterlab/server-proxy extension:
jupyter labextension install @jupyterlab/server-proxy
jupyter lab build
-
Start jupyter-lab or jupyter-notebook
$ jupyter-lab
or
$ jupyter notebook
Now LiberTEM should be available as an icon in JupyterLab, or in the "New" dropdown in the classical notebook interface / JupyterHub.
Deployment notes
When deploying behind a reverse proxy, make sure websocket requests are
proxied for all URLs, not just for specifically matching ones. Otherwise, something
like connecting to wss://<hostname>/user/<username>/libertem/events/
will fail
with 400 bad request, as Upgrade: websocket
is not supported.
If you want to customize the startup of LiberTEM, you can drop a JSON file into
$PREFIX/etc/libertem_jupyter_proxy.json
, with contents like this:
{"libertem_server_path": "/path/to/a/venv/bin/libertem-server"}
This allows to install LiberTEM itself into a different Python environment
than Jupyter, as opposed to using the same environment as in the example above.
It can also allow to write a wrapper script to customize the environment setup, as in the example script
libertem_jupyter_proxy/share/launch_juwels.sh
Without configuration, libertem-server
is expected to be found in $PATH
.
Try it (WIP)
Thanks
Mostly stolen from https://github.com/betatim/vscode-binder
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file libertem_jupyter_proxy-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: libertem_jupyter_proxy-0.1.2-py3-none-any.whl
- Upload date:
- Size: 107.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59f97aae265fc3993b6ec859fb0c5ad2e0bc9af99b34d0deaa0a9559cd3c3abf |
|
MD5 | 3222a96430ded6915052e88ab7326581 |
|
BLAKE2b-256 | 409bc37641d8b6d619731eb21dde734e67cb76ddb2696d08cbca48641bb8838f |