Skip to main content

Kotori is a data acquisition, processing and graphing toolkit for humans

Project description

Chart recorder

Telemetry data acquisition and sensor networks for humans.

https://assets.okfn.org/images/ok_buttons/oc_80x15_blue.png https://assets.okfn.org/images/ok_buttons/ok_80x15_red_green.png https://assets.okfn.org/images/ok_buttons/os_80x15_orange_grey.png

  • Status:

    CI outcome Test suite code coverage Supported Python versions Package version on PyPI Project status (alpha, beta, stable) Project license
  • Usage:

    PyPI downloads per month Docker image pulls for `kotori` (total) Docker image pulls for `kotori-standard` (total)
  • Compatibility:

    Supported Mosquitto versions Supported Grafana versions Supported InfluxDB versions Supported MongoDB versions

About

Kotori is a multi-channel, multi-protocol, telemetry data acquisition and graphing toolkit for time-series data processing. Free, open, simple. It supports scientific environmental monitoring projects, distributed sensor networks, and likewise scenarios.

Details

Kotori is a data historian based on Grafana, Mosquitto, and InfluxDB, and is written in Python with Twisted. The best way to find out what you can do with Kotori, is by looking at some outlined scenarios and by reading how others are using it at the example gallery. To learn more about the technical details, have a look at the used technologies.

Features

  • Multi-channel and multi-protocol data-acquisition and -storage. Collect and store sensor data from different kinds of devices, data sources, and protocols.

  • Built-in sensor adapters, flexible configuration capabilities, durable database storage and unattended graph visualization.

  • Based on an infrastructure toolkit assembled from different components suitable for data-acquisition, -storage, -fusion, -graphing and more.

  • Leverage the flexible data acquisition integration framework for building telemetry data acquisition and logging systems, test benches, or sensor networks for environmental monitoring systems, as well as other kinds of data-gathering and -aggregation projects.

  • It integrates well with established hardware-, software- and data acquisition workflows through flexible adapter interfaces.

Installation

Kotori can be installed in different ways. You may prefer using a Debian package, install it from the Python Package Index (PyPI), or run it within a development sandbox directly from the Git repository.

Corresponding installation instructions are bundled at https://getkotori.org/docs/setup/.

Synopsis

A compact example how to submit measurement data on a specific channel, using MQTT and HTTP, and export it again.

Data acquisition

First, let’s define a data acquisition channel:

CHANNEL=amazonas/ecuador/cuyabeno/1

and some example measurement data:

DATA='{"temperature": 42.84, "humidity": 83.1}'

Submit with MQTT:

MQTT_BROKER=daq.example.org
echo "$DATA" | mosquitto_pub -h $MQTT_BROKER -t $CHANNEL/data.json -l

Submit with HTTP:

HTTP_URI=https://daq.example.org/api/
echo "$DATA" | curl --request POST --header 'Content-Type: application/json' --data @- $HTTP_URI/$CHANNEL/data

Data export

Measurement data can be exported in a variety of formats.

This is a straight-forward example for CSV data export:

http $HTTP_URI/$CHANNEL/data.csv

Acknowledgements

Thanks a stack to all the contributors who helped to co-create and conceive Kotori in one way or another. You know who you are.

Project information

Contributions

Every kind of contribution, feedback, or patch, is much welcome. Create an issue or submit a patch if you think we should include a new feature, or to report or fix a bug.

Development

In order to setup a development environment on your workstation, please head over to the development sandbox documentation. When you see the software tests succeed, you should be ready to start hacking.

Resources

License

The project is licensed under the terms of the GNU AGPL license, see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kotori-0.27.0.tar.gz (163.4 kB view details)

Uploaded Source

Built Distribution

kotori-0.27.0-py3-none-any.whl (213.4 kB view details)

Uploaded Python 3

File details

Details for the file kotori-0.27.0.tar.gz.

File metadata

  • Download URL: kotori-0.27.0.tar.gz
  • Upload date:
  • Size: 163.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.6

File hashes

Hashes for kotori-0.27.0.tar.gz
Algorithm Hash digest
SHA256 d3440a92cd16843600c1810a444fd8421a8a0696106b7151637c991ede573179
MD5 1527512603f8898f4c09279c661f983c
BLAKE2b-256 7d47303af421fe64f47cff10495afb9f760610bae1c822ad164312215715a3f5

See more details on using hashes here.

File details

Details for the file kotori-0.27.0-py3-none-any.whl.

File metadata

  • Download URL: kotori-0.27.0-py3-none-any.whl
  • Upload date:
  • Size: 213.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.6

File hashes

Hashes for kotori-0.27.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94cc5d17ad01dd2dca03d9e4be585a43e4e9dda976fd5b9fb850b0161d135d2b
MD5 a9745266d72166ec845c8125bbe63fb0
BLAKE2b-256 986884d8515b4a61c57e18980d7279f00fbb8ea6a0828c80c2a88b1bf903f4bb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page