July 22, 2022: Help us out by filling out a short user survey!

DataStation is an open-source data IDE for developers. It allows you to easily build graphs and tables with data pulled from SQL databases, logging databases, metrics databases, HTTP servers, and all kinds of text and binary files. Need to join or munge data? Write embedded scripts as needed in Python, JavaScript, Ruby, R, or Julia. All in one application.

DataStation 0.2.0 Release Notes

Published on


Before getting to the release notes, there are a few neat things to share:

Release Notes

Query Elasticsearch, Influx, and Prometheus databases

In addition to existing support for every major OLTP SQL database and a few analytics databases, you can now query Elasticsearch, Influx, and Prometheus databases.

Elasticsearch support
Querying Elasticsearch
Influx support
Querying Influx
Prometheus support
Querying Prometheus

Filter by time range and group by time window in Visual Transform panel

In addition to generic SQL filters you can now visually filter by time range. At the moment, the field you're filtering on must be in ISO8601/RFC3339 format. In the future, DataStation will be able to guess and standardize time formats on ingestion. For now you'll have to do any standardization yourself.

When selecting an aggregation method you can also group over a time window. The field has the same restrictions as above, it must be in ISO8601/RFC3339 format.

Time range filtering and time interval grouping in Visual Transform panels

All panels are cancellable

Until now, all panel evaluation happened in the same process as the Electron app or server app. Program panels were the only exception since they run a subprocess with the language you selected.

But in this release, all panel evaluation happens in a subprocess. This means all resources (open connections, SSH tunnels, etc.) are guaranteed to be cleaned up when you hit Cancel on a running panel.

It is especially useful to be able to kill unexpectedly long-running queries.

Support for DM_getPanel() calls in MySQL and PostgreSQL queries

Until now, only SQLite panels could call DM_getPanel() to import data from another panel. Now you can do the same when querying MySQL or PostgreSQL databases. It works by creating a temporary table and ingesting the requested panel's results. Thus you can use a panel's results in exactly the same way as.

Improvements to testing

This release takes DataStation tests from 24% statement/line coverage to 66%. All programming languages are integration tested and all major open source SQL databases are now integration tested as well.

This release also involved moving from Spectron to Selenium since Spectron is no longer maintained and doesn't support recent versions of Electron.


  • Re-running a panel no longer discards the previous run's Preview and Metadata display while waiting for the new run to complete
  • Performance improvements and correctness fixes for large objects in "Inferred schema" calculation
  • Stack traces on error now properly show original error (they were being masked by bad logic)
  • The Visual Transform panel now properly quotes all field names coming from the panel source

Install or upgrade

Get the 0.2.0 release now!

How you can help

If you are a developer or engineering manager, install DataStation and start using it at work! Report bugs and usability issues (there are surely many). Get in touch if you are interested in being a design partner.

If you are an investor, get in touch.