Skip to main content

safestructures

What is safestructures?

safestructures is a Python package based on safetensors to serialize general data structures. It uses safetensors to store tensors and uses its metadata to store the schema of the original data structure as well as other basic data types.

safetensors can be more preferred than pickle when saving tensors, especially for safety reasons. See huggingface/safetensors for more details.

safetensors only stores tensors. safestructures extends safetensors by storing information of the original data structure containing tensors as well as other data types. It utilizes a plugin architecture so that projects that contain custom types can serialize and deserialize their custom data.

Why safestructures?

ML models in practice deal with more than just tensors. Tensors can be passed between layers or outputted using data containers. Other data types are used as well to modify layer behavior.

To have better reproducibility and tracking, we may need to store and load model inputs and outputs, as well as intermediate layer inputs and output in a safe manner. safetensors greatly helps on the tensor side, while safestructures helps with the rest.

Installation and requirements

safestructures requires Python 3.10 and above.

To install, simply run

pip install safestructures

This will also install the minimum dependencies, namely safetensors and numpy.

As for ML / tensor frameworks, safestructures expects numpy at minimum. To use safestructures's PyTorch, TensorFlow, and JAX capabilities, the respective framework must be installed separately.

Usage and plugins

See the usage and plugins guide readmes, or refer to the docs

Support

Currently, safestructures supports out of the box:

  • All of Python's built-in data containers and data types.
  • dataclasses.dataclass objects.
  • PyTorch tensors via safetensors.
  • TensorFlow 2 tensors via safetensors.
  • JAX tensors via safetensors.

For maximum compatibility with NumPy, all float tensors are stored in FP32.

safestructures aims to cover the same frameworks as safetensors, but for initial release it does not support:

  • collections - Please comment on this issue to request support.
  • PaddlePaddle - Please comment on this issue to request support.
  • MLX - Please comment on this issue to request support.

However, safestructures supports plugins in case there is a type it does not support.

Metadata

Release files for safestructures 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for safestructures 1.0.0
File Size Uploaded
safestructures-1.0.0.tar.gz 27.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for safestructures 1.0.0
File Interpreter ABI Platform
safestructures-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 48.0 kB

Release files / safestructures-1.0.0.tar.gz

Download URL safestructures-1.0.0.tar.gz
Size 27.7 kB
Tags Source
SHA-256 checksum
How to use checksums
da6d5e5f6004800d7a475ca005dc78c63fa8d7fc602ec22c1a62cf664910ddf0
BLAKE2b-256 checksum
How to use checksums
31c93f6820a82ca807009a620d021837237d509a4dacd604c5252573454a8634
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release files / safestructures-1.0.0-py3-none-any.whl

Download URL safestructures-1.0.0-py3-none-any.whl
Size 20.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cfbe357602a997f97cf79d7e9138c2625efad08e7c2a3218192c0d989fbc4d83
BLAKE2b-256 checksum
How to use checksums
2eb3f6bc453d10dc015c6c0ec623526a15ffdecb395ce104d63d571fc19e95d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page