跳转到主要内容

Python SDK for Tinybird

项目描述

Verdin

PyPI Version CI Status Coverage Status PyPI License Code style: black

Verdin是一个小鸟,也是Tinybird的Python SDK。

安装

pip install verdin

要求

Python 3.8+

使用

运行SQL查询

# 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)

您也可以运行,例如,query.get(format=OutputFormat.CSV)以获取原始的CSV数据响应。

查询管道

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)

追加到数据源

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"),
])

将记录队列和批量到数据源

Verdin提供了一种连续队列和批量数据的方法

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"))

开发

创建虚拟环境,安装依赖项并运行测试

make venv
make test

运行代码格式化工具

make format

使用twine上传PyPI包

make upload

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源代码分发

verdin-0.4.1.tar.gz (13.8 kB 查看哈希值)

上传时间 源代码

构建分发

verdin-0.4.1-py3-none-any.whl (14.4 kB 查看哈希值)

上传时间 Python 3