Skip to main content

Fast binary N-tensor message format for scientific data

Project description

Tensogram Python Bindings

Python bindings for the Tensogram N-tensor message format.

Native extension built with PyO3 + maturin. Supports NumPy arrays, async I/O, and GIL-free operation on free-threaded Python (3.13t / 3.14t).

Installation

pip install tensogram
# or, with the xarray and Zarr backends:
pip install tensogram[all]

Usage

import numpy as np
import tensogram

data = np.random.randn(100, 200).astype(np.float32)
msg = tensogram.encode(
    {"version": 3},
    [(
        {"type": "ntensor", "shape": [100, 200], "dtype": "float32",
         "compression": "szip"},
        data,
    )],
)
result = tensogram.decode(msg)
arr = result.objects[0][1]   # numpy array

Features

  • NumPy integration across every supported dtype (float / complex / int / uint, plus bitmask and bfloat16)
  • Sync and async file APIs (TensogramFile / AsyncTensogramFile)
  • GIL-free parallel encode / decode on free-threaded Python
  • Partial-range decode (decode_range)
  • Full codec support: szip, zstd, lz4, blosc2, zfp, sz3
  • Validation (tensogram.validate, tensogram.validate_file)
  • GRIB / NetCDF conversion (when the wheel is built with the matching feature)

Documentation

License

Copyright 2026- ECMWF. Licensed under Apache-2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

tensogram-0.23.0-cp314-cp314t-manylinux_2_28_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

tensogram-0.23.0-cp314-cp314t-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

tensogram-0.23.0-cp314-cp314t-macosx_13_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

tensogram-0.23.0-cp314-cp314-manylinux_2_28_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

tensogram-0.23.0-cp314-cp314-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

tensogram-0.23.0-cp314-cp314-macosx_13_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.14macOS 13.0+ ARM64

tensogram-0.23.0-cp313-cp313t-manylinux_2_28_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ x86-64

tensogram-0.23.0-cp313-cp313t-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

tensogram-0.23.0-cp313-cp313t-macosx_13_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.13tmacOS 13.0+ ARM64

tensogram-0.23.0-cp313-cp313-manylinux_2_28_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

tensogram-0.23.0-cp313-cp313-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

tensogram-0.23.0-cp313-cp313-macosx_13_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

tensogram-0.23.0-cp312-cp312-manylinux_2_28_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

tensogram-0.23.0-cp312-cp312-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

tensogram-0.23.0-cp312-cp312-macosx_13_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

tensogram-0.23.0-cp311-cp311-manylinux_2_28_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

tensogram-0.23.0-cp311-cp311-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

tensogram-0.23.0-cp311-cp311-macosx_13_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

File details

