Skip to main content

amqtt_db

license Build Status Coverage Status PyPI Documantation

DB persistence for amqtt.

Objective

amqtt_db persists payloads received by the amqtt broker into performant relational databases. SQLAlchemy as well as timescaleBD are the target RMDB-Systems.

amqtt_db will do four steps to persist the amqtt data:

  1. decoding the payload (e.G. from binary, JSON or which ever encoding)
  2. deserializing the payload to typed Python entities
  3. structure the session, topic, property, value information into a relational model of your choice
  4. generate the necessary tables, columns to store the data

All of this steps can be configured via the amqtt yaml config. And you can even replace any these steps for each topic by your code in terms of Python plugins. amqtt is designed to be enhanced and extended.

Performance

Flexibility comes with a penalty on performance. The more layers of classes and filters we implement the higher the performance penalty.

So we optimize the data flow by an optimistic approach.

amqtt_db expects that the decoding, deserializing, transformations, target DB, target tables, table colums etc. are all well in place if it deals with a single incoming packet. If the handling of that package fails, exceptions will be raised, and the error handling rushes in to deal with the problem.

Since the change rate on the decoding, deserializing, database model is quite low this optimistic approach will be quite performant.

Documentation

Please have a look at the documentation.

Metadata

Release files for amqtt_db 0.1.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 amqtt_db 0.1.5
File Size Uploaded
amqtt_db-0.1.5.tar.gz 13.9 kB Details

Built distribution (wheel)

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

Total release size: 34.2 kB

Release files / amqtt_db-0.1.5.tar.gz

Download URL amqtt_db-0.1.5.tar.gz
Size 13.9 kB
Tags Source
SHA-256 checksum
How to use checksums
dc3762fb5b5072a1d33401014d04b41dee4da7393f53a56b5786d067dbe5e8b9
BLAKE2b-256 checksum
How to use checksums
6f3199e5e1d7488f9c1b3586ba75d635125f85866ddb403da69cb2a24dc95a84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.2 Linux/6.1.0-17-amd64

Release files / amqtt_db-0.1.5-py3-none-any.whl

Download URL amqtt_db-0.1.5-py3-none-any.whl
Size 20.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e5dfb205c2cba82ea0be39aa3fb449c199003e909ba0f5f523f6379629d9dc8
BLAKE2b-256 checksum
How to use checksums
a65bf370ae0cd8267877dadb195e01c8ea0be0fc23e66ac960cac8e4978b0b8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.2 Linux/6.1.0-17-amd64

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

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