Tabsdata is a publish-subscribe (pub/sub) server for tables.
Project description
License
Your use of this product is subject to the terms of use available at https://tabsdata.com/license.
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, PostgreSQL. It also provides a Connector Plugin API to write custom connectors.
Tables can 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.
For more details refer to Tabsdata Getting Started (latest) or the Tabsdata User Guide (latest).
Installation
Supported platforms:
- Windows (x86 - latest)
- macOS (Apple silicon/x86 - latest)
- Ubuntu, Debian & RedHat - (x86 - latest)
pip install tabsdata
This version (1.4.0) Documentation
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 customers_publisher(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
Every time the pub publisher is executed, the tfr transformer and the sub subscriber will also be
executed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tabsdata-1.4.0-cp312-abi3-win_amd64.whl.
File metadata
- Download URL: tabsdata-1.4.0-cp312-abi3-win_amd64.whl
- Upload date:
- Size: 33.0 MB
- Tags: CPython 3.12+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb0424ad057cc69d40237f4a397d45a21df8659932b37be6a72843fa95898417
|
|
| MD5 |
f0a6e35e4556d8ea47454002fcb716bb
|
|
| BLAKE2b-256 |
b4f25c0b486ea18cdfa879a1acb6a1f29805b170e737b96857b99add3b8a019b
|
File details
Details for the file tabsdata-1.4.0-cp312-abi3-manylinux1_x86_64.whl.
File metadata
- Download URL: tabsdata-1.4.0-cp312-abi3-manylinux1_x86_64.whl
- Upload date:
- Size: 48.1 MB
- Tags: CPython 3.12+
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fd14b46476d13c1af0a808366ff753980dd2f005adb423a70bfccb08562844a
|
|
| MD5 |
202a936a4ff73f667d0650eaad93cfc0
|
|
| BLAKE2b-256 |
17dfe57334ee114bac0e44e47f7eaa7076d59b2149d5ae9799943e19b0b20c4e
|
File details
Details for the file tabsdata-1.4.0-cp312-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: tabsdata-1.4.0-cp312-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 31.1 MB
- Tags: CPython 3.12+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8b769a9209064fd11d6a65f4c12dce278bdad1d6a22bb80154ef690c2f24072
|
|
| MD5 |
09f0326dd620300d67b51bbdc44f5a89
|
|
| BLAKE2b-256 |
71f27e25e70e3b609afdfc2a3a748fec7add8a0b2a983db3b128b793b54389f4
|
File details
Details for the file tabsdata-1.4.0-cp312-abi3-macosx_10_15_x86_64.whl.
File metadata
- Download URL: tabsdata-1.4.0-cp312-abi3-macosx_10_15_x86_64.whl
- Upload date:
- Size: 33.2 MB
- Tags: CPython 3.12+, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df381c68021fc8a15e1d9fd04c4a3207e6948d5fbb45daa52ac34c41b56fe7c3
|
|
| MD5 |
e6e08687edc0c2eed4b8feec56a1d0eb
|
|
| BLAKE2b-256 |
167e665ac0e5eeddd741566cd92b284d08cb0eb0cfdbd74951ef48ae303af3be
|