{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# Hashstate\n\nThis is a Python C extension module that forks the ``hashlib`` implementation\nfrom CPython itself to add support for a single feature: the ability to\nserialize and deserialize hash objects so that the hash objects do not have\nto persist in memory for the whole duration of the hash computation.\n\n## Usage\n\n```bash\npip install hashstate\n```\n\n```python\nimport hashstate\n\n# Contains all the same constructors as hashlib\nhash1 = hashstate.sha512()\nhash1.update('...')\ns = hash1.serialize() # gives back bytes object\n\nhash2 = hashstate.sha512()\nhash2.deserialize(s)\nassert hash1.digest() == hash2.digest()\n```\n\n## Developers\n\nBuild the package (requires openssl on your build paths):\n\n python setup.py sdist bdist_wheel\n\nIf building a MacOS wheel, also run:\n\n delocate-wheel -v ./dist/*-macosx_*.whl\n\nBuild the linux bdist_wheels (64-bit only at the moment):\n\n docker build -t manylinux-hashstate .\n docker run --rm -v $(pwd)/dist:/dist manylinux-hashstate\n\nUpload to pypi\n\n twine upload dist/*\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/zachmullen/hashstate", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "hashstate", "package_url": "https://pypi.org/project/hashstate/", "platform": "", "project_url": "https://pypi.org/project/hashstate/", "project_urls": { "Homepage": "https://github.com/zachmullen/hashstate" }, "release_url": "https://pypi.org/project/hashstate/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "Serializable hash objects", "version": "0.2.1" }, "last_serial": 4586647, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "fdc28bd78d8d227d2a1ce98cb4482c2f", "sha256": "8523e2a6db227f2ac2bbe645b33475bf4f6273dd287cdfd19d6dc3bb3fe17f84" }, "downloads": -1, "filename": "hashstate-0.1-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "fdc28bd78d8d227d2a1ce98cb4482c2f", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 10181, "upload_time": "2018-12-11T02:41:27", "url": "https://files.pythonhosted.org/packages/c0/24/9955b46161aa7c7c09181b084887178ae9112b090b3bad53062c63b2c7bb/hashstate-0.1-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "31ba2e06267de9139627c57034ae6620", "sha256": "550f412d1e2d4e145769e4d45d26c2b36b9461b698ce543c8191a389db5c48d3" }, "downloads": -1, "filename": "hashstate-0.1-py3.6-macosx-10.13-x86_64.egg", "has_sig": false, "md5_digest": "31ba2e06267de9139627c57034ae6620", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 11164, "upload_time": "2018-12-11T02:41:56", "url": "https://files.pythonhosted.org/packages/f6/76/872a9e765f84d1225a74b9a82b8e03cb69020158120afa3089b86260b782/hashstate-0.1-py3.6-macosx-10.13-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "0a7f58b9ce246934956c7947361c2f90", "sha256": "268103d331197846803af0ddd22018621d4c6a705189064d81bb981929d6a498" }, "downloads": -1, "filename": "hashstate-0.1.tar.gz", "has_sig": false, "md5_digest": "0a7f58b9ce246934956c7947361c2f90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8725, "upload_time": "2018-12-11T02:41:57", "url": "https://files.pythonhosted.org/packages/ea/5a/92c63f9b3d6d59eca4768e38a6de9d74ff050b2b807ed9cdca2941fb7ba7/hashstate-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "4cd0f832a6e8c3e13f023a5fa5deebf0", "sha256": "f171ed03900ccc7102ea44c3427d0e15d6b1f9279357698cc299ccbfb3190671" }, "downloads": -1, "filename": "hashstate-0.1.1-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "4cd0f832a6e8c3e13f023a5fa5deebf0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 10197, "upload_time": "2018-12-11T03:24:56", "url": "https://files.pythonhosted.org/packages/24/02/1cfd6ebda68d7b267f6d13e0e6d0a63ca5697105b4fe7252f9c61affbcd0/hashstate-0.1.1-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "d8a99cadfa1ccc84fc6ffba2537c1954", "sha256": "bf7a116bc17dab3462e7d702cc1f2798236cdf545965a1f093ec26f5fd0aeb0c" }, "downloads": -1, "filename": "hashstate-0.1.1-py3.6-macosx-10.13-x86_64.egg", "has_sig": false, "md5_digest": "d8a99cadfa1ccc84fc6ffba2537c1954", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 11162, "upload_time": "2018-12-11T03:24:57", "url": "https://files.pythonhosted.org/packages/fb/51/ad82ce896cf58510715ec7fd076e798ba59e0efcf8a355a397ee2ff2fb60/hashstate-0.1.1-py3.6-macosx-10.13-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "ced01bae50d370d1e3d0c597c486936e", "sha256": "0ef59e9a723d0e432c430ab1ba494e08818b4a51f55dbaaf1f66ee30925aad73" }, "downloads": -1, "filename": "hashstate-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ced01bae50d370d1e3d0c597c486936e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8712, "upload_time": "2018-12-11T03:24:58", "url": "https://files.pythonhosted.org/packages/68/89/62332476f9da33ec3e99124d6a7d5580fa8bc6c13b48f0ee05ef7ef6839e/hashstate-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6b15a9ae20e41c71385e5845cbd00eec", "sha256": "1e38b98e39e814e15a68ca95d9bef88f230b003a53b436cc23cc1933ae9f6950" }, "downloads": -1, "filename": "hashstate-0.1.2-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "6b15a9ae20e41c71385e5845cbd00eec", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1067794, "upload_time": "2018-12-11T03:26:56", "url": "https://files.pythonhosted.org/packages/ef/14/cf720d2d11836137c72fc0659b247e44fa8900bab65e3541bc98c16dd389/hashstate-0.1.2-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "ce311082f29f8a5278318ad2e51b24ab", "sha256": "a8cf645429739d57253300e2cac1624366a1e29cf0d1825cd977840ab8227d2c" }, "downloads": -1, "filename": "hashstate-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ce311082f29f8a5278318ad2e51b24ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8735, "upload_time": "2018-12-11T03:26:59", "url": "https://files.pythonhosted.org/packages/68/a3/83fbbaf106b390dc4bd59e5c828cbff07c4e992fc5d154a466cf5480d40e/hashstate-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "3cf13aba1cbd3ff812ac5d605429847b", "sha256": "396b050646ff2efd7084b9c1fa4d374a6743da5bb69d95a9fac66958e34f5d7e" }, "downloads": -1, "filename": "hashstate-0.1.3-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "3cf13aba1cbd3ff812ac5d605429847b", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1067792, "upload_time": "2018-12-11T03:50:10", "url": "https://files.pythonhosted.org/packages/74/da/14eaf6d42a643469787fd2d29884448eb4da3728020b8c4e7244d20931bc/hashstate-0.1.3-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "58824c7227599e0886ebe0822c97875a", "sha256": "c8af5eb7de876cbdcc80d402bc78dfb5ec90643b11fe1f5c86c389eb7ce563fe" }, "downloads": -1, "filename": "hashstate-0.1.3.tar.gz", "has_sig": false, "md5_digest": "58824c7227599e0886ebe0822c97875a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8737, "upload_time": "2018-12-11T03:50:12", "url": "https://files.pythonhosted.org/packages/3a/61/9a26186e638934cabdf1bd207447c3caee343b81c107299e3cea66913257/hashstate-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d07009aa86e27ffe8e86c2da55b92cef", "sha256": "56008b3f04dff40a92c8d83921ac87578a6e54c58cced73e1ceac1a441d85066" }, "downloads": -1, "filename": "hashstate-0.2.0-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "d07009aa86e27ffe8e86c2da55b92cef", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 1319224, "upload_time": "2018-12-11T16:47:13", "url": "https://files.pythonhosted.org/packages/0d/61/23b192da2c4f10c6309b2c46a862970c3f7702f48f3bd6a13478bc24b933/hashstate-0.2.0-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "6110630164dc72f79de1a16ab593e902", "sha256": "25adbb064a2b4018fbe800ee9bf54425be1e1ebfb29c5968dfa33a0b2e593ddf" }, "downloads": -1, "filename": "hashstate-0.2.0-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "6110630164dc72f79de1a16ab593e902", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1319436, "upload_time": "2018-12-11T16:47:15", "url": "https://files.pythonhosted.org/packages/74/25/a9625b0a7f7317232485378c63c3bc0c74696192949b7bc9fec69ecd9f27/hashstate-0.2.0-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b375e265c227126181e1e0ba17744667", "sha256": "89e0d7d5de0dc130308dc520220392bd37f299bd5b87f874f1a1fcae9ca8a647" }, "downloads": -1, "filename": "hashstate-0.2.0-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "b375e265c227126181e1e0ba17744667", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1066461, "upload_time": "2018-12-11T16:47:17", "url": "https://files.pythonhosted.org/packages/7f/a8/26ee771709654a4087e992c3d2c31b6fd45d72447dfcc6ec64c9ad3e2266/hashstate-0.2.0-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0c69919fc14d8dbf338068fe0d62762f", "sha256": "8120bd8b4a751dfc32d3ffe6c2cfcb06a0e25dc22038804965534754bf4f288d" }, "downloads": -1, "filename": "hashstate-0.2.0-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "0c69919fc14d8dbf338068fe0d62762f", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1319541, "upload_time": "2018-12-11T16:47:19", "url": "https://files.pythonhosted.org/packages/04/d2/508c6d6f0c80867f24de76effc69042dfba5df161ee503a2753fb3cd66f3/hashstate-0.2.0-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "5f2671cc23a0c998711c3d882cf0ab1a", "sha256": "2ebeb55ef28c2f466c8c6dfeb7c833921158607331512ca1a07b25f628fa8c6b" }, "downloads": -1, "filename": "hashstate-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5f2671cc23a0c998711c3d882cf0ab1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7627, "upload_time": "2018-12-11T16:47:20", "url": "https://files.pythonhosted.org/packages/34/5d/0393307bba8ad8a5fabd4ed9ff2b691086c0b5132ac723f60afe1d76e358/hashstate-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "0cd3356a518785ee78dc0af7d777a827", "sha256": "b0e02669e354582877e62f8d564b5bf54d032ec581c50f24c8a16eed40cb4ae4" }, "downloads": -1, "filename": "hashstate-0.2.1-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "0cd3356a518785ee78dc0af7d777a827", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 1319278, "upload_time": "2018-12-11T18:15:01", "url": "https://files.pythonhosted.org/packages/ce/01/d11d7d9fb3dd09a0dc4c08cf18aef44a671f058d8e08b191aa0f0776e4b9/hashstate-0.2.1-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "44e585547efea1ef166c1836a0fbfe6a", "sha256": "d8644b54a73370bc85c23af3ae4887ca4f46d4e1cd8b8515a13c6303dad45a09" }, "downloads": -1, "filename": "hashstate-0.2.1-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "44e585547efea1ef166c1836a0fbfe6a", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1319491, "upload_time": "2018-12-11T18:15:03", "url": "https://files.pythonhosted.org/packages/7e/8f/f9f567665bdae9325470ad792e1a52e9c9c639436b99bbb8e0a4cf3fbe5a/hashstate-0.2.1-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "e8c438f6e4711eb2b75bc4a539f984a0", "sha256": "3370c8a053fedce28c7612fa6ed3184df17f7c05b8dde0112765c3a628015d6b" }, "downloads": -1, "filename": "hashstate-0.2.1-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "e8c438f6e4711eb2b75bc4a539f984a0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1066515, "upload_time": "2018-12-11T18:15:05", "url": "https://files.pythonhosted.org/packages/55/ee/70e6ebcbdf7a2be41ff402bc7e21db3480309b79063d8c77efc742605ed1/hashstate-0.2.1-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "d2dd3cf7a1ed713eb90780b1a5f078e3", "sha256": "29218c434dd0a7ba558150dd96ae6b1149b5f2960b835e8e9bc9c9eebd4bf733" }, "downloads": -1, "filename": "hashstate-0.2.1-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "d2dd3cf7a1ed713eb90780b1a5f078e3", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1319595, "upload_time": "2018-12-11T18:15:09", "url": "https://files.pythonhosted.org/packages/bd/9a/035059bb0600faf1d83ea9a0f4871062e1008275dd42827091a400af8a62/hashstate-0.2.1-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "5b428d91bf88df56aa00f7e5ef213fb7", "sha256": "cf6bf57487d00975fa60d6c3853b79052a35143b3d434c0e5539ecc9a13b28e8" }, "downloads": -1, "filename": "hashstate-0.2.1.tar.gz", "has_sig": false, "md5_digest": "5b428d91bf88df56aa00f7e5ef213fb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7425, "upload_time": "2018-12-11T18:15:10", "url": "https://files.pythonhosted.org/packages/10/2a/63951a821f59d2a8856646adb41fc6bea5111218e326145dc388531ac0aa/hashstate-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0cd3356a518785ee78dc0af7d777a827", "sha256": "b0e02669e354582877e62f8d564b5bf54d032ec581c50f24c8a16eed40cb4ae4" }, "downloads": -1, "filename": "hashstate-0.2.1-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "0cd3356a518785ee78dc0af7d777a827", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 1319278, "upload_time": "2018-12-11T18:15:01", "url": "https://files.pythonhosted.org/packages/ce/01/d11d7d9fb3dd09a0dc4c08cf18aef44a671f058d8e08b191aa0f0776e4b9/hashstate-0.2.1-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "44e585547efea1ef166c1836a0fbfe6a", "sha256": "d8644b54a73370bc85c23af3ae4887ca4f46d4e1cd8b8515a13c6303dad45a09" }, "downloads": -1, "filename": "hashstate-0.2.1-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "44e585547efea1ef166c1836a0fbfe6a", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1319491, "upload_time": "2018-12-11T18:15:03", "url": "https://files.pythonhosted.org/packages/7e/8f/f9f567665bdae9325470ad792e1a52e9c9c639436b99bbb8e0a4cf3fbe5a/hashstate-0.2.1-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "e8c438f6e4711eb2b75bc4a539f984a0", "sha256": "3370c8a053fedce28c7612fa6ed3184df17f7c05b8dde0112765c3a628015d6b" }, "downloads": -1, "filename": "hashstate-0.2.1-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "e8c438f6e4711eb2b75bc4a539f984a0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1066515, "upload_time": "2018-12-11T18:15:05", "url": "https://files.pythonhosted.org/packages/55/ee/70e6ebcbdf7a2be41ff402bc7e21db3480309b79063d8c77efc742605ed1/hashstate-0.2.1-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "d2dd3cf7a1ed713eb90780b1a5f078e3", "sha256": "29218c434dd0a7ba558150dd96ae6b1149b5f2960b835e8e9bc9c9eebd4bf733" }, "downloads": -1, "filename": "hashstate-0.2.1-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "d2dd3cf7a1ed713eb90780b1a5f078e3", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1319595, "upload_time": "2018-12-11T18:15:09", "url": "https://files.pythonhosted.org/packages/bd/9a/035059bb0600faf1d83ea9a0f4871062e1008275dd42827091a400af8a62/hashstate-0.2.1-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "5b428d91bf88df56aa00f7e5ef213fb7", "sha256": "cf6bf57487d00975fa60d6c3853b79052a35143b3d434c0e5539ecc9a13b28e8" }, "downloads": -1, "filename": "hashstate-0.2.1.tar.gz", "has_sig": false, "md5_digest": "5b428d91bf88df56aa00f7e5ef213fb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7425, "upload_time": "2018-12-11T18:15:10", "url": "https://files.pythonhosted.org/packages/10/2a/63951a821f59d2a8856646adb41fc6bea5111218e326145dc388531ac0aa/hashstate-0.2.1.tar.gz" } ] }