pybloom-live
Bloom filter: A Probabilistic data structure
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Source-only distribution requires a C compiler and build tools at install time; no pre-built wheels are available.
- High install friction: the package distributes as a source tarball with no pre-built wheels, requiring compilation at install time.
- Maintenance status is aging—the latest release dates to October 2022, over three years old, though the repository remains active with recent commits.
License · maintenance · safety
MIT License (permissive) — MIT License (permissive): you may use, modify, and distribute this package freely in both open-source and commercial projects, provided you include the license notice.
last release 2022-10-15 (1399 days) · last repo commit 2025-11-13 · 167 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 128,111 downloads/mo, #11,719 on PyPI
Alternatives
Verify before relying
pip install pybloom-live
import pybloom_live
# Create a fixed-capacity filter
f = pybloom_live.BloomFilter(capacity=1000, error_rate=0.001)
f.add("apple")
print("apple" in f) # True
print("grape" in f) # False- Whether the package works with current Python versions (requires_python is unspecified in metadata)
- Performance characteristics relative to alternative Bloom filter libraries
- Whether xxHash is bundled or requires a system dependency
What it is and 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.
The library is designed for scenarios where memory efficiency and speed matter more than perfect accuracy—web 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.
Use it for
- 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
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
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.
Install
pybloom-live on PyPI
Before you install
High install friction: the package distributes as a source tarball with no pre-built wheels, requiring compilation at install time. Maintenance status is aging—the latest release dates to October 2022, over three years old, though the repository remains active with recent commits.
Source-only distribution requires a C compiler and build tools at install time; no pre-built wheels are available.
License in practice
MIT License (permissive): you may use, modify, and distribute this package freely in both open-source and commercial projects, provided you include the license notice.
Quickstart
pip install pybloom-live
import pybloom_live
# Create a fixed-capacity filter
f = pybloom_live.BloomFilter(capacity=1000, error_rate=0.001)
f.add("apple")
print("apple" in f) # True
print("grape" in f) # False
Verify before relying
- Whether the package works with current Python versions (requires_python is unspecified in metadata)
- Performance characteristics relative to alternative Bloom filter libraries
- Whether xxHash is bundled or requires a system dependency
Package facts
| License | MIT License permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Aging 1,399 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 128,111 / month, #11,719 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Database :: Database Engines/ServersTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities |
Evidence: pybloom_live-4.0.0.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “probabilistic set membership”
- pybloom-liveImplements Bloom filters—space-efficient probabilistic data…
- bloom-filter2A pure Python implementation of a Bloom filter—a probabilistic data…
- rbloomImplements a Bloom filter data structure in Rust with a Python API…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also bloom-filter2 · rbloom · bloomfilter-py · preshed · eth-bloom · pyprobables · murmurhash · floret · multiset · py-multihash