{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Security :: Cryptography" ], "description": "\n.. image:: https://travis-ci.org/data61/anonlink.svg?branch=master\n :target: https://travis-ci.org/data61/anonlink\n\n\n.. image:: https://codecov.io/gh/data61/anonlink/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/data61/anonlink\n\n\n.. image:: https://requires.io/github/data61/anonlink/requirements.svg?branch=master\n :target: https://requires.io/github/data61/anonlink/requirements/?branch=master\n\nA Python (and optimised C++) implementation of **anonymous linkage** using\n*cryptographic linkage keys* as described by Rainer Schnell, Tobias\nBachteler, and J\u00f6rg Reiher in `A Novel Error-Tolerant Anonymous Linking\nCode `__.\n\n``anonlink`` computes similarity scores, and/or best guess matches between sets\nof *cryptographic linkage keys* (hashed entity records).\n\nUse `clkhash `__ to create cryptographic linkage keys\nfrom personally identifiable data.\n\nInstallation\n============\n\nInstall directly from PyPi::\n\n pip install anonlink\n\nOr to install from source::\n\n pip install -r requirements.txt\n pip install -e .\n\nAlternative - Manually compile the C++ library\n----------------------------------------------\n\nFor mac with:\n\n::\n\n g++ -std=c++11 -mssse3 -mpopcnt -O2 -Wall -pedantic -Wextra -dynamiclib -fpic -o _entitymatcher.dll dice_one_against_many.cpp\n\nFor linux with:\n\n::\n\n g++ -std=c++11 -mssse3 -mpopcnt -O2 -Wall -pedantic -Wextra -shared -fpic -o _entitymatcher.so dice_one_against_many.cpp\n\nBenchmark\n---------\n\nYou can run the benchmark with:\n\n::\n\n $ python -m anonlink.benchmark\n Anonlink benchmark -- see README for explanation\n ------------------------------------------------\n 100000 x 1024 bit popcounts\n Implementation | Time (ms) | Bandwidth (MiB/s) | Throughput (1e6 popc/s)\n Python (bitarray.count()): | 17.78 | 686.54 | 5.62\n Native code (no copy): | 1.00 | 12243.76 | 100.30\n Native code (w/ copy): | 344.17 | 35.47 | 0.29 (99.7% copying)\n\n Threshold: 0.5\n Size 1 | Size 2 | Comparisons | Total Time (s) | Throughput\n | | (match %) | (comparisons / matching)| (1e6 cmp/s)\n -------+--------+------------------+-------------------------+-------------\n 1000 | 1000 | 1e6 (50.20%) | 0.249 (88.6% / 11.4%) | 4.525\n 2000 | 2000 | 4e6 (50.51%) | 1.069 (88.5% / 11.5%) | 4.227\n 3000 | 3000 | 9e6 (50.51%) | 2.412 (85.3% / 14.7%) | 4.375\n 4000 | 4000 | 16e6 (50.56%) | 4.316 (83.6% / 16.4%) | 4.434\n\n Threshold: 0.7\n Size 1 | Size 2 | Comparisons | Total Time (s) | Throughput\n | | (match %) | (comparisons / matching)| (1e6 cmp/s)\n -------+--------+------------------+-------------------------+-------------\n 1000 | 1000 | 1e6 ( 0.01%) | 0.017 (99.8% / 0.2%) | 59.605\n 2000 | 2000 | 4e6 ( 0.01%) | 0.056 (99.8% / 0.2%) | 71.484\n 3000 | 3000 | 9e6 ( 0.01%) | 0.118 (99.9% / 0.1%) | 76.500\n 4000 | 4000 | 16e6 ( 0.01%) | 0.202 (99.9% / 0.1%) | 79.256\n 5000 | 5000 | 25e6 ( 0.01%) | 0.309 (99.9% / 0.1%) | 81.093\n 6000 | 6000 | 36e6 ( 0.01%) | 0.435 (99.9% / 0.1%) | 82.841\n 7000 | 7000 | 49e6 ( 0.01%) | 0.590 (99.9% / 0.1%) | 83.164\n 8000 | 8000 | 64e6 ( 0.01%) | 0.757 (99.9% / 0.1%) | 84.619\n 9000 | 9000 | 81e6 ( 0.01%) | 0.962 (99.8% / 0.2%) | 84.358\n 10000 | 10000 | 100e6 ( 0.01%) | 1.166 (99.8% / 0.2%) | 85.895\n 20000 | 20000 | 400e6 ( 0.01%) | 4.586 (99.9% / 0.1%) | 87.334\n\nThe tables are interpreted as follows. The first section compares the\nbandwidth doing popcounts through (i) the Python bitarray library and\n(ii) a native code implementation in assembler. The latter\nimplementation is measured in two ways: the first measures just the\ntime taken to compute the popcounts, while the second includes the\ntime taken to copy the data out of the running Python instance as well\nas copying the result back into Python. The \"% copying\" measure is the\nproportion of time spent doing this copying.\n\nThe second section includes two tables that measure the throughput of\nthe Dice coefficient comparison function. The two tables correspond to\ntwo different choices of \"matching threshold\", 0.5 and 0.7, which were\nchosen to characterise two different performance scenarios. Since the\ndata used for comparisons is randomly generated, the first threshold\nvalue will cause about 50% of the candidates to \"match\", while the\nsecond threshold value will cause <0.01% of the candidates to match\n(these values are reported in the \"match %\" column). In both cases,\nall matches above the threshold are returned and passed to the\nsolver. In the first case, the large number of matches means that much\nof the time is spent keeping the candidates in order so that the top\n`k` matches can be returned. In the latter case, the tiny number of\ncandidate matches means that the throughput is determined primarily by\nthe comparison code itself.\n\nFinally, the Total Time column includes indications as to the\nproportion of time spent calculating the (sparse) similarity matrix\n`comparisons` and the proportion of time spent `matching` in the\ngreedy solver. This latter is determined by the size of the similarity\nmatrix, which will be approximately `#comparisons * match% / 100`.\n\nTests\n=====\n\nRun unit tests with `pytest`:\n\n::\n\n $ pytest\n ====================================== test session starts ======================================\n platform linux -- Python 3.6.4, pytest-3.2.5, py-1.4.34, pluggy-0.4.0\n rootdir: /home/hlaw/src/n1-anonlink, inifile:\n collected 71 items\n\n tests/test_benchmark.py ...\n tests/test_bloommatcher.py ..............\n tests/test_e2e.py .............ss....\n tests/test_matcher.py ..x.....x......x....x..\n tests/test_similarity.py .........\n tests/test_util.py ...\n\n ======================== 65 passed, 2 skipped, 4 xfailed in 4.01 seconds ========================\n\nTo enable slightly larger tests add the following environment variables:\n\n- INCLUDE_10K\n- INCLUDE_100K\n\nLimitations\n-----------\n\n- The linkage process has order n^2 time complexity - although algorithms exist to\n significantly speed this up. Several possible speedups are described\n in `Privacy Preserving Record Linkage with PPJoin `__.\n\n\nDiscussion\n----------\n\nIf you run into bugs, you can file them in our `issue tracker `__\non GitHub.\n\nThere is also an `anonlink mailing list `__\nfor development discussion and release announcements.\n\nWherever we interact, we strive to follow the `Python Community Code of Conduct `__.\n\n\nLicense\n-------\n\nCopyright 2017 CSIRO (Data61)\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/data61/anonlink", "keywords": "", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "anonlink", "package_url": "https://pypi.org/project/anonlink/", "platform": "", "project_url": "https://pypi.org/project/anonlink/", "project_urls": { "Homepage": "https://github.com/data61/anonlink" }, "release_url": "https://pypi.org/project/anonlink/0.12.5/", "requires_dist": [ "bitarray (>=0.8.1)", "cffi (>=1.7)", "clkhash (>=0.11)", "numpy (>=1.14)", "mypy-extensions (>=0.3)", "Cython (>=0.29.10)", "pytest ; extra == 'test'", "pytest-timeout ; extra == 'test'", "pytest-cov ; extra == 'test'", "codecov ; extra == 'test'", "hypothesis ; extra == 'test'" ], "requires_python": "", "summary": "Anonymous linkage using cryptographic hashes and bloom filters", "version": "0.12.5" }, "last_serial": 5790431, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "93c25664429a9d9270f1718e495a173b", "sha256": "ed036efa474f50b061ba22166a3fefdb9608ded4340d37ac22501419cb4973b3" }, "downloads": -1, "filename": "anonlink-0.10.0-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "93c25664429a9d9270f1718e495a173b", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 48891, "upload_time": "2018-10-09T22:45:22", "url": "https://files.pythonhosted.org/packages/5b/82/5b65d11b99a4d08c648fe427d83de377cb935afc8db5926d1235dbac2257/anonlink-0.10.0-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "417dd88346b7718ead6d583d14d46af3", "sha256": "f08f909d61d8cef4fe5bb1b20fe0adceeee0c9ed8f7b7692490135f77e0c9354" }, "downloads": -1, "filename": "anonlink-0.10.0.tar.gz", "has_sig": false, "md5_digest": "417dd88346b7718ead6d583d14d46af3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145192, "upload_time": "2018-10-09T22:45:24", "url": "https://files.pythonhosted.org/packages/c0/27/f52302e007d53d4ab3cb1fe733b5b8711bafb1e66bf21ab937ebd9a71056/anonlink-0.10.0.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "93a765a40b62ff7d336ff796516a6e72", "sha256": "a46527a40f61ac0c82bb0ca0d7b85c8d0dc04dbaefc722d3dc7a6ce8ed2bf991" }, "downloads": -1, "filename": "anonlink-0.11.0.tar.gz", "has_sig": false, "md5_digest": "93a765a40b62ff7d336ff796516a6e72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 153911, "upload_time": "2019-02-28T02:37:02", "url": "https://files.pythonhosted.org/packages/1b/90/f2f5acd4cda4764b7d7f8d42bc27214c0f3b5a295f91142dabdfd43f7cb3/anonlink-0.11.0.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "d954dc24c99d11ae3a25f00a57d4ffc6", "sha256": "ee4e7818b6f799c714c890ad68b52a9a089876d52989eaad645cc1d39af74415" }, "downloads": -1, "filename": "anonlink-0.11.1.tar.gz", "has_sig": false, "md5_digest": "d954dc24c99d11ae3a25f00a57d4ffc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 484828, "upload_time": "2019-03-04T23:22:05", "url": "https://files.pythonhosted.org/packages/af/59/a6ab329727e9322c1efe528b0196e552c74268cfd2ad2e6b22902e75b951/anonlink-0.11.1.tar.gz" } ], "0.11.2": [ { "comment_text": "", "digests": { "md5": "d3c288baac0118b4413077a781ebd1fc", "sha256": "525941b087e6fffade0cf1e04600b7720c3536a11825f9250e90c5583965b1e9" }, "downloads": -1, "filename": "anonlink-0.11.2-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "d3c288baac0118b4413077a781ebd1fc", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 143934, "upload_time": "2019-03-15T10:43:22", "url": "https://files.pythonhosted.org/packages/fb/9b/6721b9796fa1bd9398a161382f212362617b34951bd94b3b04bc5aae6777/anonlink-0.11.2-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "063bd8b0d77282f2326b2d407644755e", "sha256": "93c70af24cf97a276854e8d0912b2074247236144dd67c47a02093031d1caf02" }, "downloads": -1, "filename": "anonlink-0.11.2.tar.gz", "has_sig": false, "md5_digest": "063bd8b0d77282f2326b2d407644755e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 484864, "upload_time": "2019-03-15T10:43:31", "url": "https://files.pythonhosted.org/packages/8e/29/9515ccc3835e95a68be3867f1600534bb86bef059589dce1ed388b43442c/anonlink-0.11.2.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "637b59fdf8d8b5a4705b50a65d5e03d2", "sha256": "58e818294f9403c24128b9b71a51fe4ba0f8ce3e37b535fdbcfa44ecdd681161" }, "downloads": -1, "filename": "anonlink-0.12.0-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "637b59fdf8d8b5a4705b50a65d5e03d2", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 570539, "upload_time": "2019-05-19T11:19:13", "url": "https://files.pythonhosted.org/packages/26/46/f383006a52f830bf30b5d76e873c70b29b6d153900f3ca6367171c6be0c3/anonlink-0.12.0-cp37-cp37m-manylinux1_x86_64.whl" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "810190a8e67d84a50777bf46a94400f5", "sha256": "80b2b372bab3848eac76f1b0ebd213b101240f257d8720f364a8f8161e7e226c" }, "downloads": -1, "filename": "anonlink-0.12.1-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "810190a8e67d84a50777bf46a94400f5", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 570537, "upload_time": "2019-05-20T01:42:24", "url": "https://files.pythonhosted.org/packages/41/75/3306f1ca9cfdfcca5eb0f479ca97a9add7f42508f880a3c21ff55c5a92fa/anonlink-0.12.1-cp37-cp37m-manylinux1_x86_64.whl" } ], "0.12.1b2": [ { "comment_text": "", "digests": { "md5": "5461389b515a2d7bb423beaba27bc46d", "sha256": "e2ff6333ebe39d6ad2c79404f90addcb26cd00faaaf5fda89821ed85932bfd98" }, "downloads": -1, "filename": "anonlink-0.12.1b2-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "5461389b515a2d7bb423beaba27bc46d", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 571803, "upload_time": "2019-06-25T00:54:54", "url": "https://files.pythonhosted.org/packages/05/39/ead7dd44aac434115687d2beeeb0b027ff8eb91cfd300e5fb9cc4bf524d7/anonlink-0.12.1b2-cp37-cp37m-manylinux1_x86_64.whl" } ], "0.12.1b5": [ { "comment_text": "", "digests": { "md5": "f880f1ff56cd1cb63377927236847017", "sha256": "5b69a5a19b3b854f8ef050568c376300e757135fd345922fe4354234b76880d1" }, "downloads": -1, "filename": "anonlink-0.12.1b5-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f880f1ff56cd1cb63377927236847017", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 571801, "upload_time": "2019-06-26T08:57:53", "url": "https://files.pythonhosted.org/packages/1c/a8/7e79a16d7b39b7bfe3c6986afa93c0950e5407cda2324c74c3dbb6e4ff6c/anonlink-0.12.1b5-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "baed49003ea8c48523aa4f01e4bc0c93", "sha256": "8e3cea9d8247a990d16dd2913f546e8ed1eed50e0839e68ce7d7198062b4751c" }, "downloads": -1, "filename": "anonlink-0.12.1b5.tar.gz", "has_sig": false, "md5_digest": "baed49003ea8c48523aa4f01e4bc0c93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152219, "upload_time": "2019-06-26T08:57:57", "url": "https://files.pythonhosted.org/packages/ef/95/9c0f56bf15557fe9b9539a595dd1c280f229006305f3feb78f555681d694/anonlink-0.12.1b5.tar.gz" } ], "0.12.2": [ { "comment_text": "", "digests": { "md5": "c4cf1f1875425b14669831d4b6b1bca9", "sha256": "3793888d85ef014d3ad6d0c41fda3d9542dd734d2c4ad5b51117816c6846acec" }, "downloads": -1, "filename": "anonlink-0.12.2-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "c4cf1f1875425b14669831d4b6b1bca9", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 571784, "upload_time": "2019-06-27T01:10:29", "url": "https://files.pythonhosted.org/packages/de/ba/25a50cccefe1478dd158802f5a529ec19d588e56e85ec34cfce4aa99faa5/anonlink-0.12.2-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "94fa9185f758792c931ac4cf630f6ffb", "sha256": "ae1648e3c4440e858be07265861c07f38a22d0402e649c3463eb941a71a332a6" }, "downloads": -1, "filename": "anonlink-0.12.2.tar.gz", "has_sig": false, "md5_digest": "94fa9185f758792c931ac4cf630f6ffb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152215, "upload_time": "2019-06-27T01:10:33", "url": "https://files.pythonhosted.org/packages/22/30/d8626bf4a4f75bd83b1b2724627804edfd01f61ebaebaad7b53e49b157a7/anonlink-0.12.2.tar.gz" } ], "0.12.3": [ { "comment_text": "", "digests": { "md5": "f75d6b605dd854da3d132cfeb305703d", "sha256": "4536ebac0c8f8346d85651c45a2f6e9bb5505d78b2ed7b9759be76ea49662e5a" }, "downloads": -1, "filename": "anonlink-0.12.3-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f75d6b605dd854da3d132cfeb305703d", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 571837, "upload_time": "2019-06-28T01:18:36", "url": "https://files.pythonhosted.org/packages/cb/9c/ded56cffeb54929c9123e92477947ea35ae2c86454a972d1f44f4d7cf839/anonlink-0.12.3-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "52d0cd96d642d7c35e7bdf9445c820e7", "sha256": "54247ea34fc3e8b7ce2ec60c90e3f7185d7c244455e2c6bdf3fd532d6706306f" }, "downloads": -1, "filename": "anonlink-0.12.3.tar.gz", "has_sig": false, "md5_digest": "52d0cd96d642d7c35e7bdf9445c820e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152333, "upload_time": "2019-06-28T01:18:39", "url": "https://files.pythonhosted.org/packages/25/df/a5ea618a7788f25f69d9c779cf5151a7aa36130b860ced9127e5f2612769/anonlink-0.12.3.tar.gz" } ], "0.12.3b1": [ { "comment_text": "", "digests": { "md5": "131bc904814161e8c397b6f35cfa66ad", "sha256": "3ddfcdae21c6a6d67e9739739aef3d6e1e9f438f97ea4e8dac4e86e3657b6cc9" }, "downloads": -1, "filename": "anonlink-0.12.3b1-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "131bc904814161e8c397b6f35cfa66ad", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 571802, "upload_time": "2019-06-27T03:44:56", "url": "https://files.pythonhosted.org/packages/35/da/3adc4dac76ddce3586563281a1f4d70e72bbe23ce4b5b2b84242e8e3775b/anonlink-0.12.3b1-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c3c46e6af1b048910efef4b5799a5841", "sha256": "41b32fec8b1ead24a3940a7def22ac1a2b8344995bd45f6dc8373099afe25c92" }, "downloads": -1, "filename": "anonlink-0.12.3b1.tar.gz", "has_sig": false, "md5_digest": "c3c46e6af1b048910efef4b5799a5841", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152224, "upload_time": "2019-06-27T03:44:59", "url": "https://files.pythonhosted.org/packages/b4/e9/47523531f061a39417dc8210ea5aa37ec0a3dcedeb0cc90914cec706d91e/anonlink-0.12.3b1.tar.gz" } ], "0.12.4": [ { "comment_text": "", "digests": { "md5": "a378e7164757cdae13b322810348ec4d", "sha256": "73bbda9867dc8e3a8338cefae98b8eec2afa7c1ed0ed5e6eeba242efc92b423a" }, "downloads": -1, "filename": "anonlink-0.12.4-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "a378e7164757cdae13b322810348ec4d", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 576213, "upload_time": "2019-08-13T00:16:00", "url": "https://files.pythonhosted.org/packages/a5/31/7c9e37b998700258eb89655a639d7fa92f46320e62d8506bf7c5bfe97025/anonlink-0.12.4-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a25d8fbdb404c84943fe35905eabe637", "sha256": "72e8b144afa54dd040ba80445d1da6af2fd8e3259f9a3ffe0bdd9173af42e1cb" }, "downloads": -1, "filename": "anonlink-0.12.4.tar.gz", "has_sig": false, "md5_digest": "a25d8fbdb404c84943fe35905eabe637", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152549, "upload_time": "2019-08-13T00:16:03", "url": "https://files.pythonhosted.org/packages/3b/62/f67d95cbf3cdfcc07d3421b5bc043ba1d04a1eb126afe345065fbc6223d5/anonlink-0.12.4.tar.gz" } ], "0.12.5": [ { "comment_text": "", "digests": { "md5": "b283ee91dbb7c511a226294978831da7", "sha256": "ba9adaf761e467432a9489f9d602921b051961a48af414f3cc0e9250ac86f3a1" }, "downloads": -1, "filename": "anonlink-0.12.5-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "b283ee91dbb7c511a226294978831da7", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 578024, "upload_time": "2019-09-06T06:51:26", "url": "https://files.pythonhosted.org/packages/ee/76/7ca54c62a14751c762489c8ccc5b9d792534d34f5fffa07e59d7570220e8/anonlink-0.12.5-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c21a80fb78a5bc4fc83637fcb110a12e", "sha256": "6848da21ba7cc2e68c3e414f8617b950b9b616ecd600cc870606ecf4865a651b" }, "downloads": -1, "filename": "anonlink-0.12.5-cp36-cp36m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "c21a80fb78a5bc4fc83637fcb110a12e", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 689457, "upload_time": "2019-09-06T06:52:13", "url": "https://files.pythonhosted.org/packages/2c/f0/209694dd0e88089d9f65c0de6dd8d0dfe3322e9668a9d0e266f6d935e982/anonlink-0.12.5-cp36-cp36m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cd0c08d3f6a3f7033eb5631913318096", "sha256": "f128e9cc63faf3c44e93920ded4dfe1115ad8a053184c4c63b4000e9f274efdd" }, "downloads": -1, "filename": "anonlink-0.12.5-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "cd0c08d3f6a3f7033eb5631913318096", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 576204, "upload_time": "2019-09-06T06:51:29", "url": "https://files.pythonhosted.org/packages/a0/f1/dde7efdb449cfdd1f679be3cd0060519ec488ba8b55df08d72fa7fac9231/anonlink-0.12.5-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "3f0343971dbb4218d696c9b5f19a36ed", "sha256": "b90eb37c80af8b5c7207c08b12bbd6a2ae748498b668b621ad8dda2a4d69b55c" }, "downloads": -1, "filename": "anonlink-0.12.5-cp37-cp37m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "3f0343971dbb4218d696c9b5f19a36ed", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 688769, "upload_time": "2019-09-06T06:52:15", "url": "https://files.pythonhosted.org/packages/94/2a/813b6fde2c84bda31d8119db19d60317490063efce6a114e003c28a8b3f4/anonlink-0.12.5-cp37-cp37m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c8c976181c6fc186ae679eb64b8b7269", "sha256": "dd526682be73919d14d2c5f8eb932ca1b4b88117a6bb4260c1110f23b0f211ec" }, "downloads": -1, "filename": "anonlink-0.12.5.tar.gz", "has_sig": false, "md5_digest": "c8c976181c6fc186ae679eb64b8b7269", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152830, "upload_time": "2019-09-06T06:51:31", "url": "https://files.pythonhosted.org/packages/95/b2/4cfe58b4a2e9dd9933f61c844c73ef900d6aa4a3758806b29666c159ac21/anonlink-0.12.5.tar.gz" } ], "0.12.5a1": [ { "comment_text": "", "digests": { "md5": "096a3c1f3f5130118d667c53133b8e27", "sha256": "f22a07c2ed9f6f9ddde972cd9ba52cee5f0f16eb7eb5c52573601977bb5c0057" }, "downloads": -1, "filename": "anonlink-0.12.5a1-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "096a3c1f3f5130118d667c53133b8e27", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 575725, "upload_time": "2019-08-20T12:33:47", "url": "https://files.pythonhosted.org/packages/0d/f7/7b6f7c5bd558bd72ea2f43797f25f5189f136f89dfd01d00eae5b79ac070/anonlink-0.12.5a1-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "4e534ede4ed51d15cf5f75e45191abc8", "sha256": "67f514d9c184815432c6e49516f6d7172fa7a0b4f263e931393d8b6a0ed48274" }, "downloads": -1, "filename": "anonlink-0.12.5a1-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "4e534ede4ed51d15cf5f75e45191abc8", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 578035, "upload_time": "2019-08-20T12:33:50", "url": "https://files.pythonhosted.org/packages/5d/e9/57c9eaa65db5d564b5c365f5ed7d54394a354378e20ee01835d8c18f9634/anonlink-0.12.5a1-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "73ce4ee728fab0e127a3a5a893682027", "sha256": "28a405e0282775a60e161b04c8ddf42566907877d713a9cab41ff90142587785" }, "downloads": -1, "filename": "anonlink-0.12.5a1-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "73ce4ee728fab0e127a3a5a893682027", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 576245, "upload_time": "2019-08-20T12:33:52", "url": "https://files.pythonhosted.org/packages/ef/3b/48a20e2c08f28d296ef8623ef03dccf5d6575c4d11c44eaa9bad62683835/anonlink-0.12.5a1-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0705380b087660a5fa95fe1272c6c104", "sha256": "05aa1b4eb3e499895841f405be8f36eed41d399584d6b0a4b2dd342bca0e5deb" }, "downloads": -1, "filename": "anonlink-0.12.5a1.tar.gz", "has_sig": false, "md5_digest": "0705380b087660a5fa95fe1272c6c104", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152842, "upload_time": "2019-08-20T12:33:54", "url": "https://files.pythonhosted.org/packages/b4/2f/d80e8371ee105eb5bdf0317c79093a767644e4bdfec15a6929bb96e1f318/anonlink-0.12.5a1.tar.gz" } ], "0.12.5a3": [ { "comment_text": "", "digests": { "md5": "f6d347682c8257dd145e83b36879a801", "sha256": "7de747792627ebdc562860678ef0dad3bfaacd9e7400c09e24c024668dde0210" }, "downloads": -1, "filename": "anonlink-0.12.5a3-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f6d347682c8257dd145e83b36879a801", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 578030, "upload_time": "2019-08-20T13:20:21", "url": "https://files.pythonhosted.org/packages/db/89/f606cecf40fd88ef5d2e9257fca22129ad171158178e723d6665d03d9411/anonlink-0.12.5a3-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c0ca189690ce3f816545f7faf8c4b2e6", "sha256": "5d39aebb982704abbbe66d0229c2bfa51c279dc5423461c8fcb5e81819ae0c42" }, "downloads": -1, "filename": "anonlink-0.12.5a3-cp36-cp36m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "c0ca189690ce3f816545f7faf8c4b2e6", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 689479, "upload_time": "2019-08-20T21:23:10", "url": "https://files.pythonhosted.org/packages/41/bd/acf21f0868635f9dc9a9c05447ec25c0204e97f83cbc64b00fd47f9ff11e/anonlink-0.12.5a3-cp36-cp36m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c6a171c09db45d0509f3785d1fd77090", "sha256": "0c4d341af91054afd71e6847c533251d8f029165d72f0b0e4eaff7863299bb0c" }, "downloads": -1, "filename": "anonlink-0.12.5a3-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "c6a171c09db45d0509f3785d1fd77090", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 576246, "upload_time": "2019-08-20T13:20:23", "url": "https://files.pythonhosted.org/packages/94/77/972ca86891a45daeff7ccbcfc9f5e4df40d794e0f3a899c63277fce7f9fa/anonlink-0.12.5a3-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b447184a1b2c6e85148fa3f52593ee14", "sha256": "4ca1277c3dd6ee41f17df25ee32910080ed6e860c37dc9fcdd13c0b7da671680" }, "downloads": -1, "filename": "anonlink-0.12.5a3-cp37-cp37m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "b447184a1b2c6e85148fa3f52593ee14", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 688809, "upload_time": "2019-08-20T21:23:12", "url": "https://files.pythonhosted.org/packages/ed/f6/18af42bcac68518bb106b4f3e0b4a1475bcb0c6eadf54dc87f344e4674c5/anonlink-0.12.5a3-cp37-cp37m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "78561112dd5b4504e85b803e17017794", "sha256": "f46e8a57fe7850e117709faccf79ea63f1253ac8dadcd4b91908d1b3262816b6" }, "downloads": -1, "filename": "anonlink-0.12.5a3.tar.gz", "has_sig": false, "md5_digest": "78561112dd5b4504e85b803e17017794", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152842, "upload_time": "2019-08-20T13:20:26", "url": "https://files.pythonhosted.org/packages/82/28/5b1b924e74e6164a02f90528a0e3a2ebc91d19d9308ae1c104d892c4a838/anonlink-0.12.5a3.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "3098de2aa45c7e990380aaff0de609ed", "sha256": "7c55a13b1f4879dbf4e23cafcf6e667503bb2888f8983ef6b29110293e079790" }, "downloads": -1, "filename": "anonlink-0.6.0.tar.gz", "has_sig": true, "md5_digest": "3098de2aa45c7e990380aaff0de609ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7112, "upload_time": "2017-11-28T05:56:28", "url": "https://files.pythonhosted.org/packages/db/04/548c73b126fb0845687aa32ae9e179a4b5df4c07994f785723c934164875/anonlink-0.6.0.tar.gz" } ], "0.6.1rc1": [ { "comment_text": "", "digests": { "md5": "5516263b2d00c8b343880e6023376d99", "sha256": "4ea7806443c5b1d5ebb3f52c005738b8ccbd5bda25b84608c493fbdc06432e77" }, "downloads": -1, "filename": "anonlink-0.6.1rc1.tar.gz", "has_sig": true, "md5_digest": "5516263b2d00c8b343880e6023376d99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8592, "upload_time": "2017-11-28T07:31:26", "url": "https://files.pythonhosted.org/packages/91/56/e943400ef58340d2ac6a6e0eba8f92cf03da40d95226dc8273c277b4ed49/anonlink-0.6.1rc1.tar.gz" } ], "0.6.1rc2": [ { "comment_text": "", "digests": { "md5": "aedfd1e31b7dd5320bd11dfbdc23d744", "sha256": "8bd577c94657d6fea1b3c324f3cc970082ea561558d8d7a20993ed104649a8e4" }, "downloads": -1, "filename": "anonlink-0.6.1rc2.tar.gz", "has_sig": true, "md5_digest": "aedfd1e31b7dd5320bd11dfbdc23d744", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8601, "upload_time": "2017-11-28T07:36:43", "url": "https://files.pythonhosted.org/packages/31/c9/4a760bae167af7a7685a2a6f605c175d6eca19dc014e2c51e052fc51cc3c/anonlink-0.6.1rc2.tar.gz" } ], "0.6.1rc3": [ { "comment_text": "", "digests": { "md5": "eba95c879881548dfbd8d21d4cb61601", "sha256": "1e8ba504201bf8d3699b323bcb1d4d2b1e291c93f8eab48ca096aac12992af9b" }, "downloads": -1, "filename": "anonlink-0.6.1rc3.tar.gz", "has_sig": true, "md5_digest": "eba95c879881548dfbd8d21d4cb61601", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11822, "upload_time": "2017-12-12T22:57:06", "url": "https://files.pythonhosted.org/packages/4a/ec/f3eae6578002d0056eec47c0cd0972b7048983a5b5fe91b7709590dd3986/anonlink-0.6.1rc3.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "6f9323e398c0a9c4564e981798e0dbc0", "sha256": "f98448989f927453c4dfb2404472052ec298149d4c8f629020b33573b0ead1b7" }, "downloads": -1, "filename": "anonlink-0.6.2.tar.gz", "has_sig": true, "md5_digest": "6f9323e398c0a9c4564e981798e0dbc0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11564, "upload_time": "2017-12-14T10:51:02", "url": "https://files.pythonhosted.org/packages/59/9f/a4406fd49e3fc77041d0b15bc15bf60949ae5bc9ccbf00257a30adebbe68/anonlink-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "ff8c175ebe9b4e6d1c41de20cfe12dff", "sha256": "e6dfbec2c0807dce9de449b2dd32145736707d0075feeee228ae82de56b2c07f" }, "downloads": -1, "filename": "anonlink-0.6.3.tar.gz", "has_sig": true, "md5_digest": "ff8c175ebe9b4e6d1c41de20cfe12dff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11544, "upload_time": "2018-01-26T03:32:32", "url": "https://files.pythonhosted.org/packages/db/d0/6f48f4957d9693092f3c9d9baaec98cc6eac0389460033d84883ce328e56/anonlink-0.6.3.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "71ea648421ee1937e53497a703fb9be6", "sha256": "00d6b5c76eba1c5fdd847f25bc6fc1ba0339bfa6c1eaf378619a0c771404e780" }, "downloads": -1, "filename": "anonlink-0.7.0.tar.gz", "has_sig": true, "md5_digest": "71ea648421ee1937e53497a703fb9be6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14954, "upload_time": "2018-03-15T21:33:33", "url": "https://files.pythonhosted.org/packages/08/84/8ed781aae9de15bb1ed7b2c10925ff5f1e06ae6e49bb78eded7789747bf9/anonlink-0.7.0.tar.gz" } ], "0.7.0rc1": [ { "comment_text": "", "digests": { "md5": "1389119d1cc8c2a2354e009908b5f127", "sha256": "f7b78b309f13669a9fb1cf64ec7a84c4fd648373a9b40976731073cc7d49e483" }, "downloads": -1, "filename": "anonlink-0.7.0rc1-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "1389119d1cc8c2a2354e009908b5f127", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 60717, "upload_time": "2018-03-15T09:02:46", "url": "https://files.pythonhosted.org/packages/64/77/abbda5ebaa1a742af774c74b5ee2e240b69feea220913c590530dcbb9821/anonlink-0.7.0rc1-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "e2b83f899faf0890271c1724416bad03", "sha256": "16534d295d77da2dd091bae671bb49517f8353bf369d9d0e2d4f0e8ef7fa77b1" }, "downloads": -1, "filename": "anonlink-0.7.0rc1.tar.gz", "has_sig": true, "md5_digest": "e2b83f899faf0890271c1724416bad03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14907, "upload_time": "2018-03-15T05:37:53", "url": "https://files.pythonhosted.org/packages/64/92/ade947a8d887bfb99cb745c2edce223a05f7c17d94ce5c1d927f7c04fcd0/anonlink-0.7.0rc1.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "08e54d15d3093df8b369136169993054", "sha256": "657d91588f812c0f0d513166a0f9ec4df84e35ba3b0f93432f15bd27337aed7d" }, "downloads": -1, "filename": "anonlink-0.8.0.tar.gz", "has_sig": false, "md5_digest": "08e54d15d3093df8b369136169993054", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16090, "upload_time": "2018-04-18T00:31:06", "url": "https://files.pythonhosted.org/packages/eb/98/3a317d61adccc4b2e1f4aae837eaab026b2508fef396d53def670f3a8509/anonlink-0.8.0.tar.gz" } ], "0.8.0rc1": [ { "comment_text": "", "digests": { "md5": "5b313e54f8f3d738996b3a5800b49a88", "sha256": "db9bb4442fdcb4890ac07fc061e121624e4d7889fdf951e297ef3ca3c7962868" }, "downloads": -1, "filename": "anonlink-0.8.0rc1.tar.gz", "has_sig": false, "md5_digest": "5b313e54f8f3d738996b3a5800b49a88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16100, "upload_time": "2018-04-17T04:43:04", "url": "https://files.pythonhosted.org/packages/f7/6c/3c7dd7018ac9ece5dbba92c3a50fb0adc47fa2ecb440e54187a155edd316/anonlink-0.8.0rc1.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "d1c351f2621f3b5e4a9a947e9c335ea3", "sha256": "3acc368e16062ddb374d2e0f52fc552fbf159f74fe3075bb63e9acfae670bf4b" }, "downloads": -1, "filename": "anonlink-0.8.1.tar.gz", "has_sig": false, "md5_digest": "d1c351f2621f3b5e4a9a947e9c335ea3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16100, "upload_time": "2018-05-18T04:08:43", "url": "https://files.pythonhosted.org/packages/a2/0e/65552dfe8bd13b1d7d32bbc8a663538137167f9ed599ccb3210f4259171c/anonlink-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "bf63ddfe2fda159a0f95b5a9cd6fe271", "sha256": "92890ea245a3cf4180ecbcbf63cc573ee7543afab47c050c4bffab64b997ecef" }, "downloads": -1, "filename": "anonlink-0.9.0.tar.gz", "has_sig": false, "md5_digest": "bf63ddfe2fda159a0f95b5a9cd6fe271", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29459, "upload_time": "2018-08-14T03:45:29", "url": "https://files.pythonhosted.org/packages/af/8f/7ad97255a1e61b7cb4ec333adeaa12216f772bf91f970b24c026faa01d10/anonlink-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b283ee91dbb7c511a226294978831da7", "sha256": "ba9adaf761e467432a9489f9d602921b051961a48af414f3cc0e9250ac86f3a1" }, "downloads": -1, "filename": "anonlink-0.12.5-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "b283ee91dbb7c511a226294978831da7", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 578024, "upload_time": "2019-09-06T06:51:26", "url": "https://files.pythonhosted.org/packages/ee/76/7ca54c62a14751c762489c8ccc5b9d792534d34f5fffa07e59d7570220e8/anonlink-0.12.5-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c21a80fb78a5bc4fc83637fcb110a12e", "sha256": "6848da21ba7cc2e68c3e414f8617b950b9b616ecd600cc870606ecf4865a651b" }, "downloads": -1, "filename": "anonlink-0.12.5-cp36-cp36m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "c21a80fb78a5bc4fc83637fcb110a12e", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 689457, "upload_time": "2019-09-06T06:52:13", "url": "https://files.pythonhosted.org/packages/2c/f0/209694dd0e88089d9f65c0de6dd8d0dfe3322e9668a9d0e266f6d935e982/anonlink-0.12.5-cp36-cp36m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cd0c08d3f6a3f7033eb5631913318096", "sha256": "f128e9cc63faf3c44e93920ded4dfe1115ad8a053184c4c63b4000e9f274efdd" }, "downloads": -1, "filename": "anonlink-0.12.5-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "cd0c08d3f6a3f7033eb5631913318096", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 576204, "upload_time": "2019-09-06T06:51:29", "url": "https://files.pythonhosted.org/packages/a0/f1/dde7efdb449cfdd1f679be3cd0060519ec488ba8b55df08d72fa7fac9231/anonlink-0.12.5-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "3f0343971dbb4218d696c9b5f19a36ed", "sha256": "b90eb37c80af8b5c7207c08b12bbd6a2ae748498b668b621ad8dda2a4d69b55c" }, "downloads": -1, "filename": "anonlink-0.12.5-cp37-cp37m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "3f0343971dbb4218d696c9b5f19a36ed", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 688769, "upload_time": "2019-09-06T06:52:15", "url": "https://files.pythonhosted.org/packages/94/2a/813b6fde2c84bda31d8119db19d60317490063efce6a114e003c28a8b3f4/anonlink-0.12.5-cp37-cp37m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c8c976181c6fc186ae679eb64b8b7269", "sha256": "dd526682be73919d14d2c5f8eb932ca1b4b88117a6bb4260c1110f23b0f211ec" }, "downloads": -1, "filename": "anonlink-0.12.5.tar.gz", "has_sig": false, "md5_digest": "c8c976181c6fc186ae679eb64b8b7269", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152830, "upload_time": "2019-09-06T06:51:31", "url": "https://files.pythonhosted.org/packages/95/b2/4cfe58b4a2e9dd9933f61c844c73ef900d6aa4a3758806b29666c159ac21/anonlink-0.12.5.tar.gz" } ] }