A Python SDK for Tinybird
Project description
Verdin
Verdin is a tiny bird, and also a Tinybird SDK for Python .
Install
pip install verdin
Usage
Run an SQL Query
# the tinybird module exposes all important tinybird concepts
from verdin import tinybird
client = tinybird.Client("p.mytoken")
query = client.sql("select * from my_datasource__v0")
# run the query with `FORMAT JSON` and receive a QueryJsonResult
response: tinybird.QueryJsonResult = query.json()
# print records returned from the pipe
print(response.data)
You can also run, e.g., query.get(format=OutputFormat.CSV)
to get the raw response with CSV data.
Query a Pipe
from verdin import tinybird
client = tinybird.Client("p.mytoken")
pipe = client.pipe("my_pipe")
# query the pipe using dynamic parameters
response: tinybird.PipeJsonResponse = pipe.query({"key": "val"})
# print records returned from the pipe
print(response.data)
Append to a DataSource
from verdin import tinybird
client = tinybird.Client("p.mytoken")
# will access my_datasource__v0
datasource = client.datasource("my_datasource", version=0)
# query the pipe using dynamic parameters
datasource.append([
("col1-row1", "col2-row1"),
("col1-row2", "col2-row2"),
])
Queue and batch records into a DataSource
Verdin provides a way to queue and batch data continuously:
from queue import Queue
from threading import Thread
from verdin import tinybird
from verdin.worker import QueuingDatasourceAppender
client = tinybird.Client("p.mytoken")
records = Queue()
appender = QueuingDatasourceAppender(records, client.datasource("my_datasource"))
Thread(target=appender.run).start()
# appender will regularly read batches of data from the queue and append them
# to the datasource. the appender respects rate limiting.
records.put(("col1-row1", "col2-row1"))
records.put(("col1-row2", "col2-row2"))
Develop
Create the virtual environment, install dependencies, and run tests
make venv
make test
Run the code formatter
make format
Upload the pypi package using twine
make upload
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
verdin-0.2.1.tar.gz
(13.2 kB
view hashes)
Built Distribution
verdin-0.2.1-py3-none-any.whl
(14.1 kB
view hashes)