Skip to main content

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)

Source distribution for cuckoofilter 0.0.0.2
File Size Uploaded
cuckoofilter-0.0.0.2.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cuckoofilter 0.0.0.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.0.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page