Verdin
Verdin is a tiny bird, and also a Python SDK for Tinybird .
Install
pip install verdin
Usage
Query a Pipe
# the tinybird module exposes all important tinybird concepts
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