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

Uploaded CPython 3.14tmanylinux: glibc 2.39+ ARM64

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

tensogram-0.18.1-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.1-cp314-cp314-manylinux_2_39_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

tensogram-0.18.1-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.1-cp313-cp313t-manylinux_2_39_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.39+ ARM64

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

tensogram-0.18.1-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.1-cp313-cp313-manylinux_2_39_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

tensogram-0.18.1-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.1-cp312-cp312-manylinux_2_39_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

tensogram-0.18.1-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.1-cp311-cp311-manylinux_2_39_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

tensogram-0.18.1-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.1-cp314-cp314t-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.1-cp314-cp314t-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 9cf2a41fb4649e9ab8646dd186555c06705390eba7470d81ae26e20bb786c208
MD5 a2236436860c679f51d845db2add370c
BLAKE2b-256 7688fc268a51d82eee902801b9f9777f34a76b94cec15450e3dc0c02aafd0f50

See more details on using hashes here.

File details

Details for the file tensogram-0.18.1-cp314-cp314t-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.1-cp314-cp314t-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 d158edf4e5554a84f038bbe3d9d0af7e7e77da2b8c77cb1860090c86dc803fb9
MD5 f37022484d71240d038077992cf97222
BLAKE2b-256 1a1160c75dd7f624d73018809aaca3d560a2b8daa7568b6950bcd00017718644

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34e3af116ed447e483c60160b144adba43c0c5ba5e8b20aefffd8a1fa7177540
MD5 0747ac886ce17462f78e419d15c2fbf5
BLAKE2b-256 784b2602a55fa5f763e322722eabe31a9fe52c8e5dd7cc8dcf321710e74d8055

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 61471e48380737e8dedd9685bf75d172ac51fce78fbc4f0b76be4ad7e31a0f52
MD5 04f2809726189420d3d1049099fea1f7
BLAKE2b-256 67629d137511a8ecf3978757de325da684d178c63131822ac16b83cc4f96fe12

See more details on using hashes here.

File details

Details for the file tensogram-0.18.1-cp314-cp314-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.1-cp314-cp314-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 a1a7870e86667cd742564d4e5fee48c1529ac12ff09538c1077b28f3ec1f4c52
MD5 15d447e6c04abf7a96f273a72fca36df
BLAKE2b-256 772b28772570e79f09127094b9f3533b32bed193043a68fcb372edfcde90fa25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cfef9bc8eb32b87b442d798f9eee9804f97b4cd34e55766cb71d571f6a04901
MD5 3a9acaa863244a1a5df0f347d5f38a1a
BLAKE2b-256 ea78d489bad71c0416abe97d5c875f2fcb7d03168ee41eab5c8876abac37c9c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp313-cp313t-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 caf9c2ee214032adafa212c574ecf570b519cc4890f88a4eb23ce323413f1e3f
MD5 28a9eb24921a3f7e8bf6054f0f9b3ebf
BLAKE2b-256 291b191a6c3962839f128c4e9dc7d00e0559406c35838e2c6cbfbe75ccd51205

See more details on using hashes here.

File details

Details for the file tensogram-0.18.1-cp313-cp313t-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.1-cp313-cp313t-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 39ba656bdf0cfa30767a6e4c34223b2067b3656634911ed5ac9de7ed6b6d95d1
MD5 1e5bf6528fd834d3e3b427e445d9bb0a
BLAKE2b-256 3e5382e800ee81e486558de60cfcdffc282e254a0f71c93bdef37897192adcc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05c2189c6237ef7689d2ab312c9a9838ad555b59026dd521710bcd4aec65b0fe
MD5 46f65603ddf94c0b3aa718dc7bbd4f6c
BLAKE2b-256 ebaf6db14294aafdab65ab149f7a8b41876bb638a87563b5cefde43980460f71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c12fad4e24632f04576979f67c008d2c6b67a53cd41ca5b447b6b312548071da
MD5 fc6a68016f0e472c7719c83898613c4b
BLAKE2b-256 3ad02e43a7ea1876cc1b0be36f51a8cce2c926db0347068057434106f625b0c0

See more details on using hashes here.

File details

Details for the file tensogram-0.18.1-cp313-cp313-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.1-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 d31092721dd6bcc28eef916714a51915dcf32922abaf6e6f570d7d8bf98cb577
MD5 35c569e8b354055033248cc763b89e2d
BLAKE2b-256 e83af2e649c4330e9c75d74d7913dcb7cce316b7a08aa804d410d42cce65694d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e73963706666750c64b659b4c9b67918d9d3b57fce38d004136efaf95ff038a
MD5 c2ab107cfca130e1b317820c28e63465
BLAKE2b-256 5f8efab70aee320fd5636ba86e0d0cef7ab4fe76af19cbd9e2629742dcd36d06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 30d824be78a3d6d7bc8ee025659638c1630d98976e5e87fb382ec296287436fb
MD5 ba1bd9282b77d266b8f0df4e6f2b58a9
BLAKE2b-256 461c14c685ca6dafd0fb566e6e0cc0df358fd0593af25d55b2bd632ff78900df

See more details on using hashes here.

File details

Details for the file tensogram-0.18.1-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.1-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 2f8d0661e8d99b460314763b9000d96a865180ffc394a220deb86554263c937e
MD5 41d334102dc7e900930f08bba8b4c8a2
BLAKE2b-256 f6e0a70cb1627df120994156ded0725f62d4726400a5559204c24366389c4907

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fd8952a8ca59bfd71211f3f65e08f9ade146782c1cd357593be1e6171a806667
MD5 8eddd5b9dbf43b6a61a33db8e68b59a8
BLAKE2b-256 d33f7bb5696b36f8c3e44fdfbb888db35efe0bdb1222ae1753db7081db3aedd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 a296768ccef616819e27cc3ed2367170ffca9d58601c37b912b40073f3c2f100
MD5 3471c9928df3f690c73876121d9ffa59
BLAKE2b-256 24428f4847f32b097d4b01b4308c389257596bfc005aedd247e58c4c730e14a2

See more details on using hashes here.

File details

Details for the file tensogram-0.18.1-cp311-cp311-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for tensogram-0.18.1-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 1b435580a97d72f9a28a339788978a3227a0e22b64eab89ee3dc71163e681ffc
MD5 4642497bdfa85db547171a58d28a536f
BLAKE2b-256 680fab76392b0e4198d3edd4d0eacb5c39030412010120a8d2fc4f461754e8fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.18.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab8609c278c7b35f51d98562557ca7d77a9d85549862db702e3082dc6c659c73
MD5 1456e89ada1c6cfa5efa990f936075f5
BLAKE2b-256 ced219158f3354413cbb196437eb02028f75fc31cfec1b597144cc7a19254e10

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