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.19.0-cp314-cp314t-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

tensogram-0.19.0-cp314-cp314t-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

tensogram-0.19.0-cp314-cp314t-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

tensogram-0.19.0-cp314-cp314-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

tensogram-0.19.0-cp314-cp314-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

tensogram-0.19.0-cp314-cp314-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

tensogram-0.19.0-cp313-cp313t-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ x86-64

tensogram-0.19.0-cp313-cp313t-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

tensogram-0.19.0-cp313-cp313t-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

tensogram-0.19.0-cp313-cp313-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

tensogram-0.19.0-cp313-cp313-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

tensogram-0.19.0-cp313-cp313-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tensogram-0.19.0-cp312-cp312-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

tensogram-0.19.0-cp312-cp312-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

tensogram-0.19.0-cp312-cp312-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tensogram-0.19.0-cp311-cp311-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

tensogram-0.19.0-cp311-cp311-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

tensogram-0.19.0-cp311-cp311-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 688fcebe009d7fdd34783800c10d8bdb14cc5ed018447d79ac9b1e04993cedf8
MD5 e8d66441fb63e052d7862e1484c9dba0
BLAKE2b-256 331c773f7734c870effaa97bdadd8712d0b512ee843e3927b728ecde91978ec0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5644cb681626299c28d41535b77bc9c51f45243f5d034da59e01ff3528588bb7
MD5 3f824032caccd5bbee10fa4a02ece41a
BLAKE2b-256 3901c993f98b6073f35f43d89382ab58d5fc4e88d4f0736e284e956c5b1b5260

See more details on using hashes here.

File details

Details for the file tensogram-0.19.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.19.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8302e769583ea2d5debe67efc4bb4e52de97c713351b96bdfe2231a8a1a463c7
MD5 05f5e3a0446da4b5645af6c389dfce44
BLAKE2b-256 4200cc1547eb532f8c56fcc3fc009291873d18b33a9b019f8bb9ad144924dc41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e55e5cc969ad2fceb29cc7f3aa0820e58611326c368392364d701ad401765bb0
MD5 a36a0e40aac4d5660b79a93325ba2cf6
BLAKE2b-256 6b658e605b8257805e0cbb748732c52140c433d6dcb6ff1f453fb31f02ddc089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7406db25af8457cec021f4e33b6d904cd36cdf6a40de40a7f663d4d3cc3b9c2b
MD5 30589cd34c72e9c2c6e443f4d55e7bd9
BLAKE2b-256 2af0c6e1fae4dd023accb5761be599604d9c020c67842ad4025c3434881b955d

See more details on using hashes here.

File details

Details for the file tensogram-0.19.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.19.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 202e7dc6e88631238339a751096e07318e58a053a7949edb6329e866b4b60670
MD5 0209662f4231239aadd52c975430fa43
BLAKE2b-256 18699919328ac16297cc87a747e954397f597970772692534e7534927a2ba4d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8c7ce120eca85802d59435c2f4afe50ce8562a9e4d7195628e48efb0f10e7ba7
MD5 5d09a1c961911504aa9ad69e4b0d08ce
BLAKE2b-256 0cdfba6c99a7c8c38abaa885c08a8bbf8512a2e20ed009e57beee04a3e1ba137

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a27dcb7a9e152482b3196d10bdc1cd357b3107dc196c5759d582e34d467dc060
MD5 c3267bdeaa382f58f52e20519409fd60
BLAKE2b-256 3016d3c2b4a6f709701cc3028cd2bc80dff5bb19d43dd5cb096c566b5b7e3f91

See more details on using hashes here.

File details

Details for the file tensogram-0.19.0-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.19.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29cf9d32d7393c47e3be3437faea9ffae1167ddf2f794698545579fa200f5711
MD5 5dda1456dfddca9779b4db9fb4ca8651
BLAKE2b-256 8c83ee27fbd89dc3219ce282111e74a34e02b4e33a97bd3c53214070e3afc73b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b7157f59bbbadb60ae56f7af7e5ade8aa167fd12c06159af78d15afc606efdf
MD5 473c6fed9d20884e6d90f4d042de757c
BLAKE2b-256 123cf5706ebd18f6cfc71cfe533d7471036b0da8355997d36ed22a0caf7f77e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9eb094255e0b60e2446bdac096ddf97548aba8aa0d094fe4440c9de84ad721c3
MD5 b1c033afe81dd97049360db47bd677d9
BLAKE2b-256 15449df5a9988279350fa0ed7c11665bcc10f8d06c070966aaaabf8b2b0aaba4

See more details on using hashes here.

File details

Details for the file tensogram-0.19.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.19.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d81c27f58cc8a6c379a332884aea8f51ba482abff3f8f91ccea4c92a465180e
MD5 06592a8e0f48450cf2f22d733795bf25
BLAKE2b-256 3837132620ee3c682ef64ff5c112af776bf4367cf08fa5965ac36af83a833ce5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 23a5e78d0d8784d87d2961a59aed7f754426a7edd7e4567314facf661a80fbee
MD5 18bc57c58b6d1abc8a1dd9a8bf3c1cc8
BLAKE2b-256 dcbfbfb146a73ea950d21725a1a757d7082642de87d5612702afe21cff229d5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 70ff2db3ad26e746c73985f438a9470df4138a28f6cbe9fa1f08593aedac12eb
MD5 e3a8a365980bc5a6aa5856f978d55e6e
BLAKE2b-256 443e222f0b6f0e1c92f27c4080781a4ca2d539617f97c33765c62e94c8136075

See more details on using hashes here.

File details

Details for the file tensogram-0.19.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.19.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a7d4b0c21b1caeb25f32d2b1c48663941520780175cf4df93a023d475a64c7e
MD5 21ab0df92392b3a17ffd89f7afe786e0
BLAKE2b-256 c7e177be333555dc0b880d43222511774a4da66ccb251c90a61f917d573ff450

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 316cadd89424f8f36ea3922f9dd665d83c4b4a4a90f0071b6fd9119fccf5100f
MD5 bf54e49d9f3ad79b3c0fd7b029d70474
BLAKE2b-256 ce42b921d0ee86ae8e52b6ec5d61c3c2544eca6b65489e2ef063be38e4c4d713

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.19.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 81b4d2be50f5d077897e644b7d4a180f4eca5de3d527682be939a31aa414b6a7
MD5 2f23fb2f61158dc7659889bd8996d1a1
BLAKE2b-256 f0e77ab26b4a3018932b89a5becd346374a909de5c5b8d9cd1ef867df0987070

See more details on using hashes here.

File details

Details for the file tensogram-0.19.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tensogram-0.19.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 533083f5dcccf31b9ed82ad33a60f82ed7f21a37310749c4e9fe28706de3b632
MD5 25d8f8cf5ad453bcd8811946beb67223
BLAKE2b-256 351dca7888ac82495dad5cbce87c7af8184f83e64074d2203245655c47d4608e

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