This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.7.0 instead.
tet-py
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
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.6.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tet_py-0.6.4.tar.gz | 75.8 kB | Without provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| tet_py-0.6.4-cp311-abi3-win_amd64.whl | CPython 3.11 | abi3 | Windows x86-64 | Details |
| tet_py-0.6.4-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.6.4-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.11 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| tet_py-0.6.4-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+ x86-64, macOS 10.12+ universal2 (ARM64, x86-64) | Details |
Total release size: 27.4 MB
Release files / tet_py-0.6.4.tar.gz
| Download URL | tet_py-0.6.4.tar.gz |
|---|---|
| Size | 75.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5230de389b369f8aa98dce10f5c3f5432e435ac2545d0d7e0d20f3858d80a4a1
|
|
BLAKE2b-256 checksum How to use checksums |
430dbc6fabd329d18261a3106acfc7553037ee0e3185c26ded9608c52e9ce792
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / tet_py-0.6.4-cp311-abi3-win_amd64.whl
| Download URL | tet_py-0.6.4-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 5.0 MB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
4e5c2c158849a15f074df42e244c79788c905f1a1a1b482c4a4dedba88177575
|
|
BLAKE2b-256 checksum How to use checksums |
eb98fa2ed3132fd53c69edbf1b4e66c0dadf59d97b9aa5f882745cfe6bd9b18a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / tet_py-0.6.4-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | tet_py-0.6.4-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9ef1e79d47369c09714cae49d42b5e0b2511487ea3fd8713b416c85f6e611677
|
|
BLAKE2b-256 checksum How to use checksums |
79e1c4efa3d4d3e053516345ed3041f11c2163704b866841c5df76ee5ba53811
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / tet_py-0.6.4-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | tet_py-0.6.4-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 |
ddd4d59586c08430c7114d1325fecab56c36df332ebf754e854f0ffd7e43074d
|
|
BLAKE2b-256 checksum How to use checksums |
0ba54d62b7540258e4f1565150dd872a5c1dfceff5e57d852c802a914b034658
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / tet_py-0.6.4-cp311-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | tet_py-0.6.4-cp311-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 10.5 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 |
981d0003ffd378e73378ba45a7979d7272acd780c1fb42c876fe7d1dd80c27fb
|
|
BLAKE2b-256 checksum How to use checksums |
c77dce957e05a27e0f1ad399fdbabf8ceab390cebab2b9396b4a3e2328c0d256
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Security for tet-py 0.6.4
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.