# MetroHash
Python wrapper for [MetroHash](https://github.com/jandrewrogers/MetroHash), a
fast non-cryptographic hash function.
[](https://github.com/escherba/python-metrohash/actions/workflows/build.yml)
[](https://pypi.python.org/pypi/metrohash)
[](https://pypistats.org/packages/metrohash)
[](https://opensource.org/licenses/Apache-2.0)
[](https://pypi.python.org/pypi/metrohash)
## Getting Started
To use this package in your program, simply type
``` bash
pip install metrohash
```
After that, you should be able to import the module and do things with
it (see usage example below).
## Usage Examples
### Stateless hashing
This package provides Python interfaces to 64- and 128-bit
implementations of MetroHash algorithm. For stateless hashing, it
exports `metrohash64` and `metrohash128` functions. Both take a value to
be hashed and an optional `seed` parameter:
``` python
>>> import metrohash
...
>>> metrohash.hash64_int("abc", seed=0)
17099979927131455419
>>> metrohash.hash128_int("abc")
182995299641628952910564950850867298725
```
### Incremental hashing
Unlike its cousins CityHash and FarmHash, MetroHash allows incremental
(stateful) hashing. For incremental hashing, use `MetroHash64` and
`MetroHash128` classes. Incremental hashing is associative and
guarantees that any combination of input slices will result in the same
final hash value. This is useful for processing large inputs and stream
data. Example with two slices:
``` python
>>> mh = metrohash.MetroHash64()
>>> mh.update("Nobody inspects")
>>> mh.update(" the spammish repetition")
>>> mh.intdigest()
7851180100622203313
```
The resulting hash value above should be the same as in:
``` python
>>> mh = metrohash.MetroHash64()
>>> mh.update("Nobody inspects the spammish repetition")
>>> mh.intdigest()
7851180100622203313
```
### Fast hashing of NumPy arrays
The Python [Buffer
Protocol](https://docs.python.org/3/c-api/buffer.html) allows Python
objects to expose their data as raw byte arrays to other objects, for
fast access without copying to a separate location in memory. Among
others, NumPy is a major framework that supports this protocol.
All hashing functions in this packege will read byte arrays from objects
that expose them via the buffer protocol. Here is an example showing
hashing of a 4D NumPy array:
``` python
>>> import numpy as np
>>> arr = np.zeros((256, 256, 4))
>>> metrohash.hash64_int(arr)
12125832280816116063
```
The arrays need to be contiguous for this to work. To convert a
non-contiguous array, use NumPy's `ascontiguousarray()` function.
## Development
### Local workflow
For those who want to contribute, here is a quick start using some
makefile commands:
``` bash
git clone https://github.com/escherba/python-metrohash.git
cd python-metrohash
make env # create a virtual environment
make test # run Python tests
make cpp-test # run C++ tests
make shell # enter IPython shell
```
To find out which Make targets are available, type:
``` bash
make help
```
### Distribution
The wheels are built using [cibuildwheel](https://cibuildwheel.readthedocs.io/)
and are distributed to PyPI using GitHub actions. The wheels contain compiled
binaries and are available for the following platforms: windows-amd64,
ubuntu-x86, linux-x86\_64, linux-aarch64, and macosx-x86\_64.
## See Also
For other fast non-cryptographic hash functions available as Python
extensions, see [FarmHash](https://github.com/escherba/python-cityhash)
and [MurmurHash](https://github.com/hajimes/mmh3).
## Authors
The MetroHash algorithm and C++ implementation is due to J. Andrew
Rogers. The Python bindings for it were written by Eugene Scherba.
## License
This software is licensed under the [Apache License,
Version 2.0](https://opensource.org/licenses/Apache-2.0). See the
included LICENSE file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/escherba/python-metrohash",
"name": "metrohash",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "hash, hashing, metrohash, cython",
"author": "Eugene Scherba",
"author_email": "escherba+metrohash@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/c9/cc/eebfa3618fb63f9f87454c3a9c384d4371a3419b7b01a23c3315cad63450/metrohash-0.4.0.tar.gz",
"platform": null,
"description": "# MetroHash\n\nPython wrapper for [MetroHash](https://github.com/jandrewrogers/MetroHash), a\nfast non-cryptographic hash function.\n\n[](https://github.com/escherba/python-metrohash/actions/workflows/build.yml)\n[](https://pypi.python.org/pypi/metrohash)\n[](https://pypistats.org/packages/metrohash)\n[](https://opensource.org/licenses/Apache-2.0)\n[](https://pypi.python.org/pypi/metrohash)\n\n## Getting Started\n\nTo use this package in your program, simply type\n\n``` bash\npip install metrohash\n```\n\nAfter that, you should be able to import the module and do things with\nit (see usage example below).\n\n## Usage Examples\n\n### Stateless hashing\n\nThis package provides Python interfaces to 64- and 128-bit\nimplementations of MetroHash algorithm. For stateless hashing, it\nexports `metrohash64` and `metrohash128` functions. Both take a value to\nbe hashed and an optional `seed` parameter:\n\n``` python\n>>> import metrohash\n...\n>>> metrohash.hash64_int(\"abc\", seed=0)\n17099979927131455419\n>>> metrohash.hash128_int(\"abc\")\n182995299641628952910564950850867298725\n\n```\n\n### Incremental hashing\n\nUnlike its cousins CityHash and FarmHash, MetroHash allows incremental\n(stateful) hashing. For incremental hashing, use `MetroHash64` and\n`MetroHash128` classes. Incremental hashing is associative and\nguarantees that any combination of input slices will result in the same\nfinal hash value. This is useful for processing large inputs and stream\ndata. Example with two slices:\n\n``` python\n>>> mh = metrohash.MetroHash64()\n>>> mh.update(\"Nobody inspects\")\n>>> mh.update(\" the spammish repetition\")\n>>> mh.intdigest()\n7851180100622203313\n\n```\n\nThe resulting hash value above should be the same as in:\n\n``` python\n>>> mh = metrohash.MetroHash64()\n>>> mh.update(\"Nobody inspects the spammish repetition\")\n>>> mh.intdigest()\n7851180100622203313\n\n```\n\n### Fast hashing of NumPy arrays\n\nThe Python [Buffer\nProtocol](https://docs.python.org/3/c-api/buffer.html) allows Python\nobjects to expose their data as raw byte arrays to other objects, for\nfast access without copying to a separate location in memory. Among\nothers, NumPy is a major framework that supports this protocol.\n\nAll hashing functions in this packege will read byte arrays from objects\nthat expose them via the buffer protocol. Here is an example showing\nhashing of a 4D NumPy array:\n\n``` python\n>>> import numpy as np\n>>> arr = np.zeros((256, 256, 4))\n>>> metrohash.hash64_int(arr)\n12125832280816116063\n\n```\n\nThe arrays need to be contiguous for this to work. To convert a\nnon-contiguous array, use NumPy's `ascontiguousarray()` function.\n\n## Development\n\n### Local workflow\n\nFor those who want to contribute, here is a quick start using some\nmakefile commands:\n\n``` bash\ngit clone https://github.com/escherba/python-metrohash.git\ncd python-metrohash\nmake env # create a virtual environment\nmake test # run Python tests\nmake cpp-test # run C++ tests\nmake shell # enter IPython shell\n```\n\nTo find out which Make targets are available, type:\n\n``` bash\nmake help\n```\n\n### Distribution\n\nThe wheels are built using [cibuildwheel](https://cibuildwheel.readthedocs.io/)\nand are distributed to PyPI using GitHub actions. The wheels contain compiled\nbinaries and are available for the following platforms: windows-amd64,\nubuntu-x86, linux-x86\\_64, linux-aarch64, and macosx-x86\\_64.\n\n## See Also\n\nFor other fast non-cryptographic hash functions available as Python\nextensions, see [FarmHash](https://github.com/escherba/python-cityhash)\nand [MurmurHash](https://github.com/hajimes/mmh3).\n\n## Authors\n\nThe MetroHash algorithm and C++ implementation is due to J. Andrew\nRogers. The Python bindings for it were written by Eugene Scherba.\n\n## License\n\nThis software is licensed under the [Apache License,\nVersion 2.0](https://opensource.org/licenses/Apache-2.0). See the\nincluded LICENSE file for details.\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Python bindings for MetroHash, a fast non-cryptographic hash algorithm",
"version": "0.4.0",
"project_urls": {
"Download": "https://github.com/escherba/python-metrohash/tarball/master/0.4.0",
"Homepage": "https://github.com/escherba/python-metrohash"
},
"split_keywords": [
"hash",
" hashing",
" metrohash",
" cython"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d97a70cda3e308da07dbe51199a7adfd80d36934c08b89eba523f61386f4a0c8",
"md5": "dd62d18b1bf113b43813850a1f3ef7cd",
"sha256": "802e714c02ec839812141c8a4c0b23f870c1fe3ac8c09db854397f3c05291f8c"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "dd62d18b1bf113b43813850a1f3ef7cd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 39622,
"upload_time": "2025-08-02T21:43:55",
"upload_time_iso_8601": "2025-08-02T21:43:55.245824Z",
"url": "https://files.pythonhosted.org/packages/d9/7a/70cda3e308da07dbe51199a7adfd80d36934c08b89eba523f61386f4a0c8/metrohash-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3d7f5b6eddf4d7af4a9951214661afdd4ebead3d3255cb0125ccfa4b83eedde2",
"md5": "904f0b6720d7bd6e945fa70ca8846268",
"sha256": "be1c8274b0e1e5c6b9358b3a80f7c958044fa2402f363030534818f170e0e4c4"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "904f0b6720d7bd6e945fa70ca8846268",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 38730,
"upload_time": "2025-08-02T21:43:56",
"upload_time_iso_8601": "2025-08-02T21:43:56.565953Z",
"url": "https://files.pythonhosted.org/packages/3d/7f/5b6eddf4d7af4a9951214661afdd4ebead3d3255cb0125ccfa4b83eedde2/metrohash-0.4.0-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2d7df75367e4f476c7b32e5af3cf7e19375517d0f85651bdb1597db0260de93b",
"md5": "5064730932406244041472160ffada81",
"sha256": "6f12195561c70024b331fcfff5d3096c750d40eca879cb5e36588a86fb2e5f9e"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "5064730932406244041472160ffada81",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 252910,
"upload_time": "2025-08-02T21:43:57",
"upload_time_iso_8601": "2025-08-02T21:43:57.740556Z",
"url": "https://files.pythonhosted.org/packages/2d/7d/f75367e4f476c7b32e5af3cf7e19375517d0f85651bdb1597db0260de93b/metrohash-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f8998c065c8c89c7a379384cb001adf7374575af96e9f16a9fb3cd523f49315f",
"md5": "2d80aff6a04f2e8f2dbbccf22c778aa3",
"sha256": "cae8c357963ee8dd1196488bab8550dd7467321353d57843020eb0bf626ae772"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "2d80aff6a04f2e8f2dbbccf22c778aa3",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 252658,
"upload_time": "2025-08-02T21:43:58",
"upload_time_iso_8601": "2025-08-02T21:43:58.639431Z",
"url": "https://files.pythonhosted.org/packages/f8/99/8c065c8c89c7a379384cb001adf7374575af96e9f16a9fb3cd523f49315f/metrohash-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "694be84fafb6f48f5771823e7dc2a677b718fb41b4d3ba60b5a2c7bc7008a45e",
"md5": "664fa2be0f27d2bdca02effbb87de02c",
"sha256": "777ffadaad578045f0df856699343615330e9674e48695a5e5e40a53b2a320ca"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "664fa2be0f27d2bdca02effbb87de02c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 35148,
"upload_time": "2025-08-02T21:43:59",
"upload_time_iso_8601": "2025-08-02T21:43:59.867754Z",
"url": "https://files.pythonhosted.org/packages/69/4b/e84fafb6f48f5771823e7dc2a677b718fb41b4d3ba60b5a2c7bc7008a45e/metrohash-0.4.0-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6b6e18bde134b6d1e5ed054fe13f6c6661a6e5ba8a5bd83919cce1c19168563b",
"md5": "a7780c91890aa2147c6e7811d9c77a6e",
"sha256": "221b0534b893df7b9a5efc713baf3759d842cd4d2c9f765604df11eb19c185ca"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "a7780c91890aa2147c6e7811d9c77a6e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 35733,
"upload_time": "2025-08-02T21:44:01",
"upload_time_iso_8601": "2025-08-02T21:44:01.066019Z",
"url": "https://files.pythonhosted.org/packages/6b/6e/18bde134b6d1e5ed054fe13f6c6661a6e5ba8a5bd83919cce1c19168563b/metrohash-0.4.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7a4bb331d196941319ebd05b593310bad7023c386d8fd839a72c48d581eac66d",
"md5": "02a458e765f6d391e4dc03477fac3d09",
"sha256": "b537e6059a012e9e8a2f3df85b35353a825c87f21ed51d41b0634a058bfb3732"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "02a458e765f6d391e4dc03477fac3d09",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 39267,
"upload_time": "2025-08-02T21:44:02",
"upload_time_iso_8601": "2025-08-02T21:44:02.101044Z",
"url": "https://files.pythonhosted.org/packages/7a/4b/b331d196941319ebd05b593310bad7023c386d8fd839a72c48d581eac66d/metrohash-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cab1b787a350e343fe330fbee4c66827e5bd8817b7d0e835adc0a10f4dfd38dd",
"md5": "3ce966502d1091a91774cafb0b32937f",
"sha256": "9e12d54caa1cbe19a6e4dee41df672480aedb797c3ab4a62b56484769cf57760"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "3ce966502d1091a91774cafb0b32937f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 38443,
"upload_time": "2025-08-02T21:44:02",
"upload_time_iso_8601": "2025-08-02T21:44:02.827917Z",
"url": "https://files.pythonhosted.org/packages/ca/b1/b787a350e343fe330fbee4c66827e5bd8817b7d0e835adc0a10f4dfd38dd/metrohash-0.4.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "618e9aa968e66b1946f60c58e4e6c5bbf4ca533f54d503751a1b2a158d4d9f64",
"md5": "fe7c570709eb654af96935242c7c77da",
"sha256": "fdfd915e2ace9cc1247291ab05a37ca66e5289250f06f97d496dc8fead7c5f68"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "fe7c570709eb654af96935242c7c77da",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 268045,
"upload_time": "2025-08-02T21:44:03",
"upload_time_iso_8601": "2025-08-02T21:44:03.663217Z",
"url": "https://files.pythonhosted.org/packages/61/8e/9aa968e66b1946f60c58e4e6c5bbf4ca533f54d503751a1b2a158d4d9f64/metrohash-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "578cc9968c8c3972ba073c2a04ab316a0135c7e44e96e041035d27eb686cc5e2",
"md5": "d8287005bc6dff9dbe9c7738fa445c53",
"sha256": "56e1b73b2f505fbf26cd6027e55564a6c6f03c372f71b3e1952c53e98498ecf6"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d8287005bc6dff9dbe9c7738fa445c53",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 268799,
"upload_time": "2025-08-02T21:44:04",
"upload_time_iso_8601": "2025-08-02T21:44:04.566749Z",
"url": "https://files.pythonhosted.org/packages/57/8c/c9968c8c3972ba073c2a04ab316a0135c7e44e96e041035d27eb686cc5e2/metrohash-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bd98d048f27836eac56a94bb4befa2de5222ace52c5ce5d81d99d815daf8fb0b",
"md5": "02f70e471892691747aceaf96a952153",
"sha256": "045fd28943b1518d77c331aad716f0d85f9fa65a4ccbab85484bb64edbb161c3"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "02f70e471892691747aceaf96a952153",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 34936,
"upload_time": "2025-08-02T21:44:05",
"upload_time_iso_8601": "2025-08-02T21:44:05.792637Z",
"url": "https://files.pythonhosted.org/packages/bd/98/d048f27836eac56a94bb4befa2de5222ace52c5ce5d81d99d815daf8fb0b/metrohash-0.4.0-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d0f61337cc91ab2615b2027908f914fa5811103a38e9eee3130f53a4f2941921",
"md5": "1efbbcaf61cfea9a38f742d3c4792aa1",
"sha256": "1d7fe822937051d1a3a53261efe14cb706d7f30a11ef6efede21445f2567ef9f"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "1efbbcaf61cfea9a38f742d3c4792aa1",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 35487,
"upload_time": "2025-08-02T21:44:06",
"upload_time_iso_8601": "2025-08-02T21:44:06.519563Z",
"url": "https://files.pythonhosted.org/packages/d0/f6/1337cc91ab2615b2027908f914fa5811103a38e9eee3130f53a4f2941921/metrohash-0.4.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fd5487bc20bd51a87e6298c0b0162b709b4902a2a7c11bb3c256e687c15e6aba",
"md5": "323ce709c0636548f79b437a5c70fa7f",
"sha256": "fa9d51de492bf8cf395a88eca2909a7d290240d49912a2bbaa286cba77e18ff7"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "323ce709c0636548f79b437a5c70fa7f",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 39764,
"upload_time": "2025-08-02T21:44:07",
"upload_time_iso_8601": "2025-08-02T21:44:07.265243Z",
"url": "https://files.pythonhosted.org/packages/fd/54/87bc20bd51a87e6298c0b0162b709b4902a2a7c11bb3c256e687c15e6aba/metrohash-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1069e5f7eaa631dad2261f3a3e5c227a706db55415a4e971b32915272403b533",
"md5": "e91a02e46a8ab3b6971f7e46012c37a2",
"sha256": "064356d5b014f13b369e067ab7a8f0769f4453e54d499e733f56ffd5b812873a"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "e91a02e46a8ab3b6971f7e46012c37a2",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 38352,
"upload_time": "2025-08-02T21:44:08",
"upload_time_iso_8601": "2025-08-02T21:44:08.038627Z",
"url": "https://files.pythonhosted.org/packages/10/69/e5f7eaa631dad2261f3a3e5c227a706db55415a4e971b32915272403b533/metrohash-0.4.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3eebdd1344503ed5c3b987f80bc4b587c3f0bab165dfb84e8d293afdab7e65c5",
"md5": "c897dad0b23ae62d452e846800993450",
"sha256": "6e28b7e9c3af41d01031fe221351dd7008e5d3c4a52a019c97cfaca9123b50f9"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "c897dad0b23ae62d452e846800993450",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 267919,
"upload_time": "2025-08-02T21:44:09",
"upload_time_iso_8601": "2025-08-02T21:44:09.133684Z",
"url": "https://files.pythonhosted.org/packages/3e/eb/dd1344503ed5c3b987f80bc4b587c3f0bab165dfb84e8d293afdab7e65c5/metrohash-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c1ae451568b5ce9d3e4f39999be2dc47785ec816cc9913d5f5ce638ec50f6e47",
"md5": "ae1e954abc98a3595aa4b20039314f97",
"sha256": "31f4f1656ea7d8252471dd656a2fbd644da4b0bc996985d76e84b21adac98442"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ae1e954abc98a3595aa4b20039314f97",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 269843,
"upload_time": "2025-08-02T21:44:10",
"upload_time_iso_8601": "2025-08-02T21:44:10.169146Z",
"url": "https://files.pythonhosted.org/packages/c1/ae/451568b5ce9d3e4f39999be2dc47785ec816cc9913d5f5ce638ec50f6e47/metrohash-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3ce7c71ff5c97936dd47aaed86b17c5969b28bf12a7cd24bdf3e67e866940604",
"md5": "ae0848fa0eb4a144c3e5186472684b99",
"sha256": "f931d3997673c436f91496f3982329891490219d7c216bbac3b68e8ceb6b6bae"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "ae0848fa0eb4a144c3e5186472684b99",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 34566,
"upload_time": "2025-08-02T21:44:11",
"upload_time_iso_8601": "2025-08-02T21:44:11.466446Z",
"url": "https://files.pythonhosted.org/packages/3c/e7/c71ff5c97936dd47aaed86b17c5969b28bf12a7cd24bdf3e67e866940604/metrohash-0.4.0-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "05343c5ba042a5fc50dd0bd2f4cc03f5507968a555750e5b81d43576a891b8f0",
"md5": "83d21701d853f360b15cc9a8965645d8",
"sha256": "b851ec9768ffc099b0b6eefae4643d2890ec279dc369504df3800d3803792555"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "83d21701d853f360b15cc9a8965645d8",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 35508,
"upload_time": "2025-08-02T21:44:12",
"upload_time_iso_8601": "2025-08-02T21:44:12.177437Z",
"url": "https://files.pythonhosted.org/packages/05/34/3c5ba042a5fc50dd0bd2f4cc03f5507968a555750e5b81d43576a891b8f0/metrohash-0.4.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d906506441c698c7ab390e0fed354def106c0ac2828f5197aa99bf4c7a7e5bf9",
"md5": "e598b11de65c7e5e931fd6d73d38c372",
"sha256": "dc15e9913b85860a4135290ea423a55eaa31967f41fbf9225c85e789465cc58f"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "e598b11de65c7e5e931fd6d73d38c372",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 39012,
"upload_time": "2025-08-02T21:44:12",
"upload_time_iso_8601": "2025-08-02T21:44:12.908243Z",
"url": "https://files.pythonhosted.org/packages/d9/06/506441c698c7ab390e0fed354def106c0ac2828f5197aa99bf4c7a7e5bf9/metrohash-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4cb47231f030b830b1aafb77a7f4ddd000b5fa6010f4f3fde804b6c99b7d6be0",
"md5": "aebf5a5aadb599368422967dcf9fe2c6",
"sha256": "997a56c7c9d9e1739c9c9fbf2a169fefbb8d4357aeab1b3bd4163786015efe91"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "aebf5a5aadb599368422967dcf9fe2c6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 37642,
"upload_time": "2025-08-02T21:44:13",
"upload_time_iso_8601": "2025-08-02T21:44:13.937147Z",
"url": "https://files.pythonhosted.org/packages/4c/b4/7231f030b830b1aafb77a7f4ddd000b5fa6010f4f3fde804b6c99b7d6be0/metrohash-0.4.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "748c8d6c9680db62a1d60898b256353cb79811419a9f1c69556ea6ffd977f49c",
"md5": "33067bed52ddaa04f87429adb0464558",
"sha256": "77d94065ba751b8c4f9d65559e45ff69b2415fceffdf8da3e45c2a774797bb2b"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "33067bed52ddaa04f87429adb0464558",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 262918,
"upload_time": "2025-08-02T21:44:15",
"upload_time_iso_8601": "2025-08-02T21:44:15.041565Z",
"url": "https://files.pythonhosted.org/packages/74/8c/8d6c9680db62a1d60898b256353cb79811419a9f1c69556ea6ffd977f49c/metrohash-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b7a1c7994e662a39f501981d1cb7abc8a6d9e09a9005f61540ff8aabdeb7e880",
"md5": "6cad2288505abdfc95cb433de26f4482",
"sha256": "65960ecde3f871f04b76ca2f3d9766728a3f9aabd6929bc8e5c6aeccf97bfeda"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "6cad2288505abdfc95cb433de26f4482",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 264483,
"upload_time": "2025-08-02T21:44:16",
"upload_time_iso_8601": "2025-08-02T21:44:16.098897Z",
"url": "https://files.pythonhosted.org/packages/b7/a1/c7994e662a39f501981d1cb7abc8a6d9e09a9005f61540ff8aabdeb7e880/metrohash-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "08f1b87549d0ff2b7ac32382bbe726268daa1f359dc9937448ff73cd6d6e41a1",
"md5": "79045edf022614f663bb83fd0acd6a54",
"sha256": "2f2ae4ebdb1c681d3bb82fdb84543deeeb11bf319f9f20cb6cc9b91f9844195d"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "79045edf022614f663bb83fd0acd6a54",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 34278,
"upload_time": "2025-08-02T21:44:17",
"upload_time_iso_8601": "2025-08-02T21:44:17.326064Z",
"url": "https://files.pythonhosted.org/packages/08/f1/b87549d0ff2b7ac32382bbe726268daa1f359dc9937448ff73cd6d6e41a1/metrohash-0.4.0-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3b6f3a1f8c8db3bd5d2e81b88ebf97d4689f7c83cb4642b5bbbc83f0aa2d6522",
"md5": "97aaded771991655435863fd900745c8",
"sha256": "d932afc31af9d97928a328c2964034eb7cd34d54d2c386e3c7efafbcb531c959"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "97aaded771991655435863fd900745c8",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 34755,
"upload_time": "2025-08-02T21:44:18",
"upload_time_iso_8601": "2025-08-02T21:44:18.044092Z",
"url": "https://files.pythonhosted.org/packages/3b/6f/3a1f8c8db3bd5d2e81b88ebf97d4689f7c83cb4642b5bbbc83f0aa2d6522/metrohash-0.4.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7595c0e81da6b63bdfcfddb115fe8115fbb0a3dd4748e8a060c12c47302ced62",
"md5": "02fb13e0b73f60c13733b0a4ab6a9972",
"sha256": "c5ae7b13dc7fea4ebfdd6c09a9f00820f065320ac2de6d9d5ff33220a582b4e1"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp36-cp36m-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "02fb13e0b73f60c13733b0a4ab6a9972",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3.6",
"size": 41141,
"upload_time": "2025-08-02T21:44:18",
"upload_time_iso_8601": "2025-08-02T21:44:18.792037Z",
"url": "https://files.pythonhosted.org/packages/75/95/c0e81da6b63bdfcfddb115fe8115fbb0a3dd4748e8a060c12c47302ced62/metrohash-0.4.0-cp36-cp36m-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2c191b9141d92c0a6b10494bfb66b7f7e29a8b49f71dcf533400cf147479c8cb",
"md5": "d102738b5b35454a422fa12a254ece92",
"sha256": "dc4f32bc08515297926fbbaa79980ba41df9afe74d5567a1ca3a93759cf8e3ca"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "d102738b5b35454a422fa12a254ece92",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3.6",
"size": 201253,
"upload_time": "2025-08-02T21:44:19",
"upload_time_iso_8601": "2025-08-02T21:44:19.525950Z",
"url": "https://files.pythonhosted.org/packages/2c/19/1b9141d92c0a6b10494bfb66b7f7e29a8b49f71dcf533400cf147479c8cb/metrohash-0.4.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6bb7fa698afb21d6696a7ec98895a15adad1a306b919eecc311f12fcff154ac9",
"md5": "28a3f3a4b86a8527a8643d55da06b196",
"sha256": "0581cf6374f26724d7dcb3ad23af4feeefb5fef6690813953db397eb35bc4516"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "28a3f3a4b86a8527a8643d55da06b196",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3.6",
"size": 200907,
"upload_time": "2025-08-02T21:44:20",
"upload_time_iso_8601": "2025-08-02T21:44:20.742212Z",
"url": "https://files.pythonhosted.org/packages/6b/b7/fa698afb21d6696a7ec98895a15adad1a306b919eecc311f12fcff154ac9/metrohash-0.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bdb85311fcde26bc99e8c05cde34f37d2eaf8b023f379d5243b0b153c42e6a87",
"md5": "3fe7a8d86deebf3bec700cafd15b6552",
"sha256": "eaef4c36a218a25941ed1b70c6abb744522af368055d54b53af9ae1d52bcc24b"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp36-cp36m-win32.whl",
"has_sig": false,
"md5_digest": "3fe7a8d86deebf3bec700cafd15b6552",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3.6",
"size": 37373,
"upload_time": "2025-08-02T21:44:21",
"upload_time_iso_8601": "2025-08-02T21:44:21.909343Z",
"url": "https://files.pythonhosted.org/packages/bd/b8/5311fcde26bc99e8c05cde34f37d2eaf8b023f379d5243b0b153c42e6a87/metrohash-0.4.0-cp36-cp36m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f89091917095abe123bc6f814d7987052005a87656f3a00bf3116122fcc28bd9",
"md5": "825c1f4b0bc93ac8d99747b7603fb1d0",
"sha256": "6ad912a891f91fc6a14da2e9369c5ea51f0605644c916840e56099f989ba0e1b"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp36-cp36m-win_amd64.whl",
"has_sig": false,
"md5_digest": "825c1f4b0bc93ac8d99747b7603fb1d0",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3.6",
"size": 38183,
"upload_time": "2025-08-02T21:44:22",
"upload_time_iso_8601": "2025-08-02T21:44:22.651051Z",
"url": "https://files.pythonhosted.org/packages/f8/90/91917095abe123bc6f814d7987052005a87656f3a00bf3116122fcc28bd9/metrohash-0.4.0-cp36-cp36m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0e031ef37bf7c69f6b45168946fce303486fea596c42b9151742f226beff0e41",
"md5": "11eaf8158a388e459f592a1f49dd4d99",
"sha256": "57849b1490c82f5d0769df93243168a88279f12376d23aa9e92724082e7952e4"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp37-cp37m-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "11eaf8158a388e459f592a1f49dd4d99",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.6",
"size": 41916,
"upload_time": "2025-08-02T21:44:23",
"upload_time_iso_8601": "2025-08-02T21:44:23.369119Z",
"url": "https://files.pythonhosted.org/packages/0e/03/1ef37bf7c69f6b45168946fce303486fea596c42b9151742f226beff0e41/metrohash-0.4.0-cp37-cp37m-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6e4eaec31e2f650872f8514dbd2b2123234621dbb49d65b54f4b11385bb02247",
"md5": "a0d510049f49b501859d148e0652331c",
"sha256": "8ebd0cf705039038f24e7b9c0ebc5711dc7a548480bc997a7176c3b7db6002b2"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "a0d510049f49b501859d148e0652331c",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.6",
"size": 226334,
"upload_time": "2025-08-02T21:44:24",
"upload_time_iso_8601": "2025-08-02T21:44:24.122513Z",
"url": "https://files.pythonhosted.org/packages/6e/4e/aec31e2f650872f8514dbd2b2123234621dbb49d65b54f4b11385bb02247/metrohash-0.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "738ae11835014e71592479ac682d831948035b837acaa4fbe24a0490655ff9ba",
"md5": "94c9c0b29b19f9343bca27198ddee940",
"sha256": "29db16ab45923fde2b2fd25821d39f206ffc83e5c728110581ac0593be119a45"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "94c9c0b29b19f9343bca27198ddee940",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.6",
"size": 226808,
"upload_time": "2025-08-02T21:44:25",
"upload_time_iso_8601": "2025-08-02T21:44:25.054819Z",
"url": "https://files.pythonhosted.org/packages/73/8a/e11835014e71592479ac682d831948035b837acaa4fbe24a0490655ff9ba/metrohash-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7787e38272dfb60bbe3f094550cdcf2dee6a2c86dfb24c99873a7294939f8174",
"md5": "0afc53d4fd0af76e698f8f97c0175fdd",
"sha256": "c9e9a79c5463ea928a43a9cb9a5ebbb30faeb12b7a653a06d1e3f92704660084"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "0afc53d4fd0af76e698f8f97c0175fdd",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.6",
"size": 37983,
"upload_time": "2025-08-02T21:44:26",
"upload_time_iso_8601": "2025-08-02T21:44:26.447545Z",
"url": "https://files.pythonhosted.org/packages/77/87/e38272dfb60bbe3f094550cdcf2dee6a2c86dfb24c99873a7294939f8174/metrohash-0.4.0-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4e679cb68264ad66c8b4cb8483557cd445a846f7f7306187ebd9fd952c68279e",
"md5": "3d0884fc8afbf092ac94fbbe032a23b5",
"sha256": "e6f559c1171c1ccba8dedf63a8fa420c01f0d6dfc913c988ea9ea951455cb83e"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "3d0884fc8afbf092ac94fbbe032a23b5",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.6",
"size": 38654,
"upload_time": "2025-08-02T21:44:27",
"upload_time_iso_8601": "2025-08-02T21:44:27.177852Z",
"url": "https://files.pythonhosted.org/packages/4e/67/9cb68264ad66c8b4cb8483557cd445a846f7f7306187ebd9fd952c68279e/metrohash-0.4.0-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "379ebaba83bda8c48cb92474c9efcdfec189f0018fc4fb47cecc163efa14b9d1",
"md5": "53418fa3a011abd369f9b60d0cce85ab",
"sha256": "c8855d98d4f67234d0b6d1ac118f560bd36a8629b4bcc471acdba62957402777"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "53418fa3a011abd369f9b60d0cce85ab",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 41382,
"upload_time": "2025-08-02T21:44:27",
"upload_time_iso_8601": "2025-08-02T21:44:27.921527Z",
"url": "https://files.pythonhosted.org/packages/37/9e/baba83bda8c48cb92474c9efcdfec189f0018fc4fb47cecc163efa14b9d1/metrohash-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "732561ee5a44b0414f62d6a49a0cdc79e07ba466de8d866a1d63aede6eb01414",
"md5": "10afe134b7155478fb7074e4b9367d36",
"sha256": "0722a67b7239d61793d993a6c7c148916b3b23dccbcbb6ee1b0e7a623adc40fa"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "10afe134b7155478fb7074e4b9367d36",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 241446,
"upload_time": "2025-08-02T21:44:29",
"upload_time_iso_8601": "2025-08-02T21:44:29.115372Z",
"url": "https://files.pythonhosted.org/packages/73/25/61ee5a44b0414f62d6a49a0cdc79e07ba466de8d866a1d63aede6eb01414/metrohash-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fc21de73c347bb62717ea816f39d5c49ffd4daba50f5bd1fd824a791379aabc5",
"md5": "5c02aae63248cc4c345f588cfbaf586c",
"sha256": "8948e384d4cddc6e6004dd5f929bd3f61b864e6e933be61271577c8b1614885b"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "5c02aae63248cc4c345f588cfbaf586c",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 240941,
"upload_time": "2025-08-02T21:44:30",
"upload_time_iso_8601": "2025-08-02T21:44:30.093300Z",
"url": "https://files.pythonhosted.org/packages/fc/21/de73c347bb62717ea816f39d5c49ffd4daba50f5bd1fd824a791379aabc5/metrohash-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bf806aaba0d4656d2da0f03a674e2c2eb8027d56f5905647cc9962e0c6a1449c",
"md5": "4a95be17e0bde1dcfe28cd7fed762bea",
"sha256": "db712137dffbd879aa27989c7fb257826d27777ea91b66df081c26a925cd3901"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "4a95be17e0bde1dcfe28cd7fed762bea",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 35536,
"upload_time": "2025-08-02T21:44:31",
"upload_time_iso_8601": "2025-08-02T21:44:31.332523Z",
"url": "https://files.pythonhosted.org/packages/bf/80/6aaba0d4656d2da0f03a674e2c2eb8027d56f5905647cc9962e0c6a1449c/metrohash-0.4.0-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4e15e448fe8d380488b54b98d7bdc9bda78789191d1de94c58ec82b42a408ac2",
"md5": "446fd73fea90dbcc4289fbbdc11f4c25",
"sha256": "3c5ebf540ae1f3c79cc251ea23b737fdd0cefa5a156539b23dde21b103e5f91a"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "446fd73fea90dbcc4289fbbdc11f4c25",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 36224,
"upload_time": "2025-08-02T21:44:32",
"upload_time_iso_8601": "2025-08-02T21:44:32.064065Z",
"url": "https://files.pythonhosted.org/packages/4e/15/e448fe8d380488b54b98d7bdc9bda78789191d1de94c58ec82b42a408ac2/metrohash-0.4.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7c397f5628c8db2ec46f97543ae0ebd6e24e638bfc346a43d88c8ac06df4e5a3",
"md5": "cea219ca996bcba6c56d30c7648c562f",
"sha256": "fb90fdab33ddfd3d9265ae92b90ce73b5964ea7f8568422c767945d064c5e359"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "cea219ca996bcba6c56d30c7648c562f",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 40322,
"upload_time": "2025-08-02T21:44:33",
"upload_time_iso_8601": "2025-08-02T21:44:33.109197Z",
"url": "https://files.pythonhosted.org/packages/7c/39/7f5628c8db2ec46f97543ae0ebd6e24e638bfc346a43d88c8ac06df4e5a3/metrohash-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "aceef87398084f186b4d1babea33f7d2cd1bdd2dbf633e39d7d83a2a12b6e0f2",
"md5": "b59b2fcf73da7ff1ca0c15e634471ca3",
"sha256": "82a9776f78ec37109de964189b746764a6223b7a026d9a518a674960798bbf82"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "b59b2fcf73da7ff1ca0c15e634471ca3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 39447,
"upload_time": "2025-08-02T21:44:33",
"upload_time_iso_8601": "2025-08-02T21:44:33.842818Z",
"url": "https://files.pythonhosted.org/packages/ac/ee/f87398084f186b4d1babea33f7d2cd1bdd2dbf633e39d7d83a2a12b6e0f2/metrohash-0.4.0-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2be49b2861d5db7b6b61b5132cd6909f688de7aed3054d5ec157bf267f4ce59c",
"md5": "dd8849012faf34fa2555f285881bd5c4",
"sha256": "8acae79c3e4437631b27ff9c6c5e3cb4c08ae3719a4b31c3a435ac3bd2ed760f"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "dd8849012faf34fa2555f285881bd5c4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 255199,
"upload_time": "2025-08-02T21:44:34",
"upload_time_iso_8601": "2025-08-02T21:44:34.956847Z",
"url": "https://files.pythonhosted.org/packages/2b/e4/9b2861d5db7b6b61b5132cd6909f688de7aed3054d5ec157bf267f4ce59c/metrohash-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4840492641aad6f3459f65a1dd9e9936753c77c0db34427eaaa2388b69ca033d",
"md5": "d287d179336d94267757d73cab41fea8",
"sha256": "0fa0a498e939391fc9f32907670856437cc5773dccc2f5421d4f56ffcdd89f89"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d287d179336d94267757d73cab41fea8",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 255203,
"upload_time": "2025-08-02T21:44:36",
"upload_time_iso_8601": "2025-08-02T21:44:36.324173Z",
"url": "https://files.pythonhosted.org/packages/48/40/492641aad6f3459f65a1dd9e9936753c77c0db34427eaaa2388b69ca033d/metrohash-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9bf1321184c9a9856015264b63ad1e51cc64a6419200875fa6d9fcd5ab3130f4",
"md5": "399d293f5bf93ff17fc769541d3dcabd",
"sha256": "9b517ce8ae53f21ddc11760d8ac73cdc0c8777f8f0ffcfe13415522f365c94a2"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "399d293f5bf93ff17fc769541d3dcabd",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 35641,
"upload_time": "2025-08-02T21:44:37",
"upload_time_iso_8601": "2025-08-02T21:44:37.474186Z",
"url": "https://files.pythonhosted.org/packages/9b/f1/321184c9a9856015264b63ad1e51cc64a6419200875fa6d9fcd5ab3130f4/metrohash-0.4.0-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1f900f8634cf2bd8d09edf44ce7888775e044b6b73cd6f7d504ebddb27126044",
"md5": "df5d04c066e71ceaa6604b5bab56c7fe",
"sha256": "f3c8932023ca177e8684154b04d0bb15dc35d2da7e262ebb2dfc8dcbfbdfd44c"
},
"downloads": -1,
"filename": "metrohash-0.4.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "df5d04c066e71ceaa6604b5bab56c7fe",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 36322,
"upload_time": "2025-08-02T21:44:38",
"upload_time_iso_8601": "2025-08-02T21:44:38.237176Z",
"url": "https://files.pythonhosted.org/packages/1f/90/0f8634cf2bd8d09edf44ce7888775e044b6b73cd6f7d504ebddb27126044/metrohash-0.4.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c9cceebfa3618fb63f9f87454c3a9c384d4371a3419b7b01a23c3315cad63450",
"md5": "cbec2439f51079a92698f7f7423aff05",
"sha256": "5baa08d19a0414f8f5f0e439f08ce420c4c6cf92274d3930f2a9944e4df9c2cb"
},
"downloads": -1,
"filename": "metrohash-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "cbec2439f51079a92698f7f7423aff05",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 80643,
"upload_time": "2025-08-02T21:44:39",
"upload_time_iso_8601": "2025-08-02T21:44:39.074555Z",
"url": "https://files.pythonhosted.org/packages/c9/cc/eebfa3618fb63f9f87454c3a9c384d4371a3419b7b01a23c3315cad63450/metrohash-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-02 21:44:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "escherba",
"github_project": "python-metrohash",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "Cython",
"specs": []
},
{
"name": "ipdb",
"specs": []
},
{
"name": "ipython",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "py-cpuinfo",
"specs": []
},
{
"name": "pytest",
"specs": []
}
],
"lcname": "metrohash"
}