--- id: eth-bloom version: "3.1.0" license: MIT license_treatment: permissive maintenance: dormant --- # eth-bloom — A python implementation of the bloom filter used by Ethereum License: permissive · Maintenance: dormant · Downloads: 281.9K/mo ## What it is and what it does eth-bloom is a Python implementation of the bloom filter data structure used by Ethereum for efficient membership testing. It provides a BloomFilter class that supports adding byte strings, checking membership, converting to integer or binary representations, and merging filters via addition or bitwise operations. The package is designed for Ethereum-specific use cases where bloom filters are part of the protocol. The library depends only on eth-hash for its hashing operations and supports Python 3.8 through 3.13. It is classified as Pre-Alpha but has been stable since its transfer to the Ethereum Foundation in 2017. The implementation is straightforward and focused: it does not attempt to be a general-purpose bloom filter library but rather a faithful implementation of Ethereum's specific variant. Use it for: - Filter Ethereum logs or events in light clients or off-chain indexing systems - Verify membership of transaction hashes or addresses in Ethereum bloom filters - Merge bloom filters from multiple Ethereum blocks or data sources - Serialize and deserialize bloom filter state for storage or network transmission - Test Ethereum protocol implementations that rely on bloom filter semantics ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Implements Ethereum's bloom filter algorithm for efficient membership testing of byte strings, supporting add, check, merge, and serialization operations. Yes, if you are working with Ethereum data structures or implementing Ethereum protocol logic. The package is stable, has no known vulnerabilities, and installs with minimal friction. However, dormant maintenance (583 days since last release) means it is not actively developed; install only if you need the specific Ethereum bloom filter implementation and do not expect bug fixes or feature updates. ## Install pip install eth-bloom uv add eth-bloom poetry add eth-bloom ## Installing eth-bloom Before you install: Low friction install with a single runtime dependency (eth-hash). Maintenance is dormant—last release was 583 days ago, though the repository remains active with a recent commit on 2025-01-08. Suitable for stable, well-defined use cases but not for packages expecting active development. License in practice: MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects. Quickstart: from eth_bloom import BloomFilter b = BloomFilter() b.add(b'a value') if b'a value' in b: print('Found') Verify before relying: - Whether eth-hash dependency is available and maintained for the Python versions supported (3.8–3.13) - Performance characteristics and false-positive rate for typical Ethereum use cases - Compatibility with current Ethereum protocol versions and client implementations ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 281.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags ethereum bloom filter, bloom filter implementation, ethereum membership testing, bloom filter python, ethereum data structures, probabilistic set membership, bloom filter merge, ethereum, bloom-filter, cryptography [View on SkillFed](https://skillfed.io/packages/eth-bloom) · [View on PyPI](https://pypi.org/project/eth-bloom/)