Skip to main content

Optimized format for pickling binary data.

Project description

BinPickle - efficient binary pickled data

PyPI version Automated Tests codecov

This package uses the new Pickle Protocol 5 added in Python 3.8 to efficiently serialize large objects, particularly from scientific Python packages, to an on-disk format. This format is designed to support two use cases:

  1. Serializing data-intensive statistical models in a memory-mappable format so multiple processes can share the same (read-only) model memory.
  2. Serializing data-intensive statistical models with good compression for long-term storage and cross-machine transportation.

BinPickle does this by using Pickle 5's out-of-band buffer serialization support to write buffers uncompressed and page-aligned for memory mapping (use case 1) or with per-buffer efficient compression with libraries like Blosc (use case 2).

Format Stability

We do not yet guarantee the stability of the BinPickle format. We will avoid gratuitous changes, but BinPickle 1.0 will be the first with a stability guarantee.

Acknowledgements

This material is based upon work supported by the National Science Foundation under Grant No. IIS 17-51278. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. This page has not been approved by Boise State University and does not reflect official university positions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

binpickle-0.4.0a5.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

binpickle-0.4.0a5-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file binpickle-0.4.0a5.tar.gz.

File metadata

  • Download URL: binpickle-0.4.0a5.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for binpickle-0.4.0a5.tar.gz
Algorithm Hash digest
SHA256 eda2733b43af3f6a677cbf31fbae8e30c42a417a8b9d51beece683bd59f9d0e5
MD5 e58bf485a5106ef92a6f66406cebee30
BLAKE2b-256 eea19d7809af52c32c259695011f3a48e116189853092623147a5fcdcc93a74f

See more details on using hashes here.

File details

Details for the file binpickle-0.4.0a5-py3-none-any.whl.

File metadata

  • Download URL: binpickle-0.4.0a5-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for binpickle-0.4.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 62efa1860a153e1d7bb8aeb028e9ebb1ef8ddd1941b065763542f70de85e9855
MD5 cedbda6fd96e461e73c9bfb10163bb0c
BLAKE2b-256 e396d48195edbe6aef537821ab9e877fc93ff2e003e5da0b94f2f690469fc3af

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page