Skip to main content

QuestDB client library for Python

Project description

This is the official Python client library for QuestDB.

This client library implements QuestDB’s variant of the InfluxDB Line Protocol (ILP) over HTTP and 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 2.0.1 (changelog).

python3 -m pip install -U questdb[dataframe]

Please start by setting up QuestDB . Once set up, you can use this library to insert data.

The most common way to insert data is from a Pandas dataframe.

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'])})

conf = f'http::addr=localhost:9000;'
with Sender.from_conf(conf) as sender:
    sender.dataframe(df, table_name='sensors', at='timestamp')

You can also send individual rows. This only requires a more minimal installation:

python3 -m pip install -U questdb
from questdb.ingress import Sender, TimestampNanos

conf = f'http::addr=localhost:9000;'
with Sender.from_conf(conf) as sender:
    sender.row(
        'sensors',
        symbols={'id': 'toronto1'},
        columns={'temperature': 20.0, 'humidity': 0.5},
        at=TimestampNanos.now())
    sender.flush()

To connect via the older TCP protocol, set the configuration string to:

conf = f'tcp::addr=localhost:9009;'
with Sender.from_conf(conf) as sender:
    ...

You can continue by reading the Sending Data Over ILP guide.

Community

If you need help, you can ask on Stack Overflow: We monitor the #questdb and #py-questdb-client tags.

Alternatively, 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.

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

questdb-2.0.1.tar.gz (838.9 kB view hashes)

Uploaded Source

Built Distributions

questdb-2.0.1-pp310-pypy310_pp73-win_amd64.whl (1.8 MB view hashes)

Uploaded PyPy Windows x86-64

questdb-2.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

questdb-2.0.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (4.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

questdb-2.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

questdb-2.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (3.1 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

questdb-2.0.1-pp39-pypy39_pp73-win_amd64.whl (1.8 MB view hashes)

Uploaded PyPy Windows x86-64

questdb-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

questdb-2.0.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (4.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

questdb-2.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

questdb-2.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

questdb-2.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (3.1 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

questdb-2.0.1-pp38-pypy38_pp73-win_amd64.whl (1.8 MB view hashes)

Uploaded PyPy Windows x86-64

questdb-2.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

questdb-2.0.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (4.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

questdb-2.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

questdb-2.0.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

questdb-2.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (3.1 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

questdb-2.0.1-cp312-cp312-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

questdb-2.0.1-cp312-cp312-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.12 Windows x86

questdb-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl (4.7 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

questdb-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

questdb-2.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (5.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

questdb-2.0.1-cp312-cp312-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

questdb-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl (3.1 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

questdb-2.0.1-cp311-cp311-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

questdb-2.0.1-cp311-cp311-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.11 Windows x86

questdb-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl (4.7 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

questdb-2.0.1-cp311-cp311-musllinux_1_1_aarch64.whl (4.5 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

questdb-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

questdb-2.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (5.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

questdb-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

questdb-2.0.1-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

questdb-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl (3.1 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

questdb-2.0.1-cp310-cp310-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

questdb-2.0.1-cp310-cp310-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.10 Windows x86

questdb-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl (4.7 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

questdb-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl (4.5 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

questdb-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

questdb-2.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (5.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

questdb-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

questdb-2.0.1-cp310-cp310-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

questdb-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl (3.1 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

questdb-2.0.1-cp39-cp39-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

questdb-2.0.1-cp39-cp39-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.9 Windows x86

questdb-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl (4.7 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

questdb-2.0.1-cp39-cp39-musllinux_1_1_aarch64.whl (4.5 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

questdb-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

questdb-2.0.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (5.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

questdb-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

questdb-2.0.1-cp39-cp39-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

questdb-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl (3.1 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

questdb-2.0.1-cp38-cp38-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

questdb-2.0.1-cp38-cp38-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.8 Windows x86

questdb-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl (4.7 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

questdb-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl (4.5 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

questdb-2.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

questdb-2.0.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (5.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

questdb-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

questdb-2.0.1-cp38-cp38-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

questdb-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl (3.1 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

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