# tylertreat/BoomFilters

Probabilistic data structures for processing continuous, unbounded streams.

Repository: https://github.com/tylertreat/BoomFilters
Canonical: https://ross.abutalabs.com/products/boomfilters
Language: Go
License: Apache-2.0
License Family: permissive
Topics: bloom-filter, go, stable-bloom-filters, cuckoo-filter, probabilistic-programming, counting-bloom-filters, scalable-bloom-filters, count-min-sketch, data-stream, filter
Last push: 2025-11-17T16:45:19+00:00

## Health v2 (maintenance only)
Score: 56/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 52, release rhythm 35, longevity 100
- inputs: {"age_days": 4227, "days_push": 289, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1645, forks 118 (observed 2026-08-28T04:05:16.201878+00:00)

## What it is
A Go library of probabilistic data structures for processing continuous, unbounded data streams, including Stable, Scalable, Counting, and Inverse Bloom filters, Cuckoo filters, HyperLogLog, Count-Min Sketch, Top-K, and MinHash. It enables approximate set membership, cardinality estimation, frequency estimation, and set-similarity comparison with bounded memory.

## Use cases
- deduplicate events from an unbounded stream
- estimate cardinality of a large dataset with low memory
- track top-k most frequent elements in a stream
- approximate similarity between two sets or documents
- count element frequencies with a count-min sketch
- membership testing when dataset size is unknown ahead of time

## When to choose
- you're processing unbounded or streaming data in Go and can tolerate small false-positive rates
- you need memory-efficient approximate counting, cardinality, or deduplication
- you need filters that support insertion and deletion (Counting/Cuckoo filters)

## When to avoid
- you need exact set membership, counts, or cardinality
- you're not working in Go
- your dataset is small enough that exact structures fit in memory

## Facets
- artifact type: library
- maturity: stable
- function: search-engine, data-science, developer-tools
- domain: data-science, big-data, analytics
- platform: go, cross-platform
- tags: bloom-filter, cuckoo-filter, hyperloglog, count-min-sketch, minhash, stream-processing, probabilistic-data-structures, sketching, algorithms

## Member repositories
- tylertreat/BoomFilters (main) score 56

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:16.201878+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:45:28.104777+00:00, confidence not recorded.
  - readme: https://github.com/tylertreat/BoomFilters (fetched 2026-08-28T04:05:16.201878+00:00, sha 2455fc362e93)
- Data as of 2026-08-30T08:39:29.467469+00:00.
