Skip to main content

This is my custom aioinfluxdb client

Project description

DM-aioinfluxdb

Urls

Usage

Write

from dm_aioinfluxdb import DMAioInfluxDBClient
import asyncio


async def main():
    # create client
    influxdb_client = DMAioInfluxDBClient("localhost", 8086, "org", "token")

    # create influxdb points
    point1 = influxdb_client.create_point("example-measurement", {"value": 1.5}, {"tag1": "tag1-value"})
    # or
    point2 = DMAioInfluxDBClient.create_point("example-measurement", {"value": 0}, {"tag2": "tag2-value"})

    # write one or more points
    await influxdb_client.write("example-bucket", point1)
    # write line protocol record
    record = "example-measurement,tag1=tag1-value, value=1.5 1713162515"
    await influxdb_client.write("example-bucket", record)

    # type: bool
    status = await influxdb_client.write("example-bucket", [point1, point2])

    # return error message in case of error
    # type: (bool, str)
    status, err_msg = await influxdb_client.write("example-bucket", point1, return_errors=True)

    # without error logs in case of errors
    await influxdb_client.write("example-bucket", point1, err_logging=False)

if __name__ == "__main__":
    asyncio.run(main())

Query

from dm_aioinfluxdb import DMAioInfluxDBClient
import asyncio


async def main():
    # create client
    influxdb_client = DMAioInfluxDBClient("localhost", 8086, "org", "token")

    # write query
    query = 'from(bucket: "example") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "monitoring" and r._field == "cpu")'

    # type: <class 'influxdb_client.client.flux_table.TableList'>
    table_res = await influxdb_client.query(query)
    # type: str
    json_res = await influxdb_client.query(query, to="json")
    # type: list[dict]
    list_res = await influxdb_client.query(query, to="list")

    # return error message in case of error
    # type: (str, str)
    json_res, err_msg = await influxdb_client.query(query, to="json", return_errors=True)

    # without error logs in case of errors
    res = await influxdb_client.query(query, err_logging=False)


if __name__ == "__main__":
    asyncio.run(main())

Set custom logger

If you want set up custom logger

from dm_aioinfluxdb import DMAioInfluxDBClient


# create custom logger
class MyLogger:
    def debug(self, message):
        pass

    def info(self, message):
        pass

    def warning(self, message):
        print(message)

    def error(self, message):
        print(message)


# set up custom logger for all clients
DMAioInfluxDBClient.set_logger(MyLogger())

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

dm_aioinfluxdb-0.2.7.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

dm_aioinfluxdb-0.2.7-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file dm_aioinfluxdb-0.2.7.tar.gz.

File metadata

  • Download URL: dm_aioinfluxdb-0.2.7.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for dm_aioinfluxdb-0.2.7.tar.gz
Algorithm Hash digest
SHA256 b7642ae8617e5b44fa35bc0f5550286a9d9d7e6963eb6b7b640369601517f22b
MD5 45e0c9db8145a38bff94bf66477593bd
BLAKE2b-256 335c123cbc4461c1df50fa6882ea99daf666617e3d6842eb29f36db2e95f70f8

See more details on using hashes here.

File details

Details for the file dm_aioinfluxdb-0.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for dm_aioinfluxdb-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c2f1636b9216ce731f53d6dc43df0409c7aeab0e3656a83b03e4912f5a1ceaee
MD5 780ad7707c1e344485015404851a776e
BLAKE2b-256 5a99b1823ad05d9cb582a359d8054d9132816b8dfb349f006fdc2ab5bb29f5b4

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