Bloomfilter-py

1.1.0 · active · verified Thu Apr 16

Bloomfilter-py is a Python library providing a Bloom filter implementation, notable for its compatibility with Java's Guava library's serialization format. It allows for seamless reading and writing of Bloom filters between Python and Java applications. The current version is 1.1.0, and it has a moderate release cadence, with its latest update in August 2024.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates initializing a Bloom filter, adding elements, checking for membership, and performing Guava-compatible serialization/deserialization.

from bloomfilter import BloomFilter

# Initialize a Bloom filter with expected insertions and desired error rate
bloom_filter = BloomFilter(expected_insertions=1000, err_rate=0.01)

# Add elements
bloom_filter.put("apple")
bloom_filter.put("banana")
bloom_filter.put("orange")

# Check for membership
print(f"Is 'apple' in filter? { 'apple' in bloom_filter }")
print(f"Is 'grape' in filter? { 'grape' in bloom_filter }")

# Serialize to bytes (Guava compatible)
serialized_data = bloom_filter.dumps()

# Deserialize from bytes
loaded_filter = BloomFilter.loads(serialized_data)
print(f"Is 'banana' in loaded filter? { 'banana' in loaded_filter }")

view raw JSON →