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

Uploaded CPython 3.14tmanylinux: glibc 2.39+ x86-64

tensogram-0.18.0-cp314-cp314t-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

tensogram-0.18.0-cp314-cp314-manylinux_2_39_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

tensogram-0.18.0-cp314-cp314-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

tensogram-0.18.0-cp313-cp313t-manylinux_2_39_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.39+ x86-64

tensogram-0.18.0-cp313-cp313t-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

tensogram-0.18.0-cp313-cp313-manylinux_2_39_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

tensogram-0.18.0-cp313-cp313-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tensogram-0.18.0-cp312-cp312-manylinux_2_39_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

tensogram-0.18.0-cp312-cp312-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tensogram-0.18.0-cp311-cp311-manylinux_2_39_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

tensogram-0.18.0-cp311-cp311-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file tensogram-0.18.0-cp314-cp314t-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.0-cp314-cp314t-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 f0fdd3e0c404224c6a9fc5cbfae8607f2d0552400cdc44f633c9b1f5ab81002d
MD5 70cda1a12fba54e89a8f47a4aa9134d6
BLAKE2b-256 3441e339094201683f00b8170689e83b4c5ad9334f72f6785bd84cebe78ce14e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37109fb1f042a382d7211686d235631de6191005eadb0044c8e8d866340bdb9a
MD5 138471d23c992d91fcc8c557169ffc46
BLAKE2b-256 7b22560da9d2f4534c46125b1bfbcd0c8cf6f62fbaab4843fddfa491f41edee2

See more details on using hashes here.

File details

Details for the file tensogram-0.18.0-cp314-cp314-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.0-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 8989c71d6adf806952c85657bb114d9c75aba2e4d7583d67e5ff9334b62238f7
MD5 a1945286e0af636c000e669d66fb1c84
BLAKE2b-256 ce9ffa8a3ac78cb033e0d124146a1887f8a8e86e4842387f70e9d2f5a672b835

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 968544bf9a9ca33802aa3525224fff19e60233a63710325c4e6e5cc91a9705ec
MD5 e693d73474bc62ca50bc0cf85e2ca2b0
BLAKE2b-256 d471ec87dd5885075ec6058d017de3d1b97a8ca40c389e5bbae7e4e89a624a4b

See more details on using hashes here.

File details

Details for the file tensogram-0.18.0-cp313-cp313t-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.0-cp313-cp313t-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 d35ed71b5abd9770930745f034fae21bb6f3ae5fc2b6eae52b5f233d3d538713
MD5 67d64f35ba0d0eb900501031af1545e0
BLAKE2b-256 be226af94ba2299e516db2a885259e5c8b8874e2469c7f1f09e80a5f593e5a3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dba2a1aeb3de3fc7ebffd026033f0aa342fb4e2aae63ec156275a254802eee1e
MD5 1e4b4094fc77894871893b669a2da242
BLAKE2b-256 fcb44172222418190ea2d3f2498b1845a3137a7766cf1cbe8ca5ffdb6ccbe75a

See more details on using hashes here.

File details

Details for the file tensogram-0.18.0-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.0-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 49dde85280ee783933a2a4be0cf36921c458b18602a29d5872cd8f3e31bbbc78
MD5 1f1592395088e309169e8d64016aba76
BLAKE2b-256 c1ef010504f307e5ddb5bb846789cbc672a23b386a430474c246ff95e5cf0335

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 faf0ab4dec0f25c4c434e179c8c6ee62c846afbe3555b985c0198398db0672cf
MD5 5f68bbefae3614c39d312cfc7785c171
BLAKE2b-256 5f94b8d56dd04a58878810214d39b3d25b3c72458231bccc93d4efb2b842342c

See more details on using hashes here.

File details

Details for the file tensogram-0.18.0-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.0-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 6f6a30783b88cd7d726a9cddd93343839abc7136474a93c9e50c711215416c62
MD5 1a700d6b578eee2ea5089fe03b8e323c
BLAKE2b-256 66f78d2de79a11c86804647c992286afb2ec367527be41a648d3f6d1ca6257e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7181eb5872d176f6ed22a0c0e0eee8001cd74ddec99631d4f664c288ff4bf0ee
MD5 8dd2c95295d1ecc55a80c13ac2732317
BLAKE2b-256 2ab3f12ae8ee298943225999837a4b2f23f00f066eae3fa9088d9419861364c6

See more details on using hashes here.

File details

Details for the file tensogram-0.18.0-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.0-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 7137d61ba0c01ec4e0f1e08ae8817ba6181d0a224dde5777cbb8b0eb117de397
MD5 8d9cf8a1cf16ae873c12b23d20d007c0
BLAKE2b-256 4d8a874a09667570f4cf3ec217ef1d82fe7bab78e55b26cc915bc52e3b50fb55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0114cca8fcc3063934f6d74a14b055ec465014919309cb430951067456d6033a
MD5 fa9cb4f1b1ac2d1c0c9535e0a2f05a03
BLAKE2b-256 0288e12e7b7ca445d2ae85a1eec6c83b02f252a0634171c7176993433532e839

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