Skip to content
プロジェクト

tabsdata/tabsdata has 44 GitHub stars and 4 forks. Star changes are not measured yet. Last checked 2026-11-12 10:06 UTC. Last push 2026-10-29.

この数値の測り方

Agentic data engineering built on Pub/Sub for Tables. Discover, publish, transform and consume data as versioned tables with lineage, with an AI agent doing the assembly and the engineer approving.

計測したスター増加

24時間
履歴を収集中
7日間
履歴を収集中
15日間
履歴を収集中
1か月
履歴を収集中

期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。

Tabsdata

Tabsdata Pub/Sub for Tables

Tabsdata is a publish-subscribe (pub/sub) server for tables.

Tabsdata has connectors to publish and subscribe tables from local files, S3, Azure Storage, MySQL/MariaDB, Oracle and PostgreSQL. It also provides a Connector Plugin API to write custom connectors.

Tables can be populated with external data or using data from other tables already existing in the Tabsdata server.

Tables can be manipulated using a TableFrame API (internally Tabsdata uses Polars) that enables selection, filtering, aggregation and joins operations.

Tabsdata Binary Distribution

Tabsdata binary distribution of the Enterprise Package (binary distribution) that is built on this Open Source foundation and contains more valued added features is available in PyPi as a binary package for Linux, macOS and Windows.

To install and run the binary distribution use the following command:

pip install "tabsdata[all]"

Tabsdata Binary Distribution Documentation

Contributing

Contributions are welcome! Please refer to the Contributing Guide for more information.

How Does Tabsdata Work?

The following snippets show how to publish and subscribe to tables in Tabsdata.

Publishing data from a MySQL Database

@td.publisher(
    td.MySQLSource(
        "mysql://127.0.0.1:3306/testing",
        ["select * from CUSTOMERS"],
        td.UserPasswordCredentials("admin", td.EnvironmentSecret("DB_PASWORD"))
    ),
    tables=["customers"]
)
def pub(customers: td.TableFrame) -> td.TableFrame:
    return customers

Subscribing, transforming and publishing data within Tabsdata

@td.transformer(
    input_tables=["persons"],
    output_tables=["spanish"]
)
def tfr(persons: td.TableFrame):
    return persons.filter(td.col("nationality").eq("spanish")).select(
        ["identifier", "name", "surname", "language"]
    )

Subscribing to data in an S3 Bucket

@td.subscriber(
    "spanish",
    td.S3Destination(
        "s3://my_bucket/spanish.parquet",
        td.S3AccessKeyCredentials(
            td.EnvironmentSecret("AWS_ACCESS_KEY_ID"),
            td.EnvironmentSecret("AWS_SECRET_KEY")
        )
    ),
)
def sub(spanish: td.TableFrame):
    return spanish

Executing the Publisher

To publish data to Tabsdata run the following command:

$ td fn trigger --coll examples --name pub

In Tabsdata binary distribution, every time the pub publisher is executed, the tfr transformer and the sub subscriber will also be executed.

関連プロジェクトを探す