Description
API wrapper following the basic API requirements of QuestDB described here.
Usage
Install requirements:
pip3 install -r requirements.txt
Import
from PyQDB import QuestDB
qdb = QuestDB()
Methods
/imp - Import
/imp
streams tabular text data directly into a table. It supports CSV, TAB and pipe (|
) delimited inputs with optional headers. There are no restrictions on data size. Data types and structures are detected automatically, without additional configuration. In some cases, additional configuration can be provided to improve the automatic detection as described in user-defined schema.
res = qdb.imp(filename="test.csv", name="PyQDB")
See
qdb_api.py
or API reference for all possible parameters.
/exec - Execute queries
/exec
compiles and executes the SQL query supplied as a parameter and returns a JSON response.
res = qdb.exec(query="SELECT * FROM PyQDB")
SQL queries will be verified via sqlvalidator==0.0.17
there might be issues with QuestDB SQL Syntax.
See
qdb_api.py
or API reference for all possible parameters.
/exp - Export data
This endpoint allows you to pass url-encoded queries but the request body is returned in a tabular form to be saved and reused as opposed to JSON.
res = qdb.exp(query="SELECT * FROM PyQDB")
Thanks to Issue #1 you can now choose between the following output formats:
- CSV:
qdb.exp(query="...", output="csv")
- DataFrame:
qdb.exp(query="...", output="pandas"
See
qdb_api.py
or API reference for all possible parameters.