{ "info": { "author": "Flier Lu", "author_email": "flier.lu@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: C++", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "# Introduction [![pypi](https://img.shields.io/pypi/v/pyhash.svg)](https://pypi.org/project/pyhash/) [![Travis CI Status](https://travis-ci.org/flier/pyfasthash.svg?branch=master)](https://travis-ci.org/flier/pyfasthash) [![codecov](https://codecov.io/gh/flier/pyfasthash/branch/master/graph/badge.svg)](https://codecov.io/gh/flier/pyfasthash)\n\n`pyhash` is a python non-cryptographic hash library.\n\nIt provides several common hash algorithms with C/C++ implementation for performance and compatibility.\n\n```python\n>>> import pyhash\n>>> hasher = pyhash.fnv1_32()\n\n>>> hasher('hello world')\n2805756500L\n\n>>> hasher('hello', ' ', 'world')\n2805756500L\n\n>>> hasher('world', seed=hasher('hello '))\n2805756500L\n```\n\nIt also can be used to generate fingerprints without seed.\n\n```python\n>>> import pyhash\n>>> fp = pyhash.farm_fingerprint_64()\n\n>>> fp('hello')\n>>> 13009744463427800296L\n\n>>> fp('hello', 'world')\n>>> [13009744463427800296L, 16436542438370751598L]\n```\n\n**Notes**\n\n`hasher('hello', ' ', 'world')` is a syntax sugar for `hasher('world', seed=hasher(' ', seed=hasher('hello')))`, and may not equals to `hasher('hello world')`, because some hash algorithms use different `hash` and `seed` size.\n\nFor example, `metro` hash always use 32bit seed for 64/128 bit hash value.\n\n```python\n>>> import pyhash\n>>> hasher = pyhash.metro_64()\n\n>>> hasher('hello world')\n>>> 5622782129197849471L\n\n>>> hasher('hello', ' ', 'world')\n>>> 16402988188088019159L\n\n>>> hasher('world', seed=hasher(' ', seed=hasher('hello')))\n>>> 16402988188088019159L\n```\n\n# Installation\n\n```bash\n$ pip install pyhash\n```\n\n**Notes**\n\nIf `pip` install failed with similar errors, [#27](https://github.com/flier/pyfasthash/issues/27)\n\n```\n/usr/lib/gcc/x86_64-linux-gnu/6/include/smmintrin.h:846:1: error: inlining failed in call to always_inline 'long long unsigned int _mm_crc32_u64(long long unsigned int, long long unsigned int)': target specific option mismatch\n _mm_crc32_u64 (unsigned long long __C, unsigned long long __V)\n ^~~~~~~~~~~~~\nsrc/smhasher/metrohash64crc.cpp:52:34: note: called from here\n v[0] ^= _mm_crc32_u64(v[0], read_u64(ptr)); ptr += 8;\n ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~\n```\n\nPlease upgrade `pip` and `setuptools` to latest version and try again\n\n```bash\n$ pip install --upgrade pip setuptools\n```\n\n**Notes**\n\nIf `pip` install failed on MacOS with similar errors [#28](https://github.com/flier/pyfasthash/issues/28)\n\n```\n creating build/temp.macosx-10.6-intel-3.6\n ...\n /usr/bin/clang -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -c src/smhasher/metrohash64crc.cpp -o build/temp.macosx-10.6-intel-3.6/src/smhasher/metrohash64crc.o -msse4.2 -maes -mavx -mavx2\n src/smhasher/metrohash64crc.cpp:52:21: error: use of undeclared identifier '_mm_crc32_u64'\n v[0] ^= _mm_crc32_u64(v[0], read_u64(ptr)); ptr += 8;\n ^\n```\n\nYou may try to\n\n```bash\n$ CFLAGS=\"-mmacosx-version-min=10.13\" pip install pyhash\n```\n\n**Notes**\n\n`pyhash` only support `pypy` v6.0 or newer, please [download and install](https://pypy.org/download.html) the latest `pypy`.\n\n# Algorithms\n\npyhash supports the following hash algorithms\n\n- [FNV](http://isthe.com/chongo/tech/comp/fnv/) (Fowler-Noll-Vo) hash\n - fnv1_32\n - fnv1a_32\n - fnv1_64\n - fnv1a_64\n- [MurmurHash](http://code.google.com/p/smhasher/)\n - murmur1_32\n - murmur1_aligned_32\n - murmur2_32\n - murmur2a_32\n - murmur2_aligned_32\n - murmur2_neutral_32\n - murmur2_x64_64a\n - murmur2_x86_64b\n - murmur3_32\n - murmur3_x86_128\n - murmur3_x64_128\n- [lookup3](http://burtleburtle.net/bob/hash/doobs.html)\n - lookup3\n - lookup3_little\n - lookup3_big\n- [SuperFastHash](http://www.azillionmonkeys.com/qed/hash.html)\n - super_fast_hash\n- [City Hash](https://code.google.com/p/cityhash/)\n _ city_32\n - city_64\n - city_128\n - city_crc_128\n - city_fingerprint_256\n- [Spooky Hash](http://burtleburtle.net/bob/hash/spooky.html)\n - spooky_32\n - spooky_64\n - spooky_128\n- [FarmHash](https://github.com/google/farmhash)\n - farm_32\n - farm_64\n - farm_128\n - farm_fingerprint_32\n - farm_fingerprint_64\n - farm_fingerprint_128\n- [MetroHash](https://github.com/jandrewrogers/MetroHash)\n - metro_64\n - metro_128\n - metro_crc_64\n - metro_crc_128\n- [MumHash](https://github.com/vnmakarov/mum-hash)\n - mum_64\n- [T1Ha](https://github.com/leo-yuriev/t1ha)\n - t1ha2 _(64-bit little-endian)_\n - t1ha2_128 _(128-bit little-endian)_\n - t1ha1 _(64-bit native-endian)_\n - t1ha1_le _(64-bit little-endian)_\n - t1ha1_be _(64-bit big-endian)_\n - t1ha0 _(64-bit, choice fastest function in runtime.)_\n - ~~t1_32~~\n - ~~t1_32_be~~\n - ~~t1_64~~\n - ~~t1_64_be~~\n- [XXHash](https://github.com/Cyan4973/xxHash)\n - xx_32\n - xx_64\n\n## String and Bytes literals\n\nPython has two types can be used to present string literals, the hash values of the two types are definitely different.\n\n- For Python 2.x [String literals](https://docs.python.org/2/reference/lexical_analysis.html#string-literals), `str` will be used by default, `unicode` can be used with the `u` prefix.\n- For Python 3.x [String and Bytes literals](https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals), `unicode` will be used by default, `bytes` can be used with the `b` prefix.\n\nFor example,\n\n```\n$ python2\nPython 2.7.15 (default, Jun 17 2018, 12:46:58)\n[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import pyhash\n>>> hasher = pyhash.murmur3_32()\n>>> hasher('foo')\n4138058784L\n>>> hasher(u'foo')\n2085578581L\n>>> hasher(b'foo')\n4138058784L\n```\n\n```\n$ python3\nPython 3.7.0 (default, Jun 29 2018, 20:13:13)\n[Clang 9.1.0 (clang-902.0.39.2)] on darwin\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import pyhash\n>>> hasher = pyhash.murmur3_32()\n>>> hasher('foo')\n2085578581\n>>> hasher(u'foo')\n2085578581\n>>> hasher(b'foo')\n4138058784\n```\n\nYou can also import [unicode_literals](http://python-future.org/unicode_literals.html) to use unicode literals in Python 2.x\n\n```python\nfrom __future__ import unicode_literals\n```\n\n> In general, it is more compelling to use unicode_literals when back-porting new or existing Python 3 code to Python 2/3 than when porting existing Python 2 code to 2/3. In the latter case, explicitly marking up all unicode string literals with u'' prefixes would help to avoid unintentionally changing the existing Python 2 API. However, if changing the existing Python 2 API is not a concern, using unicode_literals may speed up the porting process.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/flier/pyfasthash/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/flier/pyfasthash", "keywords": "hash hashing fasthash", "license": "Apache Software License", "maintainer": "", "maintainer_email": "", "name": "pyhash", "package_url": "https://pypi.org/project/pyhash/", "platform": "x86", "project_url": "https://pypi.org/project/pyhash/", "project_urls": { "Download": "https://github.com/flier/pyfasthash/releases", "Homepage": "https://github.com/flier/pyfasthash" }, "release_url": "https://pypi.org/project/pyhash/0.9.3/", "requires_dist": null, "requires_python": "", "summary": "Python Non-cryptographic Hash Library", "version": "0.9.3" }, "last_serial": 4911488, "releases": { "0.1": [], "0.2": [], "0.3": [], "0.4": [], "0.4.1": [], "0.4.2": [], "0.5.0": [], "0.6.2": [ { "comment_text": "", "digests": { "md5": "c27afbe5b74f4465d7ff976eeea4a49e", "sha256": "828193ec48527f158d0a6d335d7cf812b541775d270f9f7eef0d936c161e4a1d" }, "downloads": -1, "filename": "pyhash-0.6.2.tar.gz", "has_sig": false, "md5_digest": "c27afbe5b74f4465d7ff976eeea4a49e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 116095, "upload_time": "2014-07-29T06:50:11", "url": "https://files.pythonhosted.org/packages/e1/c7/4b4b865b10ba0e355a1bd210fb1a6cc2922f76b451073f0580c9a6a44169/pyhash-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "63ab2844cfdf4d740a87dedad58d496a", "sha256": "f880bbdbcda51c3c34b5226b786d844fc37db230895ce4cdd40b1e17db553cfb" }, "downloads": -1, "filename": "pyhash-0.6.3.tar.gz", "has_sig": false, "md5_digest": "63ab2844cfdf4d740a87dedad58d496a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 116351, "upload_time": "2016-10-30T07:58:49", "url": "https://files.pythonhosted.org/packages/04/67/50d94e06e0bdbb0b6e22fa571e1f16d6ce1641600da3c75bf9817aee4d29/pyhash-0.6.3.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "41efa09276ff18548f1479401fff4257", "sha256": "fa54e9aeac567468ba9499a7fed84babdab02ae9c010ebedd19c456666031d52" }, "downloads": -1, "filename": "pyhash-0.8-cp27-cp27m-macosx_10_12_x86_64.whl", "has_sig": false, "md5_digest": "41efa09276ff18548f1479401fff4257", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 133518, "upload_time": "2017-02-18T11:08:31", "url": "https://files.pythonhosted.org/packages/ef/8b/adf19a59a861b05d19213234d6211dce6632b784b1bece80946f1c5c5841/pyhash-0.8-cp27-cp27m-macosx_10_12_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "e44bcc291601ced4a2ca555ab8e0a5eb", "sha256": "f49b072eb27d4b06ca7dbb2a2b7939b8240a092b3722adfdfc9bd7ffa542f2e9" }, "downloads": -1, "filename": "pyhash-0.8.tar.gz", "has_sig": false, "md5_digest": "e44bcc291601ced4a2ca555ab8e0a5eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 288487, "upload_time": "2017-02-18T11:07:45", "url": "https://files.pythonhosted.org/packages/bf/a7/5686eaffe64bbb056b4bd19d77d61d1e762973b5618056a2a3688dfc74f0/pyhash-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "f6d432a0893a8bc7856ac6e998189139", "sha256": "7c284498f0e5535e41b2b242d721168875f2c528c814308604cbb26b5375e8c0" }, "downloads": -1, "filename": "pyhash-0.8.1-cp27-cp27m-macosx_10_12_x86_64.whl", "has_sig": false, "md5_digest": "f6d432a0893a8bc7856ac6e998189139", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 133990, "upload_time": "2017-05-09T10:24:11", "url": "https://files.pythonhosted.org/packages/ec/3b/3f226aec46aa2c492d6639f1912000d330e47a94c1574be142945e29388b/pyhash-0.8.1-cp27-cp27m-macosx_10_12_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "195af1fe63c86d59947f21c2b32af43d", "sha256": "4431c7337aa5a247762e01695630eb20fa110ca4dba56eba3ffcf0419b3047fe" }, "downloads": -1, "filename": "pyhash-0.8.1-py2.7-macosx-10.12-x86_64.egg", "has_sig": false, "md5_digest": "195af1fe63c86d59947f21c2b32af43d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 138683, "upload_time": "2017-05-09T10:17:36", "url": "https://files.pythonhosted.org/packages/e7/36/59137ecdaa4cd765e81f649e529cf198575a9887635d0025c388c21ccbb5/pyhash-0.8.1-py2.7-macosx-10.12-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "da8d9abe3468c3ae4d2e9d0d3da9f7cb", "sha256": "5593cbdce126324e1b09bdb5ba2e385d517de9fba61dad78be02163d9ab1f96c" }, "downloads": -1, "filename": "pyhash-0.8.1.tar.gz", "has_sig": false, "md5_digest": "da8d9abe3468c3ae4d2e9d0d3da9f7cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 288014, "upload_time": "2017-05-09T10:22:52", "url": "https://files.pythonhosted.org/packages/03/da/1265ee23c10945a12a0085726fc4f26c232215a9a46cf66db7c310b0aff8/pyhash-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "2e1bea42f9c60b37bcba62e913f334c9", "sha256": "353c7b135835e541c9a407dad00e82fc56fb1e1aec6fa1f1cb7c2381df39651e" }, "downloads": -1, "filename": "pyhash-0.8.2-cp27-cp27m-macosx_10_12_x86_64.whl", "has_sig": false, "md5_digest": "2e1bea42f9c60b37bcba62e913f334c9", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 136815, "upload_time": "2017-10-16T10:12:00", "url": "https://files.pythonhosted.org/packages/49/48/0a90c4a44beef518a08355d58ef43aad969882e45a0a75c60da7645bd08f/pyhash-0.8.2-cp27-cp27m-macosx_10_12_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "94cc785544aa7f70a28142d1504a11c2", "sha256": "caaee0101f4fbf6dff6f5baf20aeba154f066344e39c8d8498e2ac24215e08a7" }, "downloads": -1, "filename": "pyhash-0.8.2.tar.gz", "has_sig": false, "md5_digest": "94cc785544aa7f70a28142d1504a11c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 289997, "upload_time": "2017-10-16T10:12:13", "url": "https://files.pythonhosted.org/packages/4f/4d/30e38ac9b3551007de3050d4bbacc5103b43fe2ca9a805fdd889800f710a/pyhash-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "151392e4668ea3a58ebab72a4f546641", "sha256": "8c59be637342700d6e5f2c707ea87eb00db94e724a21eca22a7836fc2d0b97be" }, "downloads": -1, "filename": "pyhash-0.8.3-cp27-cp27m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "151392e4668ea3a58ebab72a4f546641", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 142765, "upload_time": "2018-07-24T07:53:57", "url": "https://files.pythonhosted.org/packages/a2/08/1b4f242a23a83577fa15d93b8d1e8867ec85e527f9dbcd11fea58c93e7a3/pyhash-0.8.3-cp27-cp27m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "9bebfb84b0e68e2d7547a9d0fe88a87d", "sha256": "9ac677d89602fd89f586f8f174c26c32c6b8e1a67f2be0fa14e8e6e55591c57f" }, "downloads": -1, "filename": "pyhash-0.8.3-cp37-cp37m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "9bebfb84b0e68e2d7547a9d0fe88a87d", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 153371, "upload_time": "2018-07-24T07:54:00", "url": "https://files.pythonhosted.org/packages/a9/92/7b265e305676c3f0118281a6838cd4331b5a90c6b84b482113fc0e903b5d/pyhash-0.8.3-cp37-cp37m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "171acdb701f87c9994b3706e80883087", "sha256": "0c7d4851058a350e4a3ef11057dfccd5f640866f66252523e1919bd0db225100" }, "downloads": -1, "filename": "pyhash-0.8.3.tar.gz", "has_sig": false, "md5_digest": "171acdb701f87c9994b3706e80883087", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 307921, "upload_time": "2018-07-24T07:54:04", "url": "https://files.pythonhosted.org/packages/d1/e0/583fe8df8edd2dcfd79f72c238299866a7558d6e3ccc421d14820e7f6123/pyhash-0.8.3.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "b5275e2413ba0c75e2336a4b0aa3cbe6", "sha256": "b722f063b4c46b43d18ced5e6d0bb5f379dffb1d7742c2b06579bf0c9729bddd" }, "downloads": -1, "filename": "pyhash-0.9.0-cp27-cp27m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "b5275e2413ba0c75e2336a4b0aa3cbe6", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 246143, "upload_time": "2018-07-30T06:18:37", "url": "https://files.pythonhosted.org/packages/9e/d0/7794c03d6f77e1d6b5329f29ba44bca62a1a9c9dc826bec26be45b6d81e8/pyhash-0.9.0-cp27-cp27m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "765f0946f0424c9e6d4e221e62bf9593", "sha256": "348d03577cb41b8afd0396cb1daeab0a5da9c8647b92b95d99a2626615d6b5e8" }, "downloads": -1, "filename": "pyhash-0.9.0-cp37-cp37m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "765f0946f0424c9e6d4e221e62bf9593", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 246381, "upload_time": "2018-07-30T06:18:44", "url": "https://files.pythonhosted.org/packages/bb/48/1bd0d826a7d30ece6d08a5e9c72021d2aedf00d962dd827e49ab2e72563a/pyhash-0.9.0-cp37-cp37m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a4c81bd150bf0ed4e805360438ed9f61", "sha256": "512f5509d422ee66e82bb5a35f69dc2028d6c24b76e6d1a2dbdcd9aafe9343e8" }, "downloads": -1, "filename": "pyhash-0.9.0-pp260-pypy_41-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "a4c81bd150bf0ed4e805360438ed9f61", "packagetype": "bdist_wheel", "python_version": "pp260", "requires_python": null, "size": 457141, "upload_time": "2018-07-30T06:18:50", "url": "https://files.pythonhosted.org/packages/15/4b/8a999214c4a85bd2a44d5d664238d8631297a6066ff3e91461ef325ee5e1/pyhash-0.9.0-pp260-pypy_41-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c3fb902a64f960cc9b31789393d62560", "sha256": "6a04133a27755a33be90018dfc5cd5b7a3379f9f692d6f4075331b5729c4294f" }, "downloads": -1, "filename": "pyhash-0.9.0-pp360-pypy3_60-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "c3fb902a64f960cc9b31789393d62560", "packagetype": "bdist_wheel", "python_version": "pp360", "requires_python": null, "size": 216459, "upload_time": "2018-07-30T06:19:00", "url": "https://files.pythonhosted.org/packages/a0/b1/f196bcc2ec96b3173b9867d8ae9556dc2d15fb3bd17afa7dd05de68e7352/pyhash-0.9.0-pp360-pypy3_60-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "29dfd1a418297b85810c479b286e51f5", "sha256": "cff7c760faadf46672d70e47b20d35237d136cd11cf5765d067be7f4b2e95615" }, "downloads": -1, "filename": "pyhash-0.9.0.tar.gz", "has_sig": false, "md5_digest": "29dfd1a418297b85810c479b286e51f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 517100, "upload_time": "2018-07-30T06:19:09", "url": "https://files.pythonhosted.org/packages/fa/5e/2a9cfee0e8688ca1dccdf2a7690beda88089091eb0d9511beb73a2b63c9a/pyhash-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "faf12f194bfd55023e06ab64679a3ab7", "sha256": "9dbdb65a151c56c83705beeeaff8b6443281bd4a688679b698a53b8b919ccc04" }, "downloads": -1, "filename": "pyhash-0.9.1-cp27-cp27m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "faf12f194bfd55023e06ab64679a3ab7", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 433893, "upload_time": "2018-08-13T03:27:44", "url": "https://files.pythonhosted.org/packages/80/25/147b1eae0e019935a212a09c2361939a5d60ccbfdbc72e034eab5177e387/pyhash-0.9.1-cp27-cp27m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "70730cd74f9529ac71b8e230511cd9a9", "sha256": "1112816478addf69fbaf9cfcb70d8b12fa0165b588b8c38cad5561a3f7d8c6f9" }, "downloads": -1, "filename": "pyhash-0.9.1-cp37-cp37m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "70730cd74f9529ac71b8e230511cd9a9", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 236834, "upload_time": "2018-08-13T03:27:49", "url": "https://files.pythonhosted.org/packages/a1/01/d3e22a898f7b6139339f69db82bf14f0c49e8a10a4240aa28c62c0ed59c1/pyhash-0.9.1-cp37-cp37m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "ab6af89cf681bd7c230651de00a2ba1f", "sha256": "1d895b630e59c1e48363d6d494e30ddc08466156f9f7cee8c0195e7db4bea412" }, "downloads": -1, "filename": "pyhash-0.9.1-pp260-pypy_41-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "ab6af89cf681bd7c230651de00a2ba1f", "packagetype": "bdist_wheel", "python_version": "pp260", "requires_python": null, "size": 433899, "upload_time": "2018-08-13T03:27:53", "url": "https://files.pythonhosted.org/packages/54/4e/50a48c2e7025de13d5801adaacd387799506453cfde4397101452ff5cd00/pyhash-0.9.1-pp260-pypy_41-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "2ca8283329a493950d52f0e79f472211", "sha256": "2b07d60fad06603cfcc65afbb07624905f2c57abeb93857b2a7276c8a34e81e9" }, "downloads": -1, "filename": "pyhash-0.9.1-pp360-pypy3_60-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "2ca8283329a493950d52f0e79f472211", "packagetype": "bdist_wheel", "python_version": "pp360", "requires_python": null, "size": 206868, "upload_time": "2018-08-13T03:27:56", "url": "https://files.pythonhosted.org/packages/f4/75/bc6905eb72842dc30c59360e16ac7f6195b568e1c8161bce7ce8f6f43c52/pyhash-0.9.1-pp360-pypy3_60-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "4d354e080bc94a6d896ccac6e62aa023", "sha256": "9f7b5992e5a3f5e86c38d7864b7576c504fc213e912a3bfda5eb23acd418fac8" }, "downloads": -1, "filename": "pyhash-0.9.1.tar.gz", "has_sig": false, "md5_digest": "4d354e080bc94a6d896ccac6e62aa023", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 594262, "upload_time": "2018-08-13T03:28:02", "url": "https://files.pythonhosted.org/packages/55/61/56af3d9ab410b0f73a1a38cf8a93f656ee9937d59c7074a3afa5edbd6008/pyhash-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "d4a3eb696bbf5c0b51429ce83e5be604", "sha256": "2510c8003b74afb6aec59800fc43f1f538cdee7702c951e32f2ba4cc11cb6c88" }, "downloads": -1, "filename": "pyhash-0.9.2-cp27-cp27m-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "d4a3eb696bbf5c0b51429ce83e5be604", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 234469, "upload_time": "2019-03-07T10:18:47", "url": "https://files.pythonhosted.org/packages/d4/09/41ef65a9d3d79bab79096850f88367a1284f7a61a6b063133478593d9ead/pyhash-0.9.2-cp27-cp27m-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "d33dc2fa1055500281101871217c94f4", "sha256": "7e666495881068a941d02056057cfa77fcb0a82284f33770ba1ad5fb0a6fc1d4" }, "downloads": -1, "filename": "pyhash-0.9.2-cp37-cp37m-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "d33dc2fa1055500281101871217c94f4", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 232173, "upload_time": "2019-03-07T10:18:49", "url": "https://files.pythonhosted.org/packages/fe/ac/e4cdf4dfaad117d61d209c4aab35b27eb77244d36417f9285ae3b91878cb/pyhash-0.9.2-cp37-cp37m-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "ed7fa97800e7c85bd88d0282881264e3", "sha256": "edaa5c828cb23d1aa5fd51703cb5a970a42e39787ef5c463551ff18d1e3e0213" }, "downloads": -1, "filename": "pyhash-0.9.2-pp270-pypy_41-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "ed7fa97800e7c85bd88d0282881264e3", "packagetype": "bdist_wheel", "python_version": "pp270", "requires_python": null, "size": 436167, "upload_time": "2019-03-07T10:18:53", "url": "https://files.pythonhosted.org/packages/9e/d2/925a2e0931e23bb4b56b45ff869abf3bd2c807f8c12f395c1cfd756fec5e/pyhash-0.9.2-pp270-pypy_41-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c1b1aed999752871fe1bd87e45c99dbd", "sha256": "9b1d92c743a740c96b8e1c893db2a5c5ea4962381cfbfb86508ae98343cb31ee" }, "downloads": -1, "filename": "pyhash-0.9.2-pp370-pypy3_70-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "c1b1aed999752871fe1bd87e45c99dbd", "packagetype": "bdist_wheel", "python_version": "pp370", "requires_python": null, "size": 207630, "upload_time": "2019-03-07T10:18:56", "url": "https://files.pythonhosted.org/packages/01/85/9f52a3123c5069d2f680fee283689a4c999d7798970291313be659e99537/pyhash-0.9.2-pp370-pypy3_70-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "760e0f54df136cabe2315573bd7cbabc", "sha256": "1261e4c66568593161e4fc3f1665b6019891a2de1f9409fe056667dd6f53c7ed" }, "downloads": -1, "filename": "pyhash-0.9.2.tar.gz", "has_sig": false, "md5_digest": "760e0f54df136cabe2315573bd7cbabc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 624647, "upload_time": "2019-03-07T10:19:00", "url": "https://files.pythonhosted.org/packages/c9/7b/6f95a327594d04f0e21d731156bdf2063fa8a3e67c131a989abac23e7a3c/pyhash-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "f17888d903cbe7e6bdbfc5aced6ed9ba", "sha256": "885ae39ebec2dcb61fdf2239cd12513d26ebf7edb2ef4e337405a268ba90b33e" }, "downloads": -1, "filename": "pyhash-0.9.3-cp27-cp27m-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "f17888d903cbe7e6bdbfc5aced6ed9ba", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 234437, "upload_time": "2019-03-07T16:45:58", "url": "https://files.pythonhosted.org/packages/51/7e/7cb9c74bc2ea91fdb35cc646e0dab32adfeb112b0409aba6c41ab94f7a64/pyhash-0.9.3-cp27-cp27m-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "64b0a201f301de6a0d95d050f862d021", "sha256": "898386319cdaf79e05d6811beef183cc12d59afa737f997a2c98c2ed0dc9ce5f" }, "downloads": -1, "filename": "pyhash-0.9.3-cp37-cp37m-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "64b0a201f301de6a0d95d050f862d021", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 232129, "upload_time": "2019-03-07T16:46:02", "url": "https://files.pythonhosted.org/packages/7c/c3/140bfe0015330af1624a3297d00b74913930d74259924e422d90fb372622/pyhash-0.9.3-cp37-cp37m-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0e08427d5e9a64a8262904911d063b50", "sha256": "f6808fdc840f458885f3970cf23f7797332cd653a75b85fd4e095fdf478193f5" }, "downloads": -1, "filename": "pyhash-0.9.3-pp270-pypy_41-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "0e08427d5e9a64a8262904911d063b50", "packagetype": "bdist_wheel", "python_version": "pp270", "requires_python": null, "size": 436112, "upload_time": "2019-03-07T16:46:06", "url": "https://files.pythonhosted.org/packages/5b/17/9c7dbe4b5319b7164c832ec43720b627fa10678069adef9d2ca67f4b0a7b/pyhash-0.9.3-pp270-pypy_41-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cdf960ffdbd6b5c9029938c0c88d0941", "sha256": "def02321636dbd2a437affc080d0f91861bf88ee0a70f9777525f93e18aca3c4" }, "downloads": -1, "filename": "pyhash-0.9.3-pp370-pypy3_70-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "cdf960ffdbd6b5c9029938c0c88d0941", "packagetype": "bdist_wheel", "python_version": "pp370", "requires_python": null, "size": 207616, "upload_time": "2019-03-07T16:46:10", "url": "https://files.pythonhosted.org/packages/92/ae/67e99d6493eeff760e63257003baaf66d5540ee6bb30eda38d159a333e74/pyhash-0.9.3-pp370-pypy3_70-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "bd3028e30a35b2337a5184fac0ebe4f0", "sha256": "cff5c81d613163fc59d623d4546d9be55b46ecd0e573b59057b1bb112a497763" }, "downloads": -1, "filename": "pyhash-0.9.3.tar.gz", "has_sig": false, "md5_digest": "bd3028e30a35b2337a5184fac0ebe4f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 602308, "upload_time": "2019-03-07T16:46:17", "url": "https://files.pythonhosted.org/packages/f0/bf/4db9bed05d10824a17697f65063de19892ca2171a31a9c6854f9bbf55c02/pyhash-0.9.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f17888d903cbe7e6bdbfc5aced6ed9ba", "sha256": "885ae39ebec2dcb61fdf2239cd12513d26ebf7edb2ef4e337405a268ba90b33e" }, "downloads": -1, "filename": "pyhash-0.9.3-cp27-cp27m-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "f17888d903cbe7e6bdbfc5aced6ed9ba", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 234437, "upload_time": "2019-03-07T16:45:58", "url": "https://files.pythonhosted.org/packages/51/7e/7cb9c74bc2ea91fdb35cc646e0dab32adfeb112b0409aba6c41ab94f7a64/pyhash-0.9.3-cp27-cp27m-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "64b0a201f301de6a0d95d050f862d021", "sha256": "898386319cdaf79e05d6811beef183cc12d59afa737f997a2c98c2ed0dc9ce5f" }, "downloads": -1, "filename": "pyhash-0.9.3-cp37-cp37m-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "64b0a201f301de6a0d95d050f862d021", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 232129, "upload_time": "2019-03-07T16:46:02", "url": "https://files.pythonhosted.org/packages/7c/c3/140bfe0015330af1624a3297d00b74913930d74259924e422d90fb372622/pyhash-0.9.3-cp37-cp37m-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0e08427d5e9a64a8262904911d063b50", "sha256": "f6808fdc840f458885f3970cf23f7797332cd653a75b85fd4e095fdf478193f5" }, "downloads": -1, "filename": "pyhash-0.9.3-pp270-pypy_41-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "0e08427d5e9a64a8262904911d063b50", "packagetype": "bdist_wheel", "python_version": "pp270", "requires_python": null, "size": 436112, "upload_time": "2019-03-07T16:46:06", "url": "https://files.pythonhosted.org/packages/5b/17/9c7dbe4b5319b7164c832ec43720b627fa10678069adef9d2ca67f4b0a7b/pyhash-0.9.3-pp270-pypy_41-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cdf960ffdbd6b5c9029938c0c88d0941", "sha256": "def02321636dbd2a437affc080d0f91861bf88ee0a70f9777525f93e18aca3c4" }, "downloads": -1, "filename": "pyhash-0.9.3-pp370-pypy3_70-macosx_10_14_x86_64.whl", "has_sig": false, "md5_digest": "cdf960ffdbd6b5c9029938c0c88d0941", "packagetype": "bdist_wheel", "python_version": "pp370", "requires_python": null, "size": 207616, "upload_time": "2019-03-07T16:46:10", "url": "https://files.pythonhosted.org/packages/92/ae/67e99d6493eeff760e63257003baaf66d5540ee6bb30eda38d159a333e74/pyhash-0.9.3-pp370-pypy3_70-macosx_10_14_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "bd3028e30a35b2337a5184fac0ebe4f0", "sha256": "cff5c81d613163fc59d623d4546d9be55b46ecd0e573b59057b1bb112a497763" }, "downloads": -1, "filename": "pyhash-0.9.3.tar.gz", "has_sig": false, "md5_digest": "bd3028e30a35b2337a5184fac0ebe4f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 602308, "upload_time": "2019-03-07T16:46:17", "url": "https://files.pythonhosted.org/packages/f0/bf/4db9bed05d10824a17697f65063de19892ca2171a31a9c6854f9bbf55c02/pyhash-0.9.3.tar.gz" } ] }