Writing productivity
productivity 4 min read 2 January 2022

JupyterLab: Remote Access, Extensions, and Productivity Setup

Practical JupyterLab configuration for data science work — remote access over the network, useful extensions for visualization and productivity, and embedding media in notebooks.

Remote Access

Run JupyterLab on a remote machine and access it from any browser on the local network:

jupyter lab --ip 0.0.0.0 --port 8080

Set a password first so the server doesn’t expose an unprotected token:

jupyter lab password

The server will then prompt for the password instead of requiring you to copy a URL token from the terminal.

Adding Custom Kernels

If you work with multiple virtual environments, register each one as a JupyterLab kernel:

python -m ipykernel install --user --name=my_env_name

The kernel name appears in the launcher and kernel switcher. Do this once per environment; JupyterLab will remember it across sessions.

Useful Extensions

Install via conda and pip:

conda install nodejs  # Required for labextension commands

# Visualization
jupyter labextension install jupyterlab_tensorboard   # TensorBoard in a tab
jupyter labextension install jupyterlab_voyager        # Visual data exploration

# Productivity
jupyter labextension install @jupyterlab/toc           # Table of contents sidebar
pip install jupyterlab_execute_time                    # Show cell execution time
pip install jupyterlab-git                             # Git integration sidebar
pip install jupyterlab-drawio                          # Diagram editor

# Data editing
pip install jupyterlab-tabular-data-editor             # Spreadsheet-style CSV editor
pip install jupyterlab-spreadsheet-editor

# Visualization libraries
pip install ipympl                                     # Interactive matplotlib
pip install jupyter_bokeh                              # Bokeh in notebooks

For interactive matplotlib figures (zoom, pan, resize inline):

%matplotlib widget

This requires ipympl installed.

Embedding Media

Local video:

from IPython.display import Video
Video("path_to_video.mp4", embed=True)

YouTube video:

from IPython.display import HTML
HTML("""<iframe width="560" height="315" 
    src="https://www.youtube.com/embed/VIDEO_ID" 
    frameborder="0" allowfullscreen></iframe>""")

Both render inline in the notebook output, which is useful for documentation notebooks that need media context.

Practical Notes

TOC extension (@jupyterlab/toc) is the single most useful addition for long analysis notebooks. It builds a collapsible sidebar from markdown headers, making navigation between sections instant instead of requiring constant scrolling.

Execute time shows how long each cell took to run, displayed as a small annotation below the cell. Essential for catching slow cells in a workflow without manual timing.

Git sidebar gives a visual diff and staging area without leaving the browser — useful for lightweight commits on notebooks without switching to the terminal.

jupyter tools python data-science setup
← All articles

Lets collaborate!

Whether you need a quantitative researcher, an machine learning systems builder, or a technical advisor — I'm available for select consulting engagements.

Get in Touch →