Details for the file tensogram-0.23.0-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 84ecd90bcb5e23ce5780a4e2e3a4a81d97e4509b702c1fa20770297966d12f0b
MD5 2a8453535a7aceacbdeb91cf2be953a0
BLAKE2b-256 eace5e5529d1fe5d65305b6e8801cd5eeea2982cdc30240381c2b5da06667ee0

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 22d40b97a4dd98e377d9cc620d7af7a55e5da2fde87365257c559dddb6b6d6b5
MD5 5ed3f0900972e79113ff795054229ad2
BLAKE2b-256 9573af75036849a7f040bf793a7a6453e7489c3b4e26bc944a492965cae78954

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp314-cp314t-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 630198130f96aae1341530373e107838adfb0aefc80bb674ca63ba052d07c6d7
MD5 0b93a185647f64733ed6f3fb784dd0c6
BLAKE2b-256 9ab518d55b9fce8d2b8659e4f8900f3e14583cadf7eb75ed2928f324afdd4a40

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 49ad0503f4df953ed19978b6752e8b878878095448e76311e0659be4d161b599
MD5 561d048a258243b2d849a8b53ea11a18
BLAKE2b-256 a0ee1ff9552f16e9fc5cc409689a3be71e0ddf99fe33aca436b40f16d46082ce

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 033c143fe866ee4550204f16a7bdb7cc4189e85932a51b63b0aa9d7cb3976ca2
MD5 f7efa726ac6a094cafac5046f397de50
BLAKE2b-256 83d69dac01a03a94c1cbcb4658c427fec86cfbc6158cedcbd839b8c0d19a5383

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp314-cp314-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp314-cp314-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7dd89ad829c7b4227915c8acb7d1771c494bb70541d5fd0bc07465bfe366d3a2
MD5 540ad08c5c58ce796e1dcde4df4c2287
BLAKE2b-256 35672d7990fb8d5e51a01a3e639c87c543fb54d3a9f509481a6d3c8362c271d7

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp313-cp313t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8085337e5d6dc75b4b4fb4bac49af56bf3816c44ce7ddeea5f4c0ca58fd0c10a
MD5 fdf8d37542f5d5cf32220ea4cde766e5
BLAKE2b-256 24c01a8296e70b417e1cb42ff3f24cd7b5e72571013421156459dc488099a54c

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp313-cp313t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5dc825a46a6806958435540604510a535b450a23c9d69049c6a57a098fde1ee9
MD5 1bd24b216a25bef12b7d41b08378a555
BLAKE2b-256 b79e979129bf32f004118f83761e94fe1113b174d33cd4513166be7ab5eac2da

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp313-cp313t-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp313-cp313t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6863650af92c590a4495e1db799c2b4ad2974ff7d37e7013c32d7f00b0364fa8
MD5 975589028bfef3a33ec390ad8f9970c7
BLAKE2b-256 64d081f3df3dc60998e8bf3ca7735bbc5666f92d1001215b25af845dea0ab293

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d471b9f8b912d76f775cd1a993e46bcfed1eb23549b43d8c23e4d31ffe02d8dc
MD5 cc2212b28da21970f73ff46fe110dcd5
BLAKE2b-256 faae10211dd83646ac535caa84f58837e103146e089496d2f6ee86ef08f29259

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1d41ef9b881e9f74f968b8de8d7407133ee89f689fef89c432eea2b187995088
MD5 89b71b4e44a07055f8e93981d84bc03c
BLAKE2b-256 88212cf8476e663c391afe84bf46c16cc308dda64eddc9f5508520479879ecbf

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 53c3172d2a4300a9cc9ab616cfb9ae2bc4a0f8ff985283a73fa7f2fa1255050d
MD5 7cbb784a147982abd41b0d1a870abd23
BLAKE2b-256 120c68e4dd7b3bd1f489cbf5a9d638e92b3c77635e336be9dafd520339bbef17

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 123c17663e32a745de45dbba26398b95ddef33b497176798fd6b4905965bc7ee
MD5 2eb663f984208655a4277fce4cc9bcd2
BLAKE2b-256 87fcc1f61478d5d8473d45640d5b39ea450ab8577ea0576363f88726d1ab1adc

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6657aef80bf2007fcddc38191b326b5c087be6bd413275074e5da78064fd4ed8
MD5 09895ffd6f8cdee66484829c7a6e3ea7
BLAKE2b-256 6652aa866df76ff54e739c1760603cfe17a5623a103f41885eed62be5ad72f29

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7bddb89e69377e23887cd05682c8312f23eb1ee9a03dfc708ede227255e35a40
MD5 ddc9030778ca1527ef2899543fb6065d
BLAKE2b-256 bfa19077c959d8863811a70ddaf318604e81743908bdddf8ab8f1fb5b5a95572

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1d7912dca3fcd35402cc30f4a2bb691756f843c54bbc9d33bb485fdd35f06e45
MD5 deb0378a21f641f308da157dabe35e0e
BLAKE2b-256 f253cf17ae6bb590ac7d670fc5aae92c88acf6bda0ed8b87802f30b0b2c8a75c

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f0971dffffe816b730cf086569809a09824226f81e33baff9180776b5ce66a67
MD5 6d805f046d8ad3555b7b7bbc3451ec75
BLAKE2b-256 b3eca65276666f072bfff509ee12e67302f9f277e8524f41214652032c85569a

See more details on using hashes here.

File details

Details for the file tensogram-0.23.0-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.23.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 de2b4d092f4448306ae3420ee6cde6db862d4d58353c9042be48af72955cbd73
MD5 a043584b24e560b54e3757291f595d8d
BLAKE2b-256 7358ae39f4c5ce29f2b1004f57a07b344492b974a8656cc64a541ca469527a25

See more details on using hashes here.

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