Skip to main content

Portable, cross language Bloom Fitler implementation, with compatible libraries in Java and Go

Project description

Package inbloom implements a portable bloom filter that can export and import data to and from implementations of the same library in different languages.

This implementation is a C extension which wraps libbloom (https://github.com/jvirkki/libbloom)

Installation

pip install inbloom

Usage

import inbloom

bf = inbloom.Filter(entries=100, error=0.01)
bf.add("abc")
bf.add("def")

assert bf.contains("abc")
assert bf.contains("def")
assert not bf.contains("ghi")

bf2 = inbloom.Filter(entries=100, error=0.01, data=bf.buffer())
assert bf2.contains("abc")
assert bf2.contains("def")
assert not bf2.contains("ghi")

Serialization

import inbloom
import binascii

payload = '620d006400000014000000000020001000080000000000002000100008000400'
assert binascii.hexlify(inbloom.dump(inbloom.load(binascii.unhexlify(payload)))) == payload

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

inbloom-0.2.0.tar.gz (11.7 kB view details)

Uploaded Source

File details

Details for the file inbloom-0.2.0.tar.gz.

File metadata

  • Download URL: inbloom-0.2.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for inbloom-0.2.0.tar.gz
Algorithm Hash digest
SHA256 53daf7065e7abb28608c12c3439e15c51e386bb021b829c5eda154bfd5b99524
MD5 2dd7f6ba1f7686803f834fcf13124612
BLAKE2b-256 82cf474b001edfffef2b3b61db7867261273042ca1b4e2173a5422a1c4c8a5ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page