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

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

tensogram-0.24.0-cp314-cp314t-macosx_13_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

tensogram-0.24.0-cp314-cp314-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

tensogram-0.24.0-cp314-cp314-macosx_13_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.14macOS 13.0+ ARM64

tensogram-0.24.0-cp313-cp313t-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

tensogram-0.24.0-cp313-cp313t-macosx_13_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.13tmacOS 13.0+ ARM64

tensogram-0.24.0-cp313-cp313-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

tensogram-0.24.0-cp313-cp313-macosx_13_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

tensogram-0.24.0-cp312-cp312-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

tensogram-0.24.0-cp312-cp312-macosx_13_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

tensogram-0.24.0-cp311-cp311-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

tensogram-0.24.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.24.0-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.24.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d45edd29ae8cce60dd29f1d357b423f7f53ca7f4a53640e998a3f063ee2edbad
MD5 991b62833391e3baf2962769598912d9
BLAKE2b-256 f4f34838aa339a76675214e18da8b25ce038b18ffe75b4fd3c150524a3d84c29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 82047ea25776456dc2567d71ac4d6e41aad2e753c829b966f3594830d5fa9e17
MD5 29bd5ef0aa6a4e59f074856ba3b51dc3
BLAKE2b-256 0737deb58c33b58c0017f1f9b0fe6ee47a601a1b28afa9017a8c0416ccfa4847

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e5c6b873c3698332baeb0ff6e662a4ccdbc68304f10135ad8ee4af03c3d82032
MD5 4852550fae286491fe95cadb2987ff2b
BLAKE2b-256 9678145d6938106b459c49a4e0fbc0a6fa434c6c977c516f3c5ac5e03a6ebe84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd6b46be0a7bd35c89d19815d64a5f7262fd205e3fa99466d8b965d3247772b2
MD5 76a59ae5294ad9c3c538f31d4afb04a4
BLAKE2b-256 5e3f807f7c0a93bef4d4430ba30aee37dcf7b0ab3cef33311cf3ad5ca2309f9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bb256750e1c948cc8f7f60f794df8123190833fd1be1ee36aae390bcac8d0157
MD5 91fbca0a87cd9a8d5e07101b7a2d5af7
BLAKE2b-256 a3ec9d6ac329fd5355afcf28f6c823488858c1e55a94dd47819c8b3bc894208f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp314-cp314-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 24fa8fa7c65c907ba0a2ca8271e83185783b7b2079766677be06ffaf6170cd23
MD5 bb84b1513ea81ffd83794e311a5c40b5
BLAKE2b-256 5d57d849f97d09758418ec713afe6aa72fcc08debf6a887ac9cb0d5ff4e0d537

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 208e15819c2274d7a559b26c0a7f18751a9716a67a0c4024aea1f0ce52c5eeda
MD5 91c1de5aeea39a5eaacfa93315027bd0
BLAKE2b-256 0c87b4d9b90326cf58a21bd2539809788683bfc697bce6b43774cdaf437683b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be82d37b699ef683c18a7ea0eb14b66ffee3541bd86d4d6c94a35161c9354dbd
MD5 e1d5d3f8c803589d3bcbc406d1fb6b8f
BLAKE2b-256 b3cabece17a69de3ce9bc0f7fc79f7efb650096c0934426763369dc5223994d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp313-cp313t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 641266b7a37d3aec07083cd628ecbe33fb4cb0b8fd7de5790b0eeb580ce06342
MD5 5fd04ee8eceec5807a155d556d69c1d5
BLAKE2b-256 fc383dae1da2b15fc3903980f7350ad30f63b2c0633a6107388151cbfd41d5ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 16e1693f578adec2aac741ba69f5223ccd6e52cd47fa81478c5a83b7549318ab
MD5 c8093ac672adcf6c197d5e54d7be9dfa
BLAKE2b-256 ef5e28fad0d08cf9468980d3ff94cd4d22bfa267f8204f19510faf939a969b9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8d0bc14923c7a62675bf5a19cf8e8ebee32bd592d60ff8f5d5739a7307376354
MD5 907c422f574b230f4a36ef6ab63ea738
BLAKE2b-256 6ee4cbab4db6daa4382efefc664ac58d7d9f0fd82fbe5e6c712fe9fd67147d6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6eed018c41f8a978d88fa5b2c76207e8958a721e2180912771619c0cc3a3f827
MD5 e86e249ff61ea0d1a53ff7f7716209f1
BLAKE2b-256 7384f897df4c351896d0b6d15b0e36274e2ea0f76b86e4209b727c9db8e253b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4e9156a652e3658fcebd83c4bb85027f8afdd2bbce41b6f9d67c6270afcec5ec
MD5 477e4dc7682a315375d7cbdf2e0c21dd
BLAKE2b-256 1854dfa2714f81781f6ea7b38f1f4821fcbf5b3e512705650644db5c59c56876

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 42d9eca0d04c2c70f102eb7fa69d6e66775c22e08c2cd29e1a65bc12e33c5ba1
MD5 1913729c55609f89119dd1d614f2233f
BLAKE2b-256 10adb9b98aa16717cf9565fe24e071b7afdb6b8400fef85964f604d5819a3907

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 1c58e60d2708138afd48b3cc982832a6e1842189b94911e6400b5b1f76966221
MD5 db7596dba5bd2715e2d944ed1b982e56
BLAKE2b-256 1dc96b18c2ff67947dcb50aef653addf00b8f99f7b40fedc385844a769a05aa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d6566fadaa22f4c7cc66d60704c746397558d4ea35e85b937f19cb956d89229e
MD5 43880ed8a3eba256ce1b839922cef6b9
BLAKE2b-256 8a05619ac1bb9e13c6da8e15cd47b01a82231d7a5eff81df96fba7e38ce17800

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bff2407c6ec9d1e800c24731d1020bf75655859cb88f940209d39ec421e25bb1
MD5 c6204916d89620de48440f5bbd4e1561
BLAKE2b-256 034d56264c3a02bfff175e929ba16d54957f1c7e5a569fbf5f5bbf9910000c5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.24.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 98fb061a6deeefe4166b3e3fe33457b74053af08fceb2c900cfefd6097dc2ed6
MD5 f04ed8a6360ce2fa3d6d852f4a8406fa
BLAKE2b-256 daa6aaf350817ed7792910816d5c7da01038345bdcc825a62f1e6aeea39b250b

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