Skip to main content

Library that offers all types of Bloom filters, implemented in Rust

Project description

______  ______                          ___________ ______  
___  /_ ___  /______ ______ _______ ___ ___  /___(_)___  /_ 
__  __ \__  / _  __ \_  __ \__  __ `__ \__  / __  / __  __ \
_  /_/ /_  /  / /_/ // /_/ /_  / / / / /_  /  _  /  _  /_/ /
/_.___/ /_/   \____/ \____/ /_/ /_/ /_/ /_/   /_/   /_.___/ 

bloomlib: superfast Bloom filters for Python, optimized in Rust

Testing coverage
Package PyPI Latest Release PyPI Downloads
status dependencies
Meta GitHub License implementation versions
Social tweet xfollow

bloomlib is a Python package that provides superfast Bloom filters, designed to optimize your applications in an easy and intuitive way. It aims to be the go-to package to build and use Bloom Filters that make your applications superfast, memory-efficient and user-friendly.

pip install bloomlib

Table of Contents

Main Features

  • 🦀 Built in Rust
  • ⚡ Highly optimized for speed and memory-efficiency
  • 👨‍🎨 User-friendly

Usage Example

from bloomlib import BloomFilter

# 1. Create the filter
bf = BloomFilter(expected_number_of_items=1_000, desired_false_positive_rate=0.05)

# 2. Add items
for i in range(100):
    bf.add(item=i)

# 3. Check if an item is contained; False means definitely not, True means "maybe" 
if (bf.contains(item=42)):
    print("This item may be in filter")
else:
    print("This item is definitely not in the filter")

Installation

pip install bloomlib

The source code is currently hosted on GitHub at: https://github.com/mike-huls/bloomlib

Binary installers for the latest released version are available at the Python Package Index (PyPI).

Dependencies

Bloomlib has no Python dependencies

License

MIT

Documentation

🔨 Under construction

Development

Find the changelog and list of upcoming features here.
Contributions are always welcome; feel free to submit bug reports, bug fixes, feature requests, documentation improvements or enhancements!


Go to Top

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

bloomlib-0.0.3.tar.gz (15.9 MB view details)

Uploaded Source

Built Distribution

bloomlib-0.0.3-cp39-cp39-manylinux_2_34_x86_64.whl (260.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.34+ x86-64

File details

Details for the file bloomlib-0.0.3.tar.gz.

File metadata

  • Download URL: bloomlib-0.0.3.tar.gz
  • Upload date:
  • Size: 15.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.4

File hashes

Hashes for bloomlib-0.0.3.tar.gz
Algorithm Hash digest
SHA256 e6239dc2de24a0c249918bf9ecdd1022c71db3507ac449bb590c3ba7a8dfc48c
MD5 77395f07f56f02b34fff391d563a344a
BLAKE2b-256 ba1eb0887395b191b441ce30ff133feb42a1a3ede4153913f6014eb06f317b7c

See more details on using hashes here.

File details

Details for the file bloomlib-0.0.3-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for bloomlib-0.0.3-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a6443429eb2ca695b71734d61a8fe81362477d1d03b139b115a2c3cd8e50bb86
MD5 6b4fc6f9e8f9516e8528901ab65b1856
BLAKE2b-256 33972010cda687415abcd37c91b8c095fa4a09c1b39643975b5fca0d064fbd57

See more details on using hashes here.

Supported by

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