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

Do not pip install tetration — that PyPI name is unrelated math code.

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.

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.

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

Endpoint and credentials are arguments (not in the URI). 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

uv sync --extra dev
mise run develop          # or: uv run maturin develop
uv run pytest -q
uv run mypy python/tet

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.3.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.3.1
File Size Uploaded
tet_py-0.3.1.tar.gz 71.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for tet-py 0.3.1
File
tet_py-0.3.1-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
tet_py-0.3.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.3.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details
tet_py-0.3.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: 25.9 MB

Release files / tet_py-0.3.1.tar.gz

Download URL tet_py-0.3.1.tar.gz
Size 71.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f2ce3bf60a0c8984fbf243076c5d60e29883350cf166e3653c9777795aab21f2
BLAKE2b-256 checksum
How to use checksums
02bf63c5a979302911c0326fdae1699c5d4c3716f71a4a1ece1d4c9eaac2604d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL tet_py-0.3.1-cp311-abi3-win_amd64.whl
Size 4.7 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
3edb1c3e98a61516dcf8f01b681218abc681ffbd8aff217ff1adf3018ee0078b
BLAKE2b-256 checksum
How to use checksums
3d62dfc3c1d541ad95a3208c9bd25374e881657cc53a4f82ca53e10e55a9fcf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

Download URL tet_py-0.3.1-cp311-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 9.9 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
d8f09a94b10d164cdaffc33ffe045dc6424105c3e1df873c66cae73bc591441c
BLAKE2b-256 checksum
How to use checksums
dea29319ab0009ddcbf94e5113690a784c01cbfce0cd0b75d5dec38442d4b6f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release history Release notifications | RSS feed

This release

0.3.1 This release

5 release files

0.3.0

5 release files

0.2.3

5 release files

0.2.2

5 release files

0.2.1

5 release files

0.2.0

5 release files

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