{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/18"},{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/9"},{"label":"Database Engines/Servers","url":"https://skillfed.io/packages/category/database-database-engines-servers"}],"enrichment":{"capability":"Implements Bloom filters\u2014space-efficient probabilistic data structures for fast set membership testing with controllable false positive rates and no false negatives.","skillfed_tags":["data-structures","probabilistic-algorithms","memory-efficient"],"use_cases":["Web crawlers: Track visited URLs to avoid re-crawling the same pages repeatedly","Cache pre-filtering: Quick membership checks before expensive database or network lookups","Database optimization: Pre-filter query results to avoid unnecessary disk reads","Spell checkers: Fast dictionary lookups for word validation","Distributed systems: Efficient set reconciliation and membership queries across nodes","Network packet filtering: Fast classification of packets in routers and firewalls"],"what_it_does":"pybloom_live provides two Bloom filter implementations for Python: a fixed-capacity BloomFilter for known dataset sizes, and a ScalableBloomFilter that automatically expands as elements are added. Bloom filters are probabilistic data structures that answer set membership queries with certainty for negative results (element definitely not in set) and probabilistic results for positive results (element might be in set, with a tunable false positive rate). The package uses xxHash for fast non-cryptographic hashing and supports set operations (union, intersection), serialization to disk, and both small and large growth modes for scalable filters.\n\nThe library is designed for scenarios where memory efficiency and speed matter more than perfect accuracy\u2014web crawlers tracking visited URLs, caching systems doing pre-filters before expensive lookups, database query optimization, and distributed system reconciliation. It has no runtime dependencies and works with Python 3.6 and later.","worth_installing":"Yes, if you need efficient set membership testing and can tolerate the source-only install friction. The package is stable and permissively licensed, but maintenance is aging (no releases since October 2022). Install only if your use case genuinely benefits from Bloom filter semantics; for simple set membership in memory-unconstrained applications, a plain Python set is simpler and faster."},"id":"pybloom-live","links":{"html":"https://skillfed.io/packages/pybloom-live","md":"https://skillfed.io/packages/pybloom-live.md","pypi":"https://pypi.org/project/pybloom-live/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2022-10-15","license_spdx":null,"license_treatment":"permissive","name":"pybloom-live","python_support":"unspecified","summary":"Bloom filter: A Probabilistic data structure"},"popularity":{"monthly_downloads":128111,"position":11719,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.0.0"}
