Skip to main content

Smart Citizen Data

DOI Binder PyPI version Python application

Welcome to SmartCitizen Data. This is a data analysis framework for working with sensor data in different ways:

  • Interacting with several sensors APIs
  • Clean data, export and calculate metrics
  • Model sensor data and calibrate sensors
  • Generate data visualisations - matplotlib, plotly or uplot
  • Generate analysis reports in html or pdf and upload them to Zenodo

Installation

You can check it out in the Binder before installing if you want. Works with Python 3.* (tested between 3.9 and 3.11).

You can just run:

pip install scdata

Plots (device.ts_plot(), maps, panels...) need the plotting libraries, an optional extra. Without them scdata loads and processes data, and plotting raises an error that says how to install them:

pip install "scdata[plot]"

Parquet needs the storage extra: the backups (local or S3: device.load_from_storage(), device.backup_to_storage()) and exports in parquet (device.export(..., file_format='parquet')):

pip install "scdata[storage]"

Examples (scripts and notebooks) are in examples.

Work on the source code

Simply clone the repository with:

git clone https://github.com/fablabbcn/smartcitizen-data.git
cd smartcitizen-data

Install scdata package with requirements:

python setup.py install

Or if you want to edit:

pip install --editable ".[dev]"

Tokens and config

Blueprints, calibrations and sensor names are read from BASE_POSTPROCESSING_URL, the same variable as smartcitizen-connector. By default it is this repository on GitHub; set it to https://flows.smartcitizen.me/api/v1/ to use the metadata served by Smart Citizen Flows.

Settings can be changed in ~/.config/scdata/config.yaml. The file only keeps what differs from the defaults (the defaults of new versions apply after upgrading), for instance:

data:
  reload_metadata: false
paths:
  export: /home/me/exports

The data folder is ~/.cache/scdata by default ($XDG_CACHE_HOME/scdata if it is set), with the raw, processed, export... folders inside. Each folder of paths is changed on its own, and only to a folder that exists: changing data does not move the others. To move them all, set XDG_CACHE_HOME.

Also, .env files will be picked from ~/.cache/scdata. An env.example is provided. If you want to upload data to Zenodo, you will need to fill set an environment variable called ZENODO_TOKEN in your environment. The .env file is not mandatory for scdata to work. It only serves for authentication if you want to POST or GET data without throttling. You can still do GET requests but they will be throttled if not authenticated/authorized by the platform. See user roles for more info.

Using with jupyter lab (optional)

It can also be used with jupyter lab or jupyter. For this install juypterlab.

Contribute

Issues and PR more than welcome!

Funding

This work has received funding from the European Union's Horizon 2020 research and innovation program under the grant agreement No. 689954

Metadata

Release files for scdata 1.6.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scdata 1.6.5
File Size Uploaded Provenance Actions
scdata-1.6.5.tar.gz 339.6 kB Without provenance Details for scdata-1.6.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for scdata 1.6.5
File Interpreter ABI Platform Actions
scdata-1.6.5-py3-none-any.whl Python 3 none any Details for scdata-1.6.5-py3-none-any.whl

Total release size: 706.0 kB

Release files / scdata-1.6.5.tar.gz

Download URL scdata-1.6.5.tar.gz
Size 339.6 kB
Tags Source
SHA-256 checksum
How to use checksums
329c6e19d928ca3ef25e9d270ac203326aa0d35248b6612c0a71543acacacc66
BLAKE2b-256 checksum
How to use checksums
0dad9b226edab8d6b9fa98a640e1880cd0fb51a7a749eba753c9c89f82890af0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / scdata-1.6.5-py3-none-any.whl

Download URL scdata-1.6.5-py3-none-any.whl
Size 366.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
982aeb50b7a8574b9c1b93067a8df87e0680f56f5b5a0030898b2a5cc41c40b2
BLAKE2b-256 checksum
How to use checksums
a6dd3d26c67c023eb7da2fb40bbeded2c94ae7da64082242c56605b9f236af55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for scdata 1.6.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.6.5 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page