No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is even with jampekka:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

REST-API-server for statistical data

Statcubeserver serves statistical data over a REST-API. The API is a fairly thin REST-wrapper for pydatacube functionality.

Install and startup

Statcubeserver requires pydatacube (usually latest git, developed in sync), CherryPy 3 and Python 2 (most likely 2.7).

There's no separate installer, just run scripts in the project root. Currently supports loading PC-Axis datasets of the Helsinki Region Infoshare service using the script, by running eg:

mkdir hri_data_files
python2 hri_data_files > hri_data_index.json

which downloads and stores the PC-Axis files to hri_data_files-directory and writes metadata/index of them to hri_data_index.json.

The can be used to serve this data:

python2 hri_data_index.json

And if everything goes fine, the API can be accessed (by default) at http://localhost:8080/resources/ and a (quite spartan) web-UI at http://localhost:8080/browser/ .

API Usage

WARNING! The API is still subject to change. Please inform the developers if you are using the server, so we can ensure backwards compatibility.

NOTE! The links here point to a server instance serving Helsinki Region's statistics. To work with a local version, change the host, port and path accordingly (eg. -> http://localhost:8080/).


Click the links to see example results.

Browse datasets with a browser: /browser/

Preview a dataset and see available methods: /browser/?resource=<resource uri>

Get available datasets: /resources/

Get dataset metadata and methods: /resources/<resource id>/

Get a filtered dataset: /resources/<resource_id>/filter<&col1=cat1,cat2&col2=cat3 ...>

Get dataset's data (can be filtered) as "entries": /resources/<dataset path>/entries

Get data as "table": /resources/<dataset path>/table<?start=firstrow&end=lastrow>

Get data as "columns": /resources/<dataset path>/columns

Get grouped data ("pivot") as columns: /resources/<dataset path>/group_for_columns?as_values=<col1,col2...>

Get data as JSON-stat: /resources/<dataset path>/jsonstat

Demos and advanced examples