A Python (and optimised C++) implementation of anonymous linkage using cryptographic linkage keys as described by Rainer Schnell, Tobias Bachteler, and Jörg Reiher in A Novel Error-Tolerant Anonymous Linking Code.
anonlink computes similarity scores, and/or best guess matches between sets of cryptographic linkage keys (hashed entity records).
Use clkhash to create cryptographic linkage keys from personally identifiable data.
Installation
Install a precompiled wheel from PyPi:
pip install anonlink
Or (if your system has a C++ compiler) you can locally install from source:
pip install -r requirements.txt pip install -e .
Benchmark
You can run the benchmark with:
$ python -m anonlink.benchmark
Anonlink benchmark -- see README for explanation
------------------------------------------------
Threshold: 0.5, All results returned
Size 1 | Size 2 | Comparisons | Total Time (s) | Throughput
| | (match %) | (comparisons / matching)| (1e6 cmp/s)
-------+--------+------------------+-------------------------+-------------
1000 | 1000 | 1e6 (50.73%) | 0.762 (49.2% / 50.8%) | 2.669
2000 | 2000 | 4e6 (51.04%) | 3.696 (42.6% / 57.4%) | 2.540
3000 | 3000 | 9e6 (50.25%) | 8.121 (43.5% / 56.5%) | 2.548
4000 | 4000 | 16e6 (50.71%) | 15.560 (41.1% / 58.9%) | 2.504
Threshold: 0.5, Top 100 matches per record returned
Size 1 | Size 2 | Comparisons | Total Time (s) | Throughput
| | (match %) | (comparisons / matching)| (1e6 cmp/s)
-------+--------+------------------+-------------------------+-------------
1000 | 1000 | 1e6 ( 6.86%) | 0.170 (85.9% / 14.1%) | 6.846
2000 | 2000 | 4e6 ( 3.22%) | 0.384 (82.9% / 17.1%) | 12.561
3000 | 3000 | 9e6 ( 2.09%) | 0.612 (81.6% / 18.4%) | 18.016
4000 | 4000 | 16e6 ( 1.52%) | 0.919 (78.7% / 21.3%) | 22.135
5000 | 5000 | 25e6 ( 1.18%) | 1.163 (80.8% / 19.2%) | 26.592
6000 | 6000 | 36e6 ( 0.97%) | 1.535 (75.4% / 24.6%) | 31.113
7000 | 7000 | 49e6 ( 0.82%) | 1.791 (80.6% / 19.4%) | 33.951
8000 | 8000 | 64e6 ( 0.71%) | 2.095 (81.5% / 18.5%) | 37.466
9000 | 9000 | 81e6 ( 0.63%) | 2.766 (72.5% / 27.5%) | 40.389
10000 | 10000 | 100e6 ( 0.56%) | 2.765 (81.7% / 18.3%) | 44.277
20000 | 20000 | 400e6 ( 0.27%) | 7.062 (86.2% / 13.8%) | 65.711
Threshold: 0.7, All results returned
Size 1 | Size 2 | Comparisons | Total Time (s) | Throughput
| | (match %) | (comparisons / matching)| (1e6 cmp/s)
-------+--------+------------------+-------------------------+-------------
1000 | 1000 | 1e6 ( 0.01%) | 0.009 (99.0% / 1.0%) | 113.109
2000 | 2000 | 4e6 ( 0.01%) | 0.033 (98.7% / 1.3%) | 124.076
3000 | 3000 | 9e6 ( 0.01%) | 0.071 (99.1% / 0.9%) | 128.515
4000 | 4000 | 16e6 ( 0.01%) | 0.123 (99.0% / 1.0%) | 131.654
5000 | 5000 | 25e6 ( 0.01%) | 0.202 (99.1% / 0.9%) | 124.999
6000 | 6000 | 36e6 ( 0.01%) | 0.277 (99.0% / 1.0%) | 131.403
7000 | 7000 | 49e6 ( 0.01%) | 0.368 (98.9% / 1.1%) | 134.428
8000 | 8000 | 64e6 ( 0.01%) | 0.490 (99.0% / 1.0%) | 131.891
9000 | 9000 | 81e6 ( 0.01%) | 0.608 (99.0% / 1.0%) | 134.564
10000 | 10000 | 100e6 ( 0.01%) | 0.753 (99.0% / 1.0%) | 134.105
20000 | 20000 | 400e6 ( 0.01%) | 2.905 (98.8% / 1.2%) | 139.294
Threshold: 0.7, Top 100 matches per record returned
Size 1 | Size 2 | Comparisons | Total Time (s) | Throughput
| | (match %) | (comparisons / matching)| (1e6 cmp/s)
-------+--------+------------------+-------------------------+-------------
1000 | 1000 | 1e6 ( 0.01%) | 0.009 (99.0% / 1.0%) | 111.640
2000 | 2000 | 4e6 ( 0.01%) | 0.033 (98.6% / 1.4%) | 122.060
3000 | 3000 | 9e6 ( 0.01%) | 0.074 (99.1% / 0.9%) | 123.237
4000 | 4000 | 16e6 ( 0.01%) | 0.124 (99.0% / 1.0%) | 130.204
5000 | 5000 | 25e6 ( 0.01%) | 0.208 (99.1% / 0.9%) | 121.351
6000 | 6000 | 36e6 ( 0.01%) | 0.275 (99.0% / 1.0%) | 132.186
7000 | 7000 | 49e6 ( 0.01%) | 0.373 (99.0% / 1.0%) | 132.650
8000 | 8000 | 64e6 ( 0.01%) | 0.496 (99.1% / 0.9%) | 130.125
9000 | 9000 | 81e6 ( 0.01%) | 0.614 (99.0% / 1.0%) | 133.216
10000 | 10000 | 100e6 ( 0.01%) | 0.775 (99.1% / 0.9%) | 130.230
20000 | 20000 | 400e6 ( 0.01%) | 2.939 (98.9% / 1.1%) | 137.574
The tables are interpreted as follows. Each table measures the throughput of the Dice coefficient comparison function. The four tables correspond to two different choices of “matching threshold” and “result limiting”.
These parameters have been chosen to characterise two different performance scenarios. Since the data used for comparisons is randomly generated, the first threshold value (0.5) will cause about 50% of the candidates to “match”, while the second threshold value (0.7) will cause ~0.01% of the candidates to match (these values are reported in the “match %” column). Where the table heading includes “All results returned”, all matches above the threshold are returned and passed to the solver. With the threshold of 0.5, the large number of matches means that much of the time is spent keeping the candidates in order. Next we limit the number of matches per record to the top 100 - which also must be above the threshold.
In the final two tables we use the threshold value of 0.7, this very effectively filters the number of candidate matches down. Here the throughput is determined primarily by the comparison code itself, adding the top 100 filter has no major impact.
Finally, the Total Time column includes indications as to the proportion of time spent calculating the (sparse) similarity matrix comparisons and the proportion of time spent matching in the greedy solver. This latter is determined by the size of the similarity matrix, which will be approximately #comparisons * match% / 100.
Tests
Run unit tests with pytest:
$ pytest ====================================== test session starts ====================================== platform linux -- Python 3.6.4, pytest-3.2.5, py-1.4.34, pluggy-0.4.0 rootdir: /home/hlaw/src/n1-anonlink, inifile: collected 71 items tests/test_benchmark.py ... tests/test_bloommatcher.py .............. tests/test_e2e.py .............ss.... tests/test_matcher.py ..x.....x......x....x.. tests/test_similarity.py ......... tests/test_util.py ... ======================== 65 passed, 2 skipped, 4 xfailed in 4.01 seconds ========================
To enable slightly larger tests add the following environment variables:
INCLUDE_10K
INCLUDE_100K
Limitations
The linkage process has order n^2 time complexity - although algorithms exist to significantly speed this up. Several possible speedups are described in Privacy Preserving Record Linkage with PPJoin.
Discussion
If you run into bugs, you can file them in our issue tracker on GitHub.
There is also an anonlink mailing list for development discussion and release announcements.
Wherever we interact, we strive to follow the Python Community Code of Conduct.
Citing
Anonlink is designed, developed and supported by CSIRO’s Data61. If you use any part of this library in your research, please cite it using the following BibTex entry:
@misc{Anonlink,
author = {CSIRO's Data61},
title = {Anonlink Private Record Linkage System},
year = {2017},
publisher = {GitHub},
journal = {GitHub Repository},
howpublished = {\url{https://github.com/data61/anonlink}},
}
License
Copyright 2017 CSIRO (Data61)
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Metadata
Release files for anonlink 0.15.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| anonlink-0.15.3.tar.gz | 303.5 kB | Without provenance | Details for anonlink-0.15.3.tar.gz |
Built distributions (wheels)
Total release size: 22.7 MB
Release files / anonlink-0.15.3.tar.gz
| Download URL | anonlink-0.15.3.tar.gz |
|---|---|
| Size | 303.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
df371af54f42ba11841f1bf872ad33f7cd4f19587f4cb61d3ca9dfb811ce4d5f
|
|
BLAKE2b-256 checksum How to use checksums |
71412592c6d6a52ebb159f0603aea97b152610a8f76a07ee7ea0f1e0d28a776b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-pp39-pypy39_pp73-win_amd64.whl
| Download URL | anonlink-0.15.3-pp39-pypy39_pp73-win_amd64.whl |
|---|---|
| Size | 173.7 kB |
| Tags | PyPy 3.9 PyPy 3.9 7.3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
37b45e48dd5c4c0b80cfe03d432c0b1110d40cda408300986abd5bf88d28f437
|
|
BLAKE2b-256 checksum How to use checksums |
562ebe5634a4971a822999aa48784da7f6c963f942decf5d71c148f400e728ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anonlink-0.15.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 236.0 kB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3 |
|
SHA-256 checksum How to use checksums |
6e0a8c64e116d9eab72b08ff963fadf280ed340239b130aa654dfa16f10a2351
|
|
BLAKE2b-256 checksum How to use checksums |
11fad0494adbe365b0768bd047b1d3218f117dbac9603f550af4218fd9bc0e2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
| Download URL | anonlink-0.15.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl |
|---|---|
| Size | 181.0 kB |
| Tags | PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
51a7f09186189d2b85bd3058bb75a35f2ec6b78ca9735a93771be94ffe560ab0
|
|
BLAKE2b-256 checksum How to use checksums |
d2772a8f20700e7f2c6b98c542fbd14ee62c211f8f3ce4d6237d729096231ce1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-pp38-pypy38_pp73-win_amd64.whl
| Download URL | anonlink-0.15.3-pp38-pypy38_pp73-win_amd64.whl |
|---|---|
| Size | 173.7 kB |
| Tags | PyPy 3.8 PyPy 3.8 7.3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
085dc8d55beabeea5c70bbd5a21636c423cc8c59fbadde13a5709f562749e712
|
|
BLAKE2b-256 checksum How to use checksums |
36e97e5cfd2b59cedfd21745f6f3f00c4a3ceb4c1bea71481f950ca02621e7ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anonlink-0.15.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 236.1 kB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.8 PyPy 3.8 7.3 |
|
SHA-256 checksum How to use checksums |
fb96c3e97e11eda3cac32dc22ffc0ee3b843386b2a02316886c6b2d443805581
|
|
BLAKE2b-256 checksum How to use checksums |
bb431d11c277f3e3f2dd8033bbc1f7a490addae16637c3dacad72f9da25479b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
| Download URL | anonlink-0.15.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl |
|---|---|
| Size | 181.3 kB |
| Tags | PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
f3b2ba3345f2b3882d60a77ad101bcca218a1493a016e94a9cf79c68ce704437
|
|
BLAKE2b-256 checksum How to use checksums |
87041a77788ca2799045d7ef6a5d5081d8e6767f257730c4c8005d7ea021b808
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-pp37-pypy37_pp73-win_amd64.whl
| Download URL | anonlink-0.15.3-pp37-pypy37_pp73-win_amd64.whl |
|---|---|
| Size | 173.7 kB |
| Tags | PyPy 3.7 PyPy 3.7 7.3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4537d46e125e22893d6d60535fbe8d3809b403c46e4b8d64cf7130077f46d336
|
|
BLAKE2b-256 checksum How to use checksums |
0d8dde8e8d0e44305f287ae9e94a9dc2d4f4290fd2c7c1077abdebc944c6e7d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anonlink-0.15.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 236.4 kB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.7 PyPy 3.7 7.3 |
|
SHA-256 checksum How to use checksums |
b03c21f684c0b8ef71811e4eba1b7d339ed7519484932a8b1879d94b245b9e98
|
|
BLAKE2b-256 checksum How to use checksums |
a79b8e520debf794540974787d752c9142e8fe0a7bc2a397e67aad8e9f0fac42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
| Download URL | anonlink-0.15.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl |
|---|---|
| Size | 181.3 kB |
| Tags | PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
397f26533572bb41b5423c0ff8a3a53a6ca2a5cffdfb7b1e72f9cb49a6150bc4
|
|
BLAKE2b-256 checksum How to use checksums |
d29f528bb4927c6534609a5dda399617d6b89d7b73524c80e4c8c86234a6131e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp311-cp311-win_amd64.whl
| Download URL | anonlink-0.15.3-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 182.6 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4e6ddc92d0966e041e3218d4c2079b7208ed310f86d7c094265a58f6c4cd2896
|
|
BLAKE2b-256 checksum How to use checksums |
6a5b2780e669129b6a7435c1bc146a7ba15a60f5ff2f2fe18305ef1ca4e250d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp311-cp311-musllinux_1_1_x86_64.whl
| Download URL | anonlink-0.15.3-cp311-cp311-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.11 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
61702b485002f2d62ee9293f97a90fd673bc32ff1a7d9b9d80ae44cf20436fff
|
|
BLAKE2b-256 checksum How to use checksums |
d7f18eeca06d1646b9fdee870ce734103f01f366498b80ce2b4cf83ddffbd8bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anonlink-0.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
5a94bb7a407767e05f9988aa7356410b80e4086fba77b7a48c43d88393cab34d
|
|
BLAKE2b-256 checksum How to use checksums |
2b5446b5f1caae52880645707eea8a4982586d0512f4e2e9334e77501ff31ec6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | anonlink-0.15.3-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 190.5 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
01053a9ceef51de4c8044e3ed29a7fa3f151adec1717389877717a272d5480c7
|
|
BLAKE2b-256 checksum How to use checksums |
6ea8bab173513549a02e064c6c981f4d4748c031c2a1fdcd00ca55e1b0143ef2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | anonlink-0.15.3-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 209.1 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
f828bd1888ed4c69e4b5cf984abd499004a9544cc0b941da9a9246a9a9ce9a76
|
|
BLAKE2b-256 checksum How to use checksums |
fdc98306f5bfb50765c4f3ac4846a110d43bc2cd67c1822a4a366fa9636450d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp310-cp310-win_amd64.whl
| Download URL | anonlink-0.15.3-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 184.0 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f893d9adb324c5cfa2959c38799488ff7f3b2b3fc06230e4cac222584f37fbef
|
|
BLAKE2b-256 checksum How to use checksums |
b047c0bd76f932b68d022bd3539d73595b53ab6f2656a3c62a657d57fd8b7317
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp310-cp310-musllinux_1_1_x86_64.whl
| Download URL | anonlink-0.15.3-cp310-cp310-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
795190796aa727c4e33e166fa09583a5694b53e1cee8d1c9009c42e062c4b577
|
|
BLAKE2b-256 checksum How to use checksums |
7c4095c3dc50ec2dfdf3bc25206606e33b85d67b1608cf893b0e6f7a19b5f9b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anonlink-0.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
cb939c3e7f10bef3287890c0fa5bc0a4fa224d35bd0fe131b3cc0644072e9181
|
|
BLAKE2b-256 checksum How to use checksums |
3799f3c471b159b4a0a0807b19572681707671bd9ca365ca5acab1698470c27c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | anonlink-0.15.3-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 193.6 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
787a827cdf9dc772a8a624105f66c22d519933b4c134023fe3ff4382b32eafb5
|
|
BLAKE2b-256 checksum How to use checksums |
599442af5f83492ed54c1aa86145cb9ccbe647807a2c56483e44158ec6e0c5f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | anonlink-0.15.3-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 212.2 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
7a82cc074db8dab14d7c12b103663653114d01db311ca6be3ed85e9d6508f8fc
|
|
BLAKE2b-256 checksum How to use checksums |
e20f21f7ff59e69bd2b496f7f712619fdde2f1169a5ab47168faaf5ecbd5c4de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp39-cp39-win_amd64.whl
| Download URL | anonlink-0.15.3-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 186.2 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f9b3a8f56fafb363dec90fe6113011c55a69a3484fc90525fc58a22e7ade4716
|
|
BLAKE2b-256 checksum How to use checksums |
2f1be674676604212586521d92bee21cf51b0eb9a7f41fa9e50a7d2a02e11b94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp39-cp39-musllinux_1_1_x86_64.whl
| Download URL | anonlink-0.15.3-cp39-cp39-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.9 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
b13c98a1833b34181a4294087b45628a17430b3e3da1209483ffc59aa76965fe
|
|
BLAKE2b-256 checksum How to use checksums |
bb9e015df530550c666c58d2cb9800b826287c64cb3660c973689bfd1b600820
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anonlink-0.15.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
1052361ce7bad40a96054dbbc573508cf5693819976ac1227fcc68caebf53899
|
|
BLAKE2b-256 checksum How to use checksums |
e207d9196495095b46ee18312f801a14d78988347351681589f932f337a694e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | anonlink-0.15.3-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 193.8 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
792129bd674496f38d169eed2ccdea3a0302498882969839309e28ad3cc76b13
|
|
BLAKE2b-256 checksum How to use checksums |
6a577f189b3be96e2ca86978bf01954ed5d3e3552203ff2cc37f4d78ac9f6afb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | anonlink-0.15.3-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 212.9 kB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
e47e9e433f04022e1c925da548e057ca7981788fe772e571036f8ff8c9dee9fd
|
|
BLAKE2b-256 checksum How to use checksums |
c6c66a3194793a118dd0f281f5f7d697068a8d8a679ac4b5691883f4614d6587
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp38-cp38-win_amd64.whl
| Download URL | anonlink-0.15.3-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 186.0 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d091ed99a210dc03dfa608b923a736a40f57dd61cd2236a5f642dc40402549c3
|
|
BLAKE2b-256 checksum How to use checksums |
fbbf5511aafcd748e64a40ac2387e344c54af704dfd4394aeb23f18708258676
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp38-cp38-musllinux_1_1_x86_64.whl
| Download URL | anonlink-0.15.3-cp38-cp38-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.8 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
b489adc8977ac17ae0fd7260037d6f75d3e82ba3ac28766175c087ddc7d4bb15
|
|
BLAKE2b-256 checksum How to use checksums |
d713c6baee8dae5407cb13cec78d523df4179441648efd4acea7f1645525bd3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anonlink-0.15.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
c7bbaf02e2da35ffb6824fab7a001d86d098a2a433ac52776e732833b2e570e7
|
|
BLAKE2b-256 checksum How to use checksums |
ecc38e9814f262e451c8781eab484c0fcd1e1eb45389eef430185aec2e8dd0d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp38-cp38-macosx_11_0_arm64.whl
| Download URL | anonlink-0.15.3-cp38-cp38-macosx_11_0_arm64.whl |
|---|---|
| Size | 190.4 kB |
| Tags | CPython 3.8 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
83785a380d8adc26afa4388fe5427365bbf49f336d8fe4b48280751a5ed99973
|
|
BLAKE2b-256 checksum How to use checksums |
89917fa69d8e7bfd595025dc25439770bd1ff61397e88f1c40de8497eee47d17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp38-cp38-macosx_10_9_x86_64.whl
| Download URL | anonlink-0.15.3-cp38-cp38-macosx_10_9_x86_64.whl |
|---|---|
| Size | 208.8 kB |
| Tags | CPython 3.8 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
0e6610810b26eb9955185c7b5f11b1501ee12dc953dc0844904f910b35b826be
|
|
BLAKE2b-256 checksum How to use checksums |
20a3414bcc20c688822da0ff9f448e1872dfa88207b27a3ad8c03ad10efd1f15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp37-cp37m-win_amd64.whl
| Download URL | anonlink-0.15.3-cp37-cp37m-win_amd64.whl |
|---|---|
| Size | 184.4 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8109ec521b784a33eed23ea520c79b9707fa72b10eaeadf0dd631ad65a0084d8
|
|
BLAKE2b-256 checksum How to use checksums |
43be88bee89f58fc7a6555d0b182c89f8e5060a624d9bd0f6d0fca9e758c7a1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp37-cp37m-musllinux_1_1_x86_64.whl
| Download URL | anonlink-0.15.3-cp37-cp37m-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
e63330cc290caf13b7c0d65e327dd346301ba5b7964f6d1b347158dfbbe6b4ff
|
|
BLAKE2b-256 checksum How to use checksums |
7641b444af21c62e801856aea191dc4238fdc5a21ca5113a35a6afa8b7991c8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anonlink-0.15.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
09f96ae7bfa48152c1a05e48db63e0780ea99630fa0e8a22f41c6bfe1dcce74d
|
|
BLAKE2b-256 checksum How to use checksums |
1aaf6c768586b4b4f07173263ff3f2380a39fb86cd4ed1cd149b10593eb7ffcd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp37-cp37m-macosx_10_9_x86_64.whl
| Download URL | anonlink-0.15.3-cp37-cp37m-macosx_10_9_x86_64.whl |
|---|---|
| Size | 209.4 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
670082f0df2ffc65909b8cb18bae95678acd7c60a7ecf7edfe12f5a45073c2a2
|
|
BLAKE2b-256 checksum How to use checksums |
33188189c06618dcb210d18918c089bc523079c3ccf1bcd2c256040ea8884fa4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp36-cp36m-win_amd64.whl
| Download URL | anonlink-0.15.3-cp36-cp36m-win_amd64.whl |
|---|---|
| Size | 184.4 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bb6988752057c869d3aa05bd9614bd1167f543b6f18f5460bf3ae7161d0369bd
|
|
BLAKE2b-256 checksum How to use checksums |
c31df0305079ff60b3b1e0dcfc8652875362ac8063d583f9edc4f675272e1b6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp36-cp36m-musllinux_1_1_x86_64.whl
| Download URL | anonlink-0.15.3-cp36-cp36m-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
54572ccb318a8add98bc1badffd55a037f93e9e40f01b22268a1774e473126e1
|
|
BLAKE2b-256 checksum How to use checksums |
0d842c6b28090197ecd1eb3479744dec036e0c36545033be9fb90fe29cfb3537
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anonlink-0.15.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
e3ab51942edc54356ccd0df93e4bcd914481fe1e96fa1e4659415421de91f1ab
|
|
BLAKE2b-256 checksum How to use checksums |
f8fce6dbe6143976b9d95f8071bd7ac5e94e5a2845ef0a23df2cf7ae730ffb3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / anonlink-0.15.3-cp36-cp36m-macosx_10_9_x86_64.whl
| Download URL | anonlink-0.15.3-cp36-cp36m-macosx_10_9_x86_64.whl |
|---|---|
| Size | 209.2 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
4cfa1ff43e0258738a70c710ce6318f19bae5f479df1f806f44e60536c99908b
|
|
BLAKE2b-256 checksum How to use checksums |
bdbfdaf84bf9c0662e50372237d86d83eb1d27977f04e1a076e2d3e053812ab5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Security for anonlink 0.15.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.