{"adoption": {"forks": 321, "observed_at": "2026-08-28T04:05:12.141785+00:00", "stars": 1618}, "canonical_url": "https://ross.abutalabs.com/products/python-bloomfilter", "card": {"archived": true, "artifact_type": "library", "description": "Scalable Bloom Filter implemented in Python", "domain": ["databases", "developer-tools"], "enriched": true, "function": ["caching", "search-engine", "data-science"], "health_score": 10, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["jaybaird/python-bloomfilter"], "name": "jaybaird/python-bloomfilter", "platform": ["python", "cross-platform"], "pushed_at": "2021-07-01T08:40:04+00:00", "repo": "jaybaird/python-bloomfilter", "stars": 1618, "tags": ["bloom-filter", "probabilistic-data-structure", "scalable-bloom-filter", "algorithms"], "topics": [], "urls": [], "use_cases": ["check if an element is in a large set without storing it all", "build a scalable bloom filter that grows with the dataset", "avoid expensive lookups with a probabilistic membership test", "deduplicate items with a small memory footprint", "implement a spell checker or cache filter with controlled false positive rate"], "what_it_is": "pybloom is a Python module implementing Bloom Filters and Scalable Bloom Filters as a probabilistic set membership data structure. It grows filter capacity automatically based on false positive probability targets, following the Almeida et al. GLOBECOM 2007 paper.", "when_to_avoid": ["you need exact membership answers with zero false positives", "you need deletion support, which bloom filters don't provide", "you need a actively maintained or high-performance implementation for production systems"], "when_to_choose": ["you need memory-efficient approximate set membership in pure Python", "you don't know the final set size in advance and want automatic scaling", "a small false positive rate is acceptable for your use case"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/python-bloomfilter", "repo": "jaybaird/python-bloomfilter", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.141785+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:49:38.656370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4d8bd263e786b7bd53e46700a446381e327bd34d0406a631a53b78dab3140c04", "fetched_at": "2026-08-28T04:05:12.141785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaybaird/python-bloomfilter"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6474, "days_push": 1889, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}