Skip to main content

Serializable hash objects

Project description

Hashstate

This is a Python C extension module that forks the hashlib implementation from CPython itself to add support for a single feature: the ability to serialize and deserialize hash objects so that the hash objects do not have to persist in memory for the whole duration of the hash computation.

Usage

pip install hashstate
import hashstate

# Contains all the same constructors as hashlib
hash1 = hashstate.sha512()
hash1.update('...')
s = hash1.serialize()  # gives back bytes object

hash2 = hashstate.sha512()
hash2.deserialize(s)
assert hash1.digest() == hash2.digest()

Developers

Build the package:

python setup.py sdist bdist_wheel

If building a MacOS wheel, also run:

delocate-wheel ./dist/*.whl

Build the linux bdist_wheels (64-bit only at the moment):

docker build -t manylinux-hashstate .
docker run --rm -v $(pwd)/dist:/dist manylinux-hashstate

Upload to pypi

twine upload dist/*

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

hashstate-0.2.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distributions

hashstate-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.6m

hashstate-0.2.0-cp36-cp36m-macosx_10_13_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6m macOS 10.13+ x86-64

hashstate-0.2.0-cp35-cp35m-manylinux1_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.5m

hashstate-0.2.0-cp34-cp34m-manylinux1_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.4m

File details

Details for the file hashstate-0.2.0.tar.gz.

File metadata

  • Download URL: hashstate-0.2.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for hashstate-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2ebeb55ef28c2f466c8c6dfeb7c833921158607331512ca1a07b25f628fa8c6b
MD5 5f2671cc23a0c998711c3d882cf0ab1a
BLAKE2b-256 345d0393307bba8ad8a5fabd4ed9ff2b691086c0b5132ac723f60afe1d76e358

See more details on using hashes here.

File details

Details for the file hashstate-0.2.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: hashstate-0.2.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for hashstate-0.2.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8120bd8b4a751dfc32d3ffe6c2cfcb06a0e25dc22038804965534754bf4f288d
MD5 0c69919fc14d8dbf338068fe0d62762f
BLAKE2b-256 04d2508c6d6f0c80867f24de76effc69042dfba5df161ee503a2753fb3cd66f3

See more details on using hashes here.

File details

Details for the file hashstate-0.2.0-cp36-cp36m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: hashstate-0.2.0-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for hashstate-0.2.0-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 89e0d7d5de0dc130308dc520220392bd37f299bd5b87f874f1a1fcae9ca8a647
MD5 b375e265c227126181e1e0ba17744667
BLAKE2b-256 7fa826ee771709654a4087e992c3d2c31b6fd45d72447dfcc6ec64c9ad3e2266

See more details on using hashes here.

File details

Details for the file hashstate-0.2.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: hashstate-0.2.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for hashstate-0.2.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 25adbb064a2b4018fbe800ee9bf54425be1e1ebfb29c5968dfa33a0b2e593ddf
MD5 6110630164dc72f79de1a16ab593e902
BLAKE2b-256 7425a9625b0a7f7317232485378c63c3bc0c74696192949b7bc9fec69ecd9f27

See more details on using hashes here.

File details

Details for the file hashstate-0.2.0-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: hashstate-0.2.0-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for hashstate-0.2.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 56008b3f04dff40a92c8d83921ac87578a6e54c58cced73e1ceac1a441d85066
MD5 d07009aa86e27ffe8e86c2da55b92cef
BLAKE2b-256 0d6123b192da2c4f10c6309b2c46a862970c3f7702f48f3bd6a13478bc24b933

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