Append-only time-series table format with gap/overlap tracking (Python bindings).
Project description
timeseries-table-format (Python)
Python bindings for the timeseries-table-format Rust project.
- PyPI package name:
timeseries-table-format - Python import name:
timeseries_table_format
This is early-stage and currently focused on local development and dogfooding. v0 is local-filesystem-only (no S3/object store backend yet).
Quick start (from the repo root)
Prereqs:
- Rust toolchain installed
- Python 3.12+
uvinstalled
uv venv -p 3.12 python/.venv
uv pip install -p python/.venv/bin/python -e python --group dev
Smoke test:
python/.venv/bin/python -c "import timeseries_table_format as m; print(m.__version__); print(m.Session); print(m.TimeSeriesTable)"
Run tests (pytest):
Tests are end-to-end and generate tiny Parquet files on the fly via pyarrow (no fixtures, no network at runtime).
python/.venv/bin/python -m pytest
Run the example script:
The repo includes a copy-pastable end-to-end script under python/examples/:
python/.venv/bin/python python/examples/create_append_sql.py
Alternative: build with maturin directly
If you prefer calling maturin yourself (instead of via uv pip install), run:
cd python
uv venv -p 3.12 .venv
uv pip install -p .venv/bin/python pyarrow --group dev
uv run -p .venv/bin/python maturin develop -m pyproject.toml
.venv/bin/python -m pytest
SQL queries (Session)
Run SQL with DataFusion and get a pyarrow.Table back:
import timeseries_table_format as ttf
sess = ttf.Session()
out = sess.sql("select 1 as x")
Parameterized queries
Use DataFusion placeholders:
- Positional placeholders:
$1,$2, ... - Named placeholders:
$name
Examples:
sess.sql("select 1 as x where 1 = $1", params=[1])
sess.sql("select 1 as x where 1 = $a", params={"a": 1})
Supported Python parameter value types: None, bool, int (i64 range), float, str, bytes.
If a placeholder appears in a SELECT projection without type context, you may need an explicit cast:
sess.sql("select cast($1 as bigint) as x", params=[1])
Troubleshooting
- If you want to rebuild the Rust extension after changing Rust code, re-run:
uv pip install -p python/.venv/bin/python -e python
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
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 timeseries_table_format-0.1.1.tar.gz.
File metadata
- Download URL: timeseries_table_format-0.1.1.tar.gz
- Upload date:
- Size: 216.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfbd9c1ca7876fab643bbb1cb109a7ec880e4db253614600d0186be717628e93
|
|
| MD5 |
f6c27d36ba0483f7928b158e387701ed
|
|
| BLAKE2b-256 |
d137d2a5c43538e23806476165c8e3ea1757ee529c6d1e4436c7006c88f4df52
|
Provenance
The following attestation bundles were made for timeseries_table_format-0.1.1.tar.gz:
Publisher:
publish-pypi.yml on mag1cfrog/timeseries-table-format
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
timeseries_table_format-0.1.1.tar.gz -
Subject digest:
bfbd9c1ca7876fab643bbb1cb109a7ec880e4db253614600d0186be717628e93 - Sigstore transparency entry: 947073682
- Sigstore integration time:
-
Permalink:
mag1cfrog/timeseries-table-format@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mag1cfrog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file timeseries_table_format-0.1.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: timeseries_table_format-0.1.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 33.3 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
708e65564f6dcec6d6a047666fede9073cb0043bf7d5503945a9c34eb16bd729
|
|
| MD5 |
76c9c370871488b4d964e0ca322afbac
|
|
| BLAKE2b-256 |
2a233edaef652178f12141d1fe2dbb40c897a19555df7ab6a061c19ba1c45b1e
|
Provenance
The following attestation bundles were made for timeseries_table_format-0.1.1-cp313-cp313-win_amd64.whl:
Publisher:
publish-pypi.yml on mag1cfrog/timeseries-table-format
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
timeseries_table_format-0.1.1-cp313-cp313-win_amd64.whl -
Subject digest:
708e65564f6dcec6d6a047666fede9073cb0043bf7d5503945a9c34eb16bd729 - Sigstore transparency entry: 947073702
- Sigstore integration time:
-
Permalink:
mag1cfrog/timeseries-table-format@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mag1cfrog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file timeseries_table_format-0.1.1-cp313-cp313-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: timeseries_table_format-0.1.1-cp313-cp313-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 37.7 MB
- Tags: CPython 3.13, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3b1b6e418b13bd41cc120c1ea07636286549dba83dd7a8157f827e575ddcdc6
|
|
| MD5 |
9c76cbbbac8d4859c29c23de70265152
|
|
| BLAKE2b-256 |
ec7b99102c727c1349b77d572a42a867fc1cda50bcba644d74dcd7bccb28b592
|
Provenance
The following attestation bundles were made for timeseries_table_format-0.1.1-cp313-cp313-manylinux_2_35_x86_64.whl:
Publisher:
publish-pypi.yml on mag1cfrog/timeseries-table-format
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
timeseries_table_format-0.1.1-cp313-cp313-manylinux_2_35_x86_64.whl -
Subject digest:
c3b1b6e418b13bd41cc120c1ea07636286549dba83dd7a8157f827e575ddcdc6 - Sigstore transparency entry: 947073696
- Sigstore integration time:
-
Permalink:
mag1cfrog/timeseries-table-format@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mag1cfrog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file timeseries_table_format-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: timeseries_table_format-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 33.1 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad997aefd6d3fc26276eea97f5eb17735b3533ed61e60fbaea521dcaac457389
|
|
| MD5 |
42e54b5525c260d715e8d97e14253fa6
|
|
| BLAKE2b-256 |
625d6587f8e311fd610e30b122b69585734bbf2f0b1f7a802a9685e25594dc74
|
Provenance
The following attestation bundles were made for timeseries_table_format-0.1.1-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on mag1cfrog/timeseries-table-format
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
timeseries_table_format-0.1.1-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
ad997aefd6d3fc26276eea97f5eb17735b3533ed61e60fbaea521dcaac457389 - Sigstore transparency entry: 947073699
- Sigstore integration time:
-
Permalink:
mag1cfrog/timeseries-table-format@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mag1cfrog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file timeseries_table_format-0.1.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: timeseries_table_format-0.1.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 33.3 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d33523e56ae99e52a73b67b2b777c526e6f78d5d146da403fbc6f0693c19b060
|
|
| MD5 |
708e65e1aff4307a506d242c0068ffa8
|
|
| BLAKE2b-256 |
54b4616573ef577aa85c178f46e64a3ac000dbbd41c11e818895bab174c80f2c
|
Provenance
The following attestation bundles were made for timeseries_table_format-0.1.1-cp312-cp312-win_amd64.whl:
Publisher:
publish-pypi.yml on mag1cfrog/timeseries-table-format
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
timeseries_table_format-0.1.1-cp312-cp312-win_amd64.whl -
Subject digest:
d33523e56ae99e52a73b67b2b777c526e6f78d5d146da403fbc6f0693c19b060 - Sigstore transparency entry: 947073693
- Sigstore integration time:
-
Permalink:
mag1cfrog/timeseries-table-format@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mag1cfrog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file timeseries_table_format-0.1.1-cp312-cp312-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: timeseries_table_format-0.1.1-cp312-cp312-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 37.7 MB
- Tags: CPython 3.12, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d2ab564380d7c74fbec950b5f28478b0e97f2699b942623ed472916ee7c09b0
|
|
| MD5 |
ae481478ac19cf4bb4ef584bcb0dc122
|
|
| BLAKE2b-256 |
502ce913f47ec76420eb907cec3e990774bc470cb22f1a6a1e5191a9df4b67b4
|
Provenance
The following attestation bundles were made for timeseries_table_format-0.1.1-cp312-cp312-manylinux_2_35_x86_64.whl:
Publisher:
publish-pypi.yml on mag1cfrog/timeseries-table-format
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
timeseries_table_format-0.1.1-cp312-cp312-manylinux_2_35_x86_64.whl -
Subject digest:
1d2ab564380d7c74fbec950b5f28478b0e97f2699b942623ed472916ee7c09b0 - Sigstore transparency entry: 947073689
- Sigstore integration time:
-
Permalink:
mag1cfrog/timeseries-table-format@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mag1cfrog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file timeseries_table_format-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: timeseries_table_format-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 33.1 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a69209b71aa1d3bb8da4945f459181a4336cfff5188e52cd284b5e830f6b52c
|
|
| MD5 |
635d594867b1facf72260c49e9c31e07
|
|
| BLAKE2b-256 |
b05988de2a23dc4da5f39bbebca91782194ac3ba94d4459e4c86964d98d3aff3
|
Provenance
The following attestation bundles were made for timeseries_table_format-0.1.1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on mag1cfrog/timeseries-table-format
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
timeseries_table_format-0.1.1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
1a69209b71aa1d3bb8da4945f459181a4336cfff5188e52cd284b5e830f6b52c - Sigstore transparency entry: 947073687
- Sigstore integration time:
-
Permalink:
mag1cfrog/timeseries-table-format@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mag1cfrog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@6a6c5b8f83c6c2d24a9b67bdd93c8c7725ef41ee -
Trigger Event:
workflow_dispatch
-
Statement type: