QuestDB

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.

Contents

Indices and tables