HoloViz is a set of compatible tools to make it easier to see and understand your data at every stage needed by users, research groups, and projects:
Why "Holo"? "holo-", from the Greek root "hólos", means "whole, entire, complete".
Sure! That's how it ended up with:
Because each tool is typically limited to one or two of the stages in the data life cycle, supporting some well but not the others:
To avoid having to abandon all your work on one stage to reach the next, HoloViz tools reduce friction and gaps between the stages:
With the above design goals in mind, we have developed a set of independent but complementary open-source Python packages to streamline the process of working with small and large datasets (from a few datapoints to billions or more) in a web browser, whether doing exploratory analysis, making simple widget-based tools, or building full-featured dashboards. The main libraries in this ecosystem include:
These libraries work with and are built upon many other familiar open source libraries.
HoloViz currently covers this subset of viz tools
These tools are the most fully supported and are often entirely sufficient on their own.
In this tutorial, we'll focus on an example set of data about earthquake events, using it to illustrate how to build a dashboard such as this one:
Each of the HoloViz tools provides its own API for accessing whatever functionality it implements (and sometimes more than one API, for different purposes!). For this tutorial, we will focus on the following APIs that we believe provide the most power to new users for the smallest investment of time and effort:
.plot()
API, which adds additional power to a well-known API supported by many different data libraries..interactive()
API, which brings live interactivity to the existing Pandas and Xarray APIs.This functionality builds on the native APIs for all the other libraries discussed above (plus many others in the SciPy/PyData ecosystem!), but in many cases hvPlot .plot()
, hvPlot .interactive()
, and a bit of Panel are all you need to learn to get your work done!