Welcome to the SmartCitizen Sensor Data Framework. This is a framework built with the purpose of analysis, calibration and post-processing of sensors data, related to any field, but particularly focused on air-quality data coming from low-cost sensors. It aims to unify several sources of data and to provide tools for analysing data, creating reports and more.
A full documentation of the framework is detailed in the Smart Citizen Docs. Some features include:
- Interacting with several sensors APIs (see here)
- Clean data, export and calculate metrics
- Model sensor data and calibrate sensors
- Generate data visualisations:
- Generate analysis reports and upload them to Zenodo
This work has received funding from the European Union's Horizon 2020 research and innovation program under the grant agreement No. 689954
Works with Python 3.*
. It can be used with JupyterLab for data analysis, but it is not mandatory. There are plenty of examples in the examples
folder. These are meant to show how to interface with the python
code in the scdata
folder.
Simply clone the repository with:
git clone https://github.com/fablabbcn/smartcitizen-data-framework.git
cd smartcitizen-data-framework
Install scdata
package with requirements:
python setup.py install
NB: maybe one day it will be in pip
, but not yet.
If you want to upload data to Zenodo, you will need to fill the .env
with a token
as below:
zenodo_token=your-token
You can get more instructions here.
Find documentation in the official docs.
Check the examples/scripts folder for common usage examples.
It can also be used with jupyter lab
or jupyter
. For this install juypterlab and (optionally), these extensions:
- Notebook extensions configurator:
pip install jupyter_nbextensions_configurator
- Plotly in jupyter lab (interactive plots):
jupyter labextension install jupyterlab-plotly
If using this option, examples on how to generate automatic reports from jupyter notebooks
are also given in the examples folder.
Issues and PR welcome!