Skip to main content

Efficient binary storage of ML models

Project description

BinPickle - efficient binary pickled data

PyPI version Test and Build codecov

This package uses the new Pickle Protocol 5 in Python 3.8 (or its pickle5 backport) 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.3.1.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

binpickle-0.3.1-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file binpickle-0.3.1.tar.gz.

File metadata

  • Download URL: binpickle-0.3.1.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for binpickle-0.3.1.tar.gz
Algorithm Hash digest
SHA256 41544aac0ce5725d7a6e535fa361f86a64b14bdad649872b495b04823eb2bb3a
MD5 0af7e2de543fd4565740eb44c42ce08f
BLAKE2b-256 e9fb4a73c71a1934a948942f1c43edfb4579c214b0e806976d0c0ab4d361b019

See more details on using hashes here.

File details

Details for the file binpickle-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: binpickle-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for binpickle-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 52d271ceee6f6c98c78da4f7ba02dfeeb7d8b36ac95cd4d10098c0a677d3c0a5
MD5 f82c90bcc105e8c81159046254f6a5c6
BLAKE2b-256 b50e0c5f466533f7463949e614b4d614c3cbe0384234f6ec6b06ac53dc69a606

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