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

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

tensogram-0.21.0-cp314-cp314t-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

tensogram-0.21.0-cp314-cp314-manylinux_2_28_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

tensogram-0.21.0-cp314-cp314-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

tensogram-0.21.0-cp313-cp313t-manylinux_2_28_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ x86-64

tensogram-0.21.0-cp313-cp313t-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

tensogram-0.21.0-cp313-cp313-manylinux_2_28_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

tensogram-0.21.0-cp313-cp313-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

tensogram-0.21.0-cp312-cp312-manylinux_2_28_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

tensogram-0.21.0-cp312-cp312-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

tensogram-0.21.0-cp311-cp311-manylinux_2_28_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

tensogram-0.21.0-cp311-cp311-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

tensogram-0.21.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.21.0-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.21.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36dcecda3c87f9dcfc77d6fb57cce6a6d6f39c684eda267911d3d69912210f79
MD5 786328d2a03f9d120d53b1302f06fbb4
BLAKE2b-256 9643a00d3f3a7fa5bbcb32d7885273e3b54d9b3bfa693bf0bbccaab190697f37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8baca498b02cfbf31b94baeb0417617d5ac5d3aa8f1de229294da26328ee35a9
MD5 e0e8e8c7f1e5ba9e431aff8939d0122c
BLAKE2b-256 03c6eede5e891e53caab2173800b6e507ff1e829a12656bf3625b7cdd2e98f51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2779859f1bff19bf132a862a379124e427c9f04fb307fc6a004d045397e9b8b0
MD5 2d2ac1ada0abb81d63fb5e2b9fc9b22b
BLAKE2b-256 58e10b56a58eb775eed1dd34d337c5cf6dcae9db290f0e2c548912ddc875e769

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d0090193e46512de580951bf17a8f1568f5792049ad6195a0ba41ebb9e5ddae3
MD5 9c404f7294bc2bd7c3181cfd51cc0fce
BLAKE2b-256 8f3b892f4a22ab80118ea7323671e1335adb80f75fc99f0b2a04d27decc66f53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 45222031ec643e1bd5f06f69f9303b0ddbc72c54869110a4b48ecdd09f04a722
MD5 eb91a60d7eba7f7aaf9ab93d4023d362
BLAKE2b-256 abdf694abc3a0ccd3e5c4ed6177c3a5ea66eebd1ec522dd16e63100922e19de8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c6f20caa9ee18d8e645d425bd260fd75a6b7d2944eb387ad7fd32ff199cf165
MD5 2965677f176247882736cf9eb41cb68a
BLAKE2b-256 33f3086d39e78b8e5ac1eb5c52eca5e2a2088ea719dadf8dd3438dacea14bd82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e451c500e31b70d7062e24fc3052be753e3ae6f3ab602d8fda4583eeeab5ac76
MD5 ae7615b621dd617d2d5eb206b60edf6b
BLAKE2b-256 d45d1ef643f17441f22163529f8ed68e6cb6dfbd6db672cf32330fed8eecfd95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c12694f5cacab8ee53baf7e9aa661b23048679c7a9844f5071c7f40a6b90e6c2
MD5 d1cbc373f384f740ba02cc8a06d1484c
BLAKE2b-256 9faf89b82719b55c783b80502ce3b961c6ed59ca878612dd299d4381ff60f7c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8140839cfd0c3fd4d49ba23944b98946e49e8b5650f2bc92d62e2db50c8ce85b
MD5 9084d32aa03dbca43ed4db73a0bfa481
BLAKE2b-256 42fd1f15621b3052061904bf8b077e3b479233f562c44f7bc9787a2fcc0ca5e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a2b608d6dac8f5d0370aba719698e83a02ef864a8e4b66649adad619f7e78aa3
MD5 3cef1c7162289564e05eb174404e9147
BLAKE2b-256 b2cf80a33b519b82e5a87827307258e557181e4b71ea5c1452bc2ae739f38f8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ef076c58bff687a825ddeec8c0b0d584076e76ae3117458caf9865349b8507f4
MD5 1f22cea87c549aa3644cf4b0bbe804bc
BLAKE2b-256 b5c0f3fe7c7a23b96a2eae19e2a366f8039f72ed9efae38df0ec9cd7685683f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa8b38769d772fd60aad2d17622227feeede7a9dd03bbf472712bf3821278820
MD5 5ba00f9bea8d9bdd4f0ed8489925d80b
BLAKE2b-256 44d2988a2b23a1a84370af74876cbe12c3ab7e3ca811870962ca44ba5f267c56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7f26ec5afa812c482f86d5f19ab2c5a42d2b9f41f113a3740f6fc00490c2044e
MD5 5f1ba953239962b69313e8945f3f7a17
BLAKE2b-256 97139ed9bca2cbb85ba5e728aef1db88d228a11942c5d4d612dfd56840bc90c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 52a12492c1e57a41046182dde94cdb79b840408dc0483e95c86d0f7ccc8ad691
MD5 041b3270a4069d6c2c3eff65fb4ff1ec
BLAKE2b-256 8b60e2f35489d1fd0d4d411d2003e1e8fc9ed43a833069f93114c06c7dda81ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d734d2c821962a52187534bfff308e9b9d4afdb6718880e078f43dae5dc2e89
MD5 8e928ff0bfe10e77efc1b49f9d993781
BLAKE2b-256 2c591c317a52101665db961fd4b6376b4ab71ba2236904a784f4bad6305fd714

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e0484295bf4cf9df7abd2949016f5141828e3fc0827e35230e15252f1b00082b
MD5 28c5ee86d98e51ce9bdaa1abb9c9db05
BLAKE2b-256 2ba8a5dffa0ed50f4244880191ded2bf8ea4a161392a0d08e7eaeda831f3c0b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 da837942d2178ad82ecd833c2698631b48aa96fa4f089797230648521bbd13bf
MD5 73eedfbd1064e9a704da39fd258723ef
BLAKE2b-256 f3c781a057357ff4f61bf103db12b670dfcb2f322909162b43e13321254e7ecb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.21.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 796f212f6710308eeadc39c5e044b20c36aac0ec32d07360f819e28f803b5047
MD5 5bb92acd3124e943d462f9abb9f22477
BLAKE2b-256 57fef20543fb6c24b2b93462902cc38c5aed9b8306f05d5882a8a4f7737c49c7

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