Skip to main content

Kotori DAQ

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:
Project status (alpha, beta, stable) CI outcome Code coverage Package version on PyPI 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 Supported Python versions

About

Kotori is a multi-channel, multi-protocol telemetry data acquisition and graphing toolkit for time series data processing also known as data historian.

It supports a variety of scenarios in scientific environmental monitoring projects, for building and operating distributed sensor networks, and for industrial data acquisition applications.

Details

Kotori is a data and protocol broker within SCADA / MDE systems, exclusively built upon industry-grade free and open-source software like Grafana, Mosquitto, or InfluxDB. It is written in Python, and uses the Twisted networking library.

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, see all installation options. You may prefer using a Debian package, install it from the Python Package Index (PyPI), or run it within a development environment directly from the Git repository, see sandbox installation instructions.

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.

Supported by

https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg

Special thanks to the people at JetBrains s.r.o. for supporting us with excellent development tooling.

Metadata

Release files for kotori 0.29.1

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

Source distribution (sdist)

Source distribution for kotori 0.29.1
File Size Uploaded Provenance
kotori-0.29.1.tar.gz 483.6 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 674.2 kB

Release files / kotori-0.29.1.tar.gz

Download URL kotori-0.29.1.tar.gz
Size 483.6 kB
Tags Source
SHA-256 checksum
How to use checksums
bcad6711547bd1f1956405cd0d7b7daa6c4221594a00c0659e5b842932cacdc7
BLAKE2b-256 checksum
How to use checksums
d41d2cd809af40246ed37445414b4fe7e18b019b7e08512073ecc42fb7ce85a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / kotori-0.29.1-py3-none-any.whl

Download URL kotori-0.29.1-py3-none-any.whl
Size 190.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
937b4f09945068afe0f102cf1b6d02ae1d5da219f7014eb945bf8fcb972bbe61
BLAKE2b-256 checksum
How to use checksums
4f0ed64554114a9d3a7c2f7cfbca29a9d91e79d3e1c45a44acfcaf91ade4652c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for kotori 0.29.1

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

0.29.1 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