Skip to main content

tet-py

PyPI Docs CI Python License

Python bindings for Tetration — mmap-friendly .tet tensors and the JSON/TOML query engine.

Install pip install tet-py → import tet
Docs docs.tetration.sh/python
Rust core tetration (linked at build time)
CLI tet binary from the main repo

Quick start

pip install tet-py
python -c "import tet; print(tet.__version__, tet.core_version())"
import tet

with tet.open("data.tet") as f:
    print(f.mean("temperature"), f.quantile("temperature", 0.5))
    arr = f.read_numpy("temperature")                 # ram (memmap for full-width raw slabs)
    z = f.transform.to_numpy.zscore("temperature")  # transform → ndarray

More examples: Python quick start · operations · NumPy

Convert

tet.convert writes one .tet from a foreign file. .npy, multi-member .npz, and .csv / .tsv are in the core wheel. Other formats are optional extras: tet-py[h5], [netcdf], [zarr], [parquet], or [convert] for all of them.

src may be s3://bucket/object.ext (full download, then the same importer) or an s3:// Zarr v2/v3 prefix (each chunk is fetched as the zarr library reads it). Credentials stay in TETRATION_S3_*.

Extra What it imports
(core) .npy (one dataset), .npz (every member), .csv / .tsv (numeric + category text columns)
h5 HDF5 datasets, groups as parent/child names
netcdf NetCDF variables, including groups
zarr Zarr v2 and v3 directory stores
parquet Parquet numeric columns and UTF-8 category columns

Compared with Rust tet convert: Python does not apply CF scale/offset, chunks the whole array unless you pass chunk_shape, and can read codecs the Rust importer skips when the extra library can decode them. Columns that are not layout-v1 numeric (or category text) are omitted.

Export

tet.export (and TetFile.export) writes a .tet to HDF5, NetCDF, or Zarr. Same optional extras as convert ([h5], [netcdf], [zarr], or [export] for those three). Dense numeric datasets only; carries dim_names and basic string attrs when present. Values are densified via read_numpy — prefer Rust tet export when you need native HDF5/NetCDF or chunk-preserving Zarr.

Packages

tet.open("pkg.tet.d") reads the generation named by CURRENT (packed.tet). tet.ingest copies a sealed .tet into staging, and tet.publish seals those parts and updates CURRENT. tet.pack(package, "out.tet") copies that sealed image to a standalone file; pass remove_package=True to delete the .tet.d after a verified copy.

For an S3-compatible backend:

from tet import S3Store

store = S3Store.connect(endpoint="http://127.0.0.1:9000", bucket="…",
                        access_key_id="…", secret_access_key="…", prefix="demo")
store.ingest("part.tet", session_id="s0")
store.publish(["part"])
f = store.open("current")  # pin; later publish does not retarget f
# or, with TETRATION_S3_* set: tet.open("s3://bucket/demo")

Endpoint and credentials are arguments or TETRATION_S3_* (not in the URI). tet.open("s3://bucket/prefix") range-reads the pinned package. S3Store.open still downloads packed.tet. See docs/operations.md.

Documentation

Topic Where
Install, API, NumPy sinks docs.tetration.sh/python
Query ops (local mirror) docs/operations.md
Release notes CHANGELOG.md
Format + query wire docs.tetration.sh · tetration repo
Roadmap docs.tetration.sh/roadmap

Develop

mise run sync             # uv sync --extra dev --extra convert
mise run develop          # maturin develop
mise run test             # pytest -q
mise run mypy
mise run check            # fmt + clippy + mypy + pytest

Requires Python 3.11+ and Rust 1.95+ (.mise.toml). Fixtures: tests/fixtures/.

License

MIT OR Apache-2.0, same as tetration.

Metadata

Release files for tet-py 0.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tet-py 0.8.1
File Size Uploaded Provenance
tet_py-0.8.1.tar.gz 75.8 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for tet-py 0.8.1
File
tet_py-0.8.1-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
tet_py-0.8.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details
tet_py-0.8.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details
tet_py-0.8.1-cp311-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.11 abi3 macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64 Details

Total release size: 27.7 MB

Release files / tet_py-0.8.1.tar.gz

Download URL tet_py-0.8.1.tar.gz
Size 75.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b981836ccf1add8bd5371f339f0757cbb10df7baf047cf0e97075ed928aa3f54
BLAKE2b-256 checksum
How to use checksums
97ffb6e2559f0e62789cadd0c3ffc1cb837d34ffac8319ca95ed40bb3379c899
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / tet_py-0.8.1-cp311-abi3-win_amd64.whl

Download URL tet_py-0.8.1-cp311-abi3-win_amd64.whl
Size 5.1 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
9cd38db9a0a7d7a9ba9ef12e47923194ecec0f121f08ebae62a1b1e7e1b6fe6e
BLAKE2b-256 checksum
How to use checksums
7e481222d383480dd3e6e9ae6f3ed13000f45e748e1a8f125a96fac042555210
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / tet_py-0.8.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tet_py-0.8.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
90a3fb5354e342556b4685b56cec2caf82b94e25a6fad45a56da3d185df24fd6
BLAKE2b-256 checksum
How to use checksums
765c7972812f7cab9706540cbf4c0b4e7a331b7bbd779c5abd113c65721428a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / tet_py-0.8.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL tet_py-0.8.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.9 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
3621e9a000c38beaf88c21cc37e755906f8f87ae029b19ea80586bfc3c77e652
BLAKE2b-256 checksum
How to use checksums
c3a7a90bffff5b94739ae95db8eed32619b99dce3ac745a2e9f7ed5085f768c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / tet_py-0.8.1-cp311-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL tet_py-0.8.1-cp311-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 10.6 MB
Tags CPython 3.11 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1f02a7afa1a75e047cebd51e1ae794009c910a51e5cbb478485de965148dc4cf
BLAKE2b-256 checksum
How to use checksums
1bf9e706741763f3b8be6b1b89bf1c8d5062fa29e46bbcfdd5c3f755e1c9a46a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Security for tet-py 0.8.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.8.1 This release

5 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page