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.22.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.22.0-cp314-cp314t-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

tensogram-0.22.0-cp314-cp314t-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

tensogram-0.22.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.22.0-cp314-cp314-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

tensogram-0.22.0-cp314-cp314-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

tensogram-0.22.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.22.0-cp313-cp313t-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

tensogram-0.22.0-cp313-cp313t-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

tensogram-0.22.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.22.0-cp313-cp313-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

tensogram-0.22.0-cp313-cp313-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tensogram-0.22.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.22.0-cp312-cp312-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

tensogram-0.22.0-cp312-cp312-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tensogram-0.22.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.22.0-cp311-cp311-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

tensogram-0.22.0-cp311-cp311-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a0843fb433cb2399454c9698a6a5432f97f4305c7523fc029a06f41a871291ae
MD5 b165b29236a9b4401f4767d676268e0d
BLAKE2b-256 42251c0ca336896b4b285753687aee65926d741f870706a94581ca53b50fc6ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 05f92462d4fbed41c53b385d4e59b90bd9f85e4d98c1bb9ddcf42fdfe9c05013
MD5 b77ef861fa612ec61a3a57487551bfc4
BLAKE2b-256 3c3205a8e90015b1fb9efab4657cafdcc8339cfde01a7725ef415907d3e395fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae8f609bc2e2a3bad9225b81200a1eee4164775629160b87028e7bb4b9f31e1b
MD5 f6047b9dabe8e95d7bf20f39a657fbff
BLAKE2b-256 76740ffee1efba1fe30e9a3d57878aa30f50e4158c9e1620a98fe02ca52c486d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b46f44acf719f6243c58ba621138aa28a9900f2422c838101523d75ee543a8f2
MD5 cebb3c7d293287d607eaef8a3b092bd8
BLAKE2b-256 19a5d3065eae12c92a12a7f9ca98e850671f35fc6ce950b4539dc7a27142e5d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c678c5f23f7883f6aa27bbeb6e0147e4efad418bc3e9872b4254576575bc15d2
MD5 4cd7c6110ed74993bf7f7853c1d671b6
BLAKE2b-256 7cb04b3eb35446e6c29bfd1b8c267d2128e764aa7a8136fa6a73dc7a0513514c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2f1b66a07ed98f417f711dfc08923a680c79b25fb1fc786dc4cee5bb1443c88
MD5 475708004a2425e2c4e2ce4b853df354
BLAKE2b-256 ca5ade37445c32b5a58125b91c41cb95757175903f20491e19e5eff2b03ebb78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ac670c29cabe1dc884d8271f5c810154aa67bab98d58d13c210a1a536fd938f
MD5 0e5d8dee9a5f3102e77e2197cda06287
BLAKE2b-256 65e6ddfc78fe8bf522a23f95c3858ea29b11d8953150f20806542d091b4aebcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 060d4e3f9e4ada44eb2e74ea5ba18ce0294d2d5d07620bb27f63630f65cb2da8
MD5 b6c77a7afb9c9913a478066634ff9976
BLAKE2b-256 01ac73861a7bedfa5170feb544b85b5bf43e44d59c6f4c941afb1a3cba77d91f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f9ba17a4484ca76ef79c68303256d22e838ea387e6c978a2a015b3dc4757c38
MD5 3c9948dfa965a2ed04f6bd49f0e77c47
BLAKE2b-256 b0e3dd7efc869c907d522b92960d80cc4d758dcdaf8399e9690615a3edfb988d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b6392fa09b1be402dea21ee0a740820db483f561e522c7c442286c40f556ffda
MD5 f46380dcd3349813bd088cf3e98faa46
BLAKE2b-256 8528de4cf2ae4ea78ca7ef9e61f5f45e38c3b8dab7249d507cb40604c664a6e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a71a71a30387c9362690bf80ad483d6b1dbc3e160586c862947897a7234136d9
MD5 d02a474024c5970034990944258a58c7
BLAKE2b-256 e0afdae93a416b1a8b30caffebaabda7ed7705a29a4f582bd770d35e323f5558

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7183de2c1c104e881d71c74395faf8daf5c8d092329c2ecf6c6e9f320ca67a5f
MD5 9dc40b8be253df65eae655223e82e4e3
BLAKE2b-256 d0256828ccc7bb97192381ae9aea1444e73bc955dcb317e5a43914ada1fca914

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 937395dfa9e77a413e7cbbeda4cfdf0ada0953ea6e05539d5c2d235aba9bca7a
MD5 0c095a41097db544e90bb1cdc94b5abf
BLAKE2b-256 95ee0d4cc45bbe68b9c4d7f93add2fa31e1f0da79992a41485749242ee35574b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d5c20a24b365bdebe6848a951a0b8e55220ba9865899cf433f3baf0c55716900
MD5 a4f7dfd7697a285541dfaa6997c59c39
BLAKE2b-256 a0100ed693058cfe2fe1a61777ce01e181d5b30a78b18672d1a981634349e433

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f30d6b39e2c0cda6e2fbee250bb513c6686e11ad8d7475b07d593378d1599d0c
MD5 35e28ac00ecaace1592e24deaf74220f
BLAKE2b-256 e93b00dceccc846ef675a4e82f344aec62513d39262e37b2a1511f07bb04cfb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 852f4f914a5d6bd7132aa1255ba79ecd33ee0e644a2193b96f5b359546399ba8
MD5 7393c02246aa78c5b19ad1041c8e518b
BLAKE2b-256 ada0c8ee83e9a41c5596d0acf1e039443f8e4f8d22a5c3d89e8189d3b30e1e6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e182a1c7245f5e3c62b214167978c5cb998001353b6beb5c2e2852cd23d32718
MD5 b248a71fbef18072ab9e8ff6d8394f52
BLAKE2b-256 a6f559aaa7206fce30d96c482ef3a68360a8c5051fb5aaae8eadf3e9c12dea9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.22.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fab906e19df817a9cad76f3bead775c0e4a93077afabf004e19b5a71422f3ce3
MD5 2990b50a8099885d6232e5c08834cc75
BLAKE2b-256 eb6919a8d85a1bb7cce5dd3d095604e96123c70913a30323d4984aee3bbbd520

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