Dhruv Madeka, a quantitative researcher at Bloomberg, describes the open source library D3 (or D3.js), which is used to make interactive data visualizations, as “awesome.” But for many would-be fans, it has one major shortfall: You need to know JavaScript in order to use it. And most data scientists, academics and others who work in data analysis or machine learning prefer Python.

In 2014, the Quantitative Research team at Bloomberg began a project to build a Python front-end for D3. As the team continued its work, they realized that they needed an easier and more structured way to let users build complex interactions than D3 allowed, so their project started to increase in scope. Eventually, they developed the interactive plotting library bqplot.

bqplot allows anyone to build fully interactive web applications in Python, using surprisingly few lines of code. With about a dozen lines of code, for example, bqplot can generate a map of U.S. electoral results by county. Use a mouse to hover over any particular county and you’ll get a tooltip with the name of the county and the percentage of the vote in that county that went to a particular party or candidate, or a chart showing the historical vote breakdown for that county.