Skip to content
Jupyter Widget wrapper for Lineup.js @sgratzl
Python TypeScript JavaScript CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

LineUp.js as Jupyter Widget

License: MIT CircleCI CircleCI

LineUp is an interactive technique designed to create, visualize and explore rankings of items based on a set of heterogeneous attributes. This is a Jupyter Widget wrapper around the JavaScript library LineUp.js. Details about the LineUp visualization technique can be found at


  1. install Jupyter Widgets

    pip install ipywidgets
    jupyter nbextension enable --py widgetsnbextension
  2. install library

    pip install lineup_widget
    jupyter nbextension enable --py --sys-prefix lineup_widget
  3. OR directly via repository (requires node and npm to be installed):

    pip install -e git+
    jupyter nbextension enable --py --sys-prefix lineup_widget
  4. Jupyterlab

    jupyter labextension install @jupyter-widgets/jupyterlab-manager
    jupyter labextension install lineup_widget
    jupyter lab


Launch Binder

import lineup_widget
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))

w = lineup_widget.LineUpWidget(df)
w.on_selection_changed(lambda selection: print(selection))

simple usage

from __future__ import print_function
from ipywidgets import interact, interactive, interact_manual

def selection_changed(selection):
    return df.iloc[selection]

interact(selection_changed, selection=lineup_widget.LineUpWidget(df));

interact example


In case you see scrollbars in each cell it is because of the font the cells are too narrow, you can specify a larger row height using

w = lineup_widget.LineUpWidget(df, options=dict(rowHeight=20))

Release Package

  1. JavaScript NPM

    cd js
    npm install
    npm publish
  2. Python PyPi

    pip install -U twine setuptools
    python clean sdist bdist_wheel
    twine upload dist/*
  3. Git

    git tag v<version>
    git push --follow-tags
  4. update versions edit the version in

    • js/package.json
    • js/lib/version.ts
    • lineup_widget/


  • Samuel Gratzl (@sgratzl)
You can’t perform that action at this time.