cuckoofilter
Cuckoofilter is an implementation of Cuckoo Filter using Python, which is thread-safe. Besides, the package can both be used in python2.x and python3.x.
Cuckoo Filter
Cuckoo filter first appeared in the paper
Cuckoo Filter: Practically Better Than Bloom <https://www.cs.cmu.edu/~dga/papers/cuckoo-conext2014.pdf>_
by Bin Fan,David G. Andersen, Michael Kaminsky and Michael D. Mitzenmacher, which is used to
replace Bloom filters for approximate set membership tests. Cuckoo filters support
adding and removing items dynamically while achieving even higher performance than
Bloom filters. For applications that store many items and target moderately low
false positive rates, cuckoo filters have lower space overhead than space-optimized
Bloom filters.
To know more details of Cuckoo Filter, please read the paper.
Installation
Install cuckoofilter:
.. code-block::
$ pip install cuckoopy
Or
.. code-block::
$ pip3 install cuckoopy
Usage
.. code-block:: python
>>> import cuckoofilter
>>> cf = cuckoofilter.CuckooFilter(capacity=100, fingerprint_size=1)
>>> cf.insert('test')
True
>>> cf.contains('test')
True
>>> cf.delete('test')
True
Testing
To test the package and generate a test coverage report, you should run .. code-block::
$ pip install pytest coverage pytest-cov $ pytest -v --cov=cuckoofilter --cov-report=html
Or .. code-block::
$ pip3 install pytest coverage pytest-cov $ python3 -m pytest .
License
GPL-3.0 License <https://github.com/shenaishiren/cuckoofilter/blob/master/LICENSE>_
Release files for cuckoofilter 0.0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cuckoofilter-0.0.0.2.tar.gz | 4.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cuckoofilter-0.0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.8 kB
Release files / cuckoofilter-0.0.0.2.tar.gz
| Download URL | cuckoofilter-0.0.0.2.tar.gz |
|---|---|
| Size | 4.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
62df976c8c2298ca2a6b40971178a20145cbff5760cd8b4de0a964b3427f064f
|
|
BLAKE2b-256 checksum How to use checksums |
c232f502fab0279d1939ba31d08014f3ba8b8895c920f565204da69a540af97e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
|
Release files / cuckoofilter-0.0.0.2-py3-none-any.whl
| Download URL | cuckoofilter-0.0.0.2-py3-none-any.whl |
|---|---|
| Size | 17.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
28f439afd9b3e2c958fed5d6cf7d15a9ea96f0c6e7305528655bf52f3c672342
|
|
BLAKE2b-256 checksum How to use checksums |
a5d1f25d0341f3852726529ec05e79d5d5ee4e4f9421a78a9225816162f88a33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
|