Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
jupyterlab-bokeh-server
Advanced tools
A JupyterLab extension for displaying the contents of a Bokeh server
A JupyterLab extension for displaying the contents of a Bokeh server.
This project serves as an example for how to integrate a Bokeh server application into JupyterLab. This makes it easy for Python developers to develop rich dashboards and integrate them directly into Jupyter environments.
We want to give Jupyter users rich and real-time dashboards while they work. This can be useful for tracking quantities like the following:
JupyterLab extensions provide a platform for these dashboards, but require some JavaScript expertise. For Python-only developers, this requirement may prove to be a bottleneck. Fortunately the Bokeh plotting library makes it easy to produce rich and interactive browser-based visuals from Python, effectively crossing this boundary.
This repository serves as an example on how to create rich dashboards in Python with Bokeh and then smoothly integrate those dashboards into JupyterLab for a first-class dashboarding experience that is accessible to Python-only developers.
This repository contains two sets of code:
jupyterlab_bokeh_server/
directorysrc/
directoryYou should be able to modify only the Python code to produce a dashboard system that works well for you without modifying the TypeScript code.
There are also two branches in this repository:
TODO binder link
psutil
module to show CPU, memory, network, and storage
activity:
And is available in a live notebook here: TODO binder link
You can view the difference between these two branches. This should give a sense for what you need to do to construct your own JupyterLab enabled dashboard.
This project is a generalization of the approach taken by the Dask JupyterLab Extension which integrates a rich dashboard for distributed computing into JupyterLab, which has demonstrated value for many Dask and Jupyter users in the past.
This extension has a server-side (Python) and a client-side (Typescript) component, and we must install both in order for it to work.
To install the server-side component, run the following in your terminal
pip install jupyterlab-bokeh-server
To install the client-side component, run
jupyter labextension install jupyterlab-bokeh-server
To install the server-side part, run the following in your terminal from the repository directory:
pip install -e .
In order to install the client-side component (requires node version 8 or later), run the following in the repository directory:
jlpm install
jlpm run build
jupyter labextension install .
To rebuild the package and the JupyterLab app:
jlpm run build
jupyter lab build
In order to distribute your bokeh dashboard application, you must publish the two subpackages. The JupyterLab frontend part should be published to npm, and the server-side part to PyPI or conda-forge (or both).
Instructions for publishing the JupyterLab extension can be found here. A nice write-up for how to publish a package to PyPI can be found in the nbconvert documentation.
FAQs
A JupyterLab extension for displaying the contents of a Bokeh server
The npm package jupyterlab-bokeh-server receives a total of 2 weekly downloads. As such, jupyterlab-bokeh-server popularity was classified as not popular.
We found that jupyterlab-bokeh-server demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.