IT/EN

Openpolis Data Manager

Introduction

Openpolis DataManager contains all data about power in Italy, gathered and curated by the Openpolis Foundation.

Currently 801,811 public memberships and 91,578 ownerships, are present in the database, regarding 429,865 persons and 108,619 organisations or public institutions, distributed on 8,872 currently active geographical areas.

Technical details

The HTTP REST API, allows free read-only access for everyone. Requests are throttled to 10'000 per day for anonymoous users, while registered users have no limitations.

Authentication can be done both through JSON Web Token or standard HTTP Basic Auth.

The API has been developed along the Open API standard, and the interactive, automatically-generated and updated documentation, is available, with the possibility of making real queries to the data.

L'API responds to requests using JSON formats, but a brwoseable HTML version is available when visiting the web site. Filters, results ordering selection and a search engine are available while browsing.

Results are normally paged, with 25 items per page set as default. The number of items per page can be increased up to 1000. Links to browse to the next page are contained as URLs in the result page. Link to entities are active in the HTML version.

Future modifications of the API will be released under new versions. The current version is v1. Old versions will remain available as long as to allow users to adopt the new versions.

All API endpoints answers only on HTTPS port.

Domain model (simplified)

Il diagramma del modello del dominio

The model is an instance of Popolo, an international standard for open government data, developed by a consortium of subjects, Openpolis being part of it.

All enpoints, with their parameters for filtering, ordering and search, are explicitly described in the documentation, along with the complete domain model (classes and fields)

For all main classes, creation and last update timestamps are stored in the instance, so that it will be possible to have list of objects created or updated after a given date.

Software stack

Data are on a DBMRS (postgres 9.6) and the API is developed with django-rest-framework, over django/python.

The web application is served through Nginx + uWSGI.

The stack is containerized using docker, and the description is available in the docker-compose.yml file.

Source code of the service component is available on the gitlab repository for openpolis.

Tracking changes

Changes in functionalities are trackable in the main changelog.

Changes in the data are trackable in the data changelog.

Data license

Data exposed in the API are freely re-usable for non-commercial purposes, given that the source and credits need to be clearly specified, along the lines of the CC-BY-NC.

Contacts

For info on using data or feedback on the application: info@openpolis.it.

For info on technologies: guglielmo@openpolis.it.


Openpolis Data Manager v2.0.0