Glue – Multi-Dimensional Linked-Data Exploration

Glue is an open source Python library to explore relationships within and between related datasets.

Glue is designed with “data-hacking” workflows in mind, and can be used in different ways.

Glue is a multi-disciplinary tool. It’s used on astronomy data of star forming-clouds, medical data including brain scans, and many other kinds of data.

Features include:

  • Interactive, linked statistical graphics of multiple files.
  • Create scatter plots, histograms and images (2D and 3D) of their data. Glue is focused on the brushing and linking paradigm, where selections in any graph propagate to all others.
  • Uses the logical links that exist between different data sets to overlay visualizations of different data, and to propagate selections across data sets.
  • Support for many file formats including common image formats (jpg, tiff, png), ascii tables, astronomical image and table formats (fits, vot, ipac), and HDF5. Custom data loaders can also be easily added. Glue provides a simple mechanism for creating custom visualizations using matplotlib.
  • Highly scriptable and extendable.
  • Built on top of its standard scientific libraries (i.e., NumPy, Matplotlib, SciPy).
  • Monitor the data files you’ve loaded for changes, and to auto-refresh plots when needed.
  • Easily integrate your own Python code for data input, cleaning, and analysis.
  • Customize many aspects of your Glue environment. Glue lets you create custom data loader functions, custom link functions, and more.

Glue relies on several libraries to parse different file formats:

  • Astropy for FITS images and tables, a variety of ascii table formats, and VO tables.
  • scikit-image to read popular image formats like .jpeg and .tiff.
  • h5py to read HDF5 files.

Glue has the following dependencies:

  • Python 2.7, or 3.3 and higher;
  • Numpy 1.9 or later;
  • Matplotlib 2.0 or later;
  • Pandas 0.14 or later;
  • Astropy 1.0 or higher;
  • setuptools 1.0 or later;
  • Either PyQt5 or PySide2;
  • QtPy 1.2 or higher – this is an abstraction layer for the Python Qt packages;
  • IPython 4.0 or higher;
  • ipykernel;
  • qtconsole;
  • dill 0.2 or later (which improves session saving);
  • h5py 2.4 or later, for reading HDF5 files;
  • xlrd 1.0 or later, for reading Excel files;
  • mpl-scatter-density, for making scatter density maps of many points;
  • bottleneck, for fast NaN-friendly computations.

Support: Documentation, GitHub, Twitter, Mailing List
Developer: Glue developers
License: BSD License


Glue is written in Python. Learn Python with our recommended free books and free tutorials.

Return to Python Visualization Packages Home Page

Read our complete collection of recommended free and open source software. The collection covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.