Skip to main content

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+
  • uv installed
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

timeseries_table_format-0.1.1.tar.gz (216.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

timeseries_table_format-0.1.1-cp313-cp313-win_amd64.whl (33.3 MB view details)

Uploaded CPython 3.13Windows x86-64

timeseries_table_format-0.1.1-cp313-cp313-manylinux_2_35_x86_64.whl (37.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ x86-64

timeseries_table_format-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (33.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

timeseries_table_format-0.1.1-cp312-cp312-win_amd64.whl (33.3 MB view details)

Uploaded CPython 3.12Windows x86-64

timeseries_table_format-0.1.1-cp312-cp312-manylinux_2_35_x86_64.whl (37.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

timeseries_table_format-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (33.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Hashes for timeseries_table_format-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bfbd9c1ca7876fab643bbb1cb109a7ec880e4db253614600d0186be717628e93
MD5 f6c27d36ba0483f7928b158e387701ed
BLAKE2b-256 d137d2a5c43538e23806476165c8e3ea1757ee529c6d1e4436c7006c88f4df52

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file timeseries_table_format-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for timeseries_table_format-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 708e65564f6dcec6d6a047666fede9073cb0043bf7d5503945a9c34eb16bd729
MD5 76c9c370871488b4d964e0ca322afbac
BLAKE2b-256 2a233edaef652178f12141d1fe2dbb40c897a19555df7ab6a061c19ba1c45b1e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file timeseries_table_format-0.1.1-cp313-cp313-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for timeseries_table_format-0.1.1-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 c3b1b6e418b13bd41cc120c1ea07636286549dba83dd7a8157f827e575ddcdc6
MD5 9c76cbbbac8d4859c29c23de70265152
BLAKE2b-256 ec7b99102c727c1349b77d572a42a867fc1cda50bcba644d74dcd7bccb28b592

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file timeseries_table_format-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for timeseries_table_format-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ad997aefd6d3fc26276eea97f5eb17735b3533ed61e60fbaea521dcaac457389
MD5 42e54b5525c260d715e8d97e14253fa6
BLAKE2b-256 625d6587f8e311fd610e30b122b69585734bbf2f0b1f7a802a9685e25594dc74

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file timeseries_table_format-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for timeseries_table_format-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d33523e56ae99e52a73b67b2b777c526e6f78d5d146da403fbc6f0693c19b060
MD5 708e65e1aff4307a506d242c0068ffa8
BLAKE2b-256 54b4616573ef577aa85c178f46e64a3ac000dbbd41c11e818895bab174c80f2c

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file timeseries_table_format-0.1.1-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for timeseries_table_format-0.1.1-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 1d2ab564380d7c74fbec950b5f28478b0e97f2699b942623ed472916ee7c09b0
MD5 ae481478ac19cf4bb4ef584bcb0dc122
BLAKE2b-256 502ce913f47ec76420eb907cec3e990774bc470cb22f1a6a1e5191a9df4b67b4

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file timeseries_table_format-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for timeseries_table_format-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a69209b71aa1d3bb8da4945f459181a4336cfff5188e52cd284b5e830f6b52c
MD5 635d594867b1facf72260c49e9c31e07
BLAKE2b-256 b05988de2a23dc4da5f39bbebca91782194ac3ba94d4459e4c86964d98d3aff3

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page