hapi-server.github.io

  1. About
  2. Get Data
  3. Email Lists
  4. Developers

1. About

The Heliophysics Data Application Programmer’s Interface (HAPI) specification is a time series download and streaming format specification.

When data are available from a HAPI server, there is no need to download data files and write custom file reader programs. Using a HAPI client library, data can be loaded into an array using a single command in IDL, MATLAB, and Python.

A list of HAPI-compliant data servers is available at http://hapi-server.org/servers/.

The GitHub project hapi-server contains a collection of HAPI-related software and documentation, including client and server libraries and code for verifying and testing a HAPI server.

2. Get Data

Use the interface at http://hapi-server.org/servers/ to download data from your browser, generate ~10-line IDL/MATLAB/Python scripts to download data, and create preview plots.

3. Email Lists

4. Developers

4.1 API and Metadata Specification

The HAPI specification describes a minimum set of capabilities needed for a server to allow access to the time series data values within one or more data collections.

4.2 Client Software

Data from any HAPI-compliant server can be easily accessed using IDL, Java, MATLAB, Python, and other languages. The repositories for HAPI libraries in these languages is available at GitHub.

4.3 Server Software

Prior to writing server-side software, we suggest trying the generic stand-alone HAPI server. If you can generate HAPI ASCII of your datasets with a command line program, you can use this server to quickly get a HAPI-compliant server running on your site.

User-contributed source code for servers in various languages is available at at GitHub. This contributed code is typically not up-to-date or generalized but it may be useful for getting started.

See the server-ui repoistory for a basic server entry/overview page template for a HAPI server. Code is also available for a web interface for generating URLs to download data, plotting data from a HAPI server, and generating scripts that read and plot the selected parameter (the code used by http://hapi-server.org/servers/).

Server developers can test their server for HAPI-compliance using the HAPI server verification service.