Skip to main content

seedee

A data format for n-dimensional arrays.

This project is in an early stage of development and should be used with caution

Installation

Python

Pre-built Python wheels can be installed via pip:

python3 -m pip install seedee

To build a wheel yourself, e.g., if your platform is not supported by the pre-built wheels, download the latest release and extract it. Inside the source directory, run:

$ cmake -S . -B build -DBUILD_PYTHON=ON -DCMAKE_BUILD_TYPE=Release
$ cmake --build build --target python-wheel --verbose

Building requires cmake version 3.13 or newer.

If everything works, the wheel is created in the build/python/dist/ subdirectory and can be installed via pip.

C/C++

To build and install the C/C++ libraries, run:

$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=path/to/install/dir
$ cmake --build build --target seedee --verbose
$ cmake --install build

Building requires cmake version 3.13 or newer.

Usage example

Python

import numpy as np
import seedee

# Create a numpy array of some dimension, shape, and dtype
array = np.arange(48).reshape((6, 8)).astype("uint16")

# Serialize the array using the bitshuffle+lz4 compression method
buffer, meta = seedee.serialize(array, seedee.COMPRESSION_BITSHUFFLE)
# buffer is a 1D numpy array of type uint8
# meta is a string

# Send buffer and meta to a remote process using any preferred method,
# e.g., via a ZMQ multi-message
...

# Deserialize the received buffer and meta into a numpy array
new_array = seedee.deserialize(buffer, meta)

# The resulting array is equal to the original array
assert np.all(array == new_array)

C/C++

See test directory for some examples. Note that the C/C++ interface will likely change in the future.

Limitations

Only arrays up to 1GB are supported.

Development

Use the following commands to compile seedee and run the tests:

cmake -S . -B build -DBUILD_PYTHON=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build --target all --verbose
ctest --test-dir build -T test --output-on-failure

Contribution

Please feel free to open issues or pull requests.

Acknowledgments

seedee depends on multiple open source libraries that are included in this repository under the thirdparty directory for convenience. The licenses of these dependencies can be found in the corresponding subdirectories and in LICENSE_THIRDPARTY.txt.

The chunk serializer implementations are based on the corresponding HDF5 filter plugins which are subject to their own licenses:

Metadata

Release files for seedee 0.3.2

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

Source distribution (sdist)

Source distribution for seedee 0.3.2
File Size Uploaded Provenance Actions
seedee-0.3.2.tar.gz 13.1 kB Without provenance Details for seedee-0.3.2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for seedee 0.3.2
File Actions
seedee-0.3.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for seedee-0.3.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
seedee-0.3.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for seedee-0.3.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
seedee-0.3.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for seedee-0.3.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
seedee-0.3.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for seedee-0.3.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
seedee-0.3.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for seedee-0.3.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
seedee-0.3.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for seedee-0.3.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
seedee-0.3.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details for seedee-0.3.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
seedee-0.3.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details for seedee-0.3.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
seedee-0.3.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 Details for seedee-0.3.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Total release size: 6.6 MB

Release files / seedee-0.3.2.tar.gz

Download URL seedee-0.3.2.tar.gz
Size 13.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ba8e74c5fae2d79bf2654d9b811af296cba22862b8f726644c560fccaec4bc01
BLAKE2b-256 checksum
How to use checksums
f25c73253030dd99c7f3cd64ea56b12af957d60e29bd6f7e7d89abbd597d8054
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / seedee-0.3.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL seedee-0.3.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 755.4 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bf141a3dfaf38403debd1f5eb925692e56dfe68d1f98a8678b44636139a09c41
BLAKE2b-256 checksum
How to use checksums
3482d41c6eeb4da5d265acdd09baeeb73a5fb04ac8f30bb8a008646f4024574a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / seedee-0.3.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL seedee-0.3.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 750.5 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
455aafd3c68650ea4d74d2b11934d62295f763f1c375378d60f0ff93ef5f5313
BLAKE2b-256 checksum
How to use checksums
cf6412052e386d95dd1c8c1f392ee9fff7551b1734614ff5dd48b3de1fe4b368
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / seedee-0.3.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL seedee-0.3.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 755.8 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b33779922b07aac2502580b70def7b1a544aa960787fe9bc0a618fd71ff00d40
BLAKE2b-256 checksum
How to use checksums
6d2d93d15ec04df3087f572f921297909f91b1fd42431e46b00670838fff6ea3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / seedee-0.3.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL seedee-0.3.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 770.5 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
345f4dbac69b726863306e9cea7e14409bb87174dd7fd144c5d997142cb0c231
BLAKE2b-256 checksum
How to use checksums
0e848a67920d81e75b2bf8999027926485f3eaa391606ba533555c9867a3fdb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / seedee-0.3.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL seedee-0.3.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 744.9 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d99f20eb4117e9ce6c5d288ccc9b9235c6d91e210f93887f3b71d7ffeef7f9ec
BLAKE2b-256 checksum
How to use checksums
74f30094b4c5e13923072788b232ee82043cc4fcd405fa75a52af9ea46f07181
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / seedee-0.3.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL seedee-0.3.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 742.9 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b190dbe5eac42162cf276feadf0e9af4e6ba7fcba5a1ad33248d22e3ea1a068a
BLAKE2b-256 checksum
How to use checksums
e7c1cf2939105c3845b664456d4eff5bf25179c2b18d1d8e82028cf9a1e6cbb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / seedee-0.3.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL seedee-0.3.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 746.5 kB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
3f0cac72f80b76f77968b575d11591154e9de8bf734784e6778ac71d77df464e
BLAKE2b-256 checksum
How to use checksums
ba5b26c1619ad2091dbcf1675f424fdd04476caf94824bfb70f4bc8b6f648fb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / seedee-0.3.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL seedee-0.3.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 688.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
02bd07108084c9ae6e01fbf346b5c8f9bb312e7494d9cf48285eac8712c640e7
BLAKE2b-256 checksum
How to use checksums
792c13ee36bcb98d5fb8346f45484ffe9e0d360b8d49c74c1e6e3af17c8b5550
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / seedee-0.3.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL seedee-0.3.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 679.1 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
98207e113f940a99ec7e00a062b73ffb699bcb85857a54e478ff2a31cd0b1efc
BLAKE2b-256 checksum
How to use checksums
ca43cb96263aff036e2383894201aa8d52e1d600429932f57aa0dc2e239fd26b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for seedee 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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