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.20.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.20.0-cp314-cp314t-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

tensogram-0.20.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.20.0-cp314-cp314-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

tensogram-0.20.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.20.0-cp313-cp313t-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

tensogram-0.20.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.20.0-cp313-cp313-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

tensogram-0.20.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.20.0-cp312-cp312-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

tensogram-0.20.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.20.0-cp311-cp311-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

tensogram-0.20.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.20.0-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tensogram-0.20.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1d80fc39defd9e5028c54e8890e531d963cfee7457126f40663d889bf5666325
MD5 3e9fc09a7398b59802fd7a09e8886352
BLAKE2b-256 455a048a8a490896f053a742994e1df2cd55a10dd1248f6b4d2d4b04e3aa98f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8cdaed3bf55909992fa18e2a01437eea5d5eca7e6bb47f70d211be8faedbf355
MD5 076399674826d5bb077bdf5e4e84605d
BLAKE2b-256 d584c28a73ddc2593d93df58f076f8a8c4977ecdeb28822038b5b48b7991df2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37fb4ab6756653e7c5e8dc135f13d2a90d3d80c7b82619786d29042a8b49817e
MD5 4d0918321d0ec973db70e929b4118b2b
BLAKE2b-256 44139b91384226bab15e467976852a5bd0164f495e21312bb3b9cfec09dadf18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b23ec5c9103ac73cf227ae5290392a072fc41a948adc64e6a5faacda5d1701d4
MD5 47741451c73418eee08a8aaeb2f01b45
BLAKE2b-256 5d15b951f0e432ca0e419c9d7a7821ae2d04608a6a69b27f4d1edc9c1e6f0cc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 546f130126a24e33d7afc17528763c5638ee06c7f4d28377a447e23ee616cd5d
MD5 be9b691a4da323315423e9293af66315
BLAKE2b-256 01c9b5203db8383ebde17811a575c8bc3f240b8bc3dee7349513ace2ccc13d39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f86ee0918959d946e417de4bf750836c6c19d54c56f42d4f07a737bad9321006
MD5 8f558aa572285e5cad70f7c6e8485594
BLAKE2b-256 ee9ad62d2c3899ff4d1605633aeeabcef97f65bf8bed0ff2a23fcfc965b8668a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a918598b04f253c1c88224fc33f10179f8b2fcdde466363c09b1555725f93112
MD5 57177633ad9491711ecdf4d14dc67735
BLAKE2b-256 a4720243ed43cbd7e648a4b3f480d481d961a3a04710aa45b3493566187c6d98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 539460cae37078ddd01fb347fc3c486425b5213139f94f87e68e84ffb267bcc9
MD5 5f2366b1918f05f61bd7cca69d0504ce
BLAKE2b-256 22cf385ef6394007d6554b3a48b599a4440a54a70039f852c1103bb96547ebe9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a949115d4e7857381686868ec725da40883327c243e0e90d668c536781258bd9
MD5 b99a849b831183354727d0a0a104e433
BLAKE2b-256 09acef2e8420ddf9905430c6d8f0a5e8cd5c9d05b7641bc099a5f4a1f168e1e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 64d340b36e3a20f7fe7b09a1cc851628fd033535f7b7901521e6865b0596e87e
MD5 f6570cc010d04b84191da399ee89149f
BLAKE2b-256 3a7c2bda7d7ad12edeeaee228c38ed59e64e619e52e5830e6c679c5eba1ddbc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 577161570dc410f63b253260cd01d55cfbf6ce77635a5678e77fffe209f7826c
MD5 baa2f470f2d202d9bb14681a718fb0b6
BLAKE2b-256 36676eb5f5c78860a51522ff496e3cafbca3c7dd09da4c54379c790a9e6b2e57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23bc51e6d04ee31f7e2f955635399436f28d36d25b0dd3395cb837fff07f7ba8
MD5 70c9f4dda2f5bc728234a120a7a98d02
BLAKE2b-256 d45dad0585e6ba01ad51aeaae3785585aebbe6f3466b42a2d3f2152c1f739969

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2b4f7a9bd72e29e178c705bf14a42fdc2284c0c56359c7f47bd421f781ece900
MD5 6f8fbe2f53f0b8825fee220f530ac509
BLAKE2b-256 2b3a47045677b2a46a0f2cb13f36446d718cc26534de3577d9ce8ecabbd7b1be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6c365f939bf66807cd73ed2004824fc7f3adf9086e8ba53f86d9b2a68966fbc4
MD5 6dcd724da7aa8fadcf334dd698da066b
BLAKE2b-256 277c24d66d448c76675367efa25d8879c19f3f1643f32f43f1e8eac970a28195

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae5506c4343d8728cb3c00eb0381e79543f4e904449f0c1dc99a0220f8f4ace9
MD5 f61e4917b578617333ec2508a9b0df78
BLAKE2b-256 0f531f32c57637dbeb3a148225af01081787612f95e43d68f80e906f4fa1d434

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c4e9e3495c0c711a56e0bbd01f882959afa20301acbe2b6315f852247ead13d
MD5 75878b0223c08f66379d31f3a89f2115
BLAKE2b-256 33b0dad561af0a72636cfbcec17e17b1ee2d1403d1e1635fafed77b921fa5ebf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3ecd8b912e553267982f347290023d7501f13059a2373a2f9b5404357c8e6ce1
MD5 aebeb3565854e821c5d9c2aa276b25d0
BLAKE2b-256 afa4666dcb5ecc32d84e5688d869aa87cfc2d0d2782bb727d2dc8aabd130a4f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensogram-0.20.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6fd883487bda8c9aa943ac35a1b3048b3bb0ef3d562d8968a2c54ca641e2a196
MD5 63d004fb0d87178cf87381c33d89db33
BLAKE2b-256 7c06a0ced110a786d5c3aa77e94ace33a10509b4df3288805019cae2a39217c8

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