BrandonEscamilla / py-questdb-client

Python client for QuestDB InfluxDB Line Protocol over TCP

Home Page:https://py-questdb-client.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QuestDB Client Library for Python

This library makes it easy to insert data into QuestDB.

This client library implements QuestDB's variant of the InfluxDB Line Protocol (ILP) over TCP.

ILP provides the fastest way to insert data into QuestDB.

This implementation supports authentication and full-connection encryption with TLS.

Quickstart

The latest version of the library is 1.1.0.

python3 -m pip install questdb
from questdb.ingress import Sender

with Sender('localhost', 9009) as sender:
    sender.row(
        'sensors',
        symbols={'id': 'toronto1'},
        columns={'temperature': 20.0, 'humidity': 0.5})
    sender.flush()

You can also send Pandas dataframes:

import pandas as pd
from questdb.ingress import Sender

df = pd.DataFrame({
    'id': pd.Categorical(['toronto1', 'paris3']),
    'temperature': [20.0, 21.0],
    'humidity': [0.5, 0.6],
    'timestamp': pd.to_datetime(['2021-01-01', '2021-01-02'])'})

with Sender('localhost', 9009) as sender:
    sender.dataframe(df, table_name='sensors')

Docs

https://py-questdb-client.readthedocs.io/

Code

https://github.com/questdb/py-questdb-client

Package on PyPI

https://pypi.org/project/questdb/

Community

If you need help, have additional questions or want to provide feedback, you may find us on Slack.

You can also sign up to our mailing list to get notified of new releases.

License

The code is released under the Apache License 2.0.

About

Python client for QuestDB InfluxDB Line Protocol over TCP

https://py-questdb-client.readthedocs.io

License:Apache License 2.0


Languages

Language:Python 60.7%Language:Cython 33.5%Language:Rust 4.3%Language:C 1.4%Language:C++ 0.1%Language:Shell 0.0%Language:Batchfile 0.0%Language:PowerShell 0.0%