{"adoption": {"forks": 345, "observed_at": "2026-08-28T04:06:35.098536+00:00", "stars": 2295}, "canonical_url": "https://ross.abutalabs.com/products/algebird", "card": {"archived": false, "artifact_type": "library", "description": "Abstract Algebra for Scala", "domain": ["big-data", "data-science", "developer-tools"], "enriched": true, "function": ["serialization", "data-science", "developer-tools"], "health_score": 53, "homepage": "https://twitter.github.io/algebird", "language": "Scala", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["twitter/algebird"], "name": "twitter/algebird", "platform": ["jvm"], "pushed_at": "2025-11-21T04:01:23+00:00", "repo": "twitter/algebird", "stars": 2295, "tags": ["abstract-algebra", "monoids", "typeclasses", "probabilistic-data-structures", "hyperloglog", "count-min-sketch", "bloom-filter", "aggregation", "scala", "algorithms"], "topics": [], "urls": [], "use_cases": ["combine approximate statistics like HLL sketches in a MapReduce job", "implement composable aggregations over maps and tuples in Scala", "estimate cardinality of large datasets with low memory", "count approximate item frequencies with CountMinSketch", "define custom monoids for distributed reductions", "merge probabilistic data structures in streaming systems"], "what_it_is": "Algebird is a Scala library providing abstract algebra typeclasses (Monoids, Groups, Rings) for building composable aggregation systems. It includes monoid implementations for probabilistic data structures like HyperLogLog, CountMinSketch, and Bloom filters, originally built for Twitter's Scalding and Summingbird frameworks.", "when_to_avoid": ["you need a general-purpose math or linear algebra library rather than algebraic typeclasses for aggregation", "your project is not on the JVM/Scala", "you need actively developed probabilistic structures with the latest research features"], "when_to_choose": ["you are building aggregation systems on JVM big-data frameworks like Scalding, Storm, or Summingbird", "you need composable, mergeable approximate statistics (HLL, CountMinSketch, Bloom filters)", "you want typeclass-based algebraic abstractions for reductions in Scala"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/algebird", "repo": "twitter/algebird", "role": "main", "score": 47}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "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:06:35.098536+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.098536+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:40:23.943107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4dc086b75b972007f77f7be66786a76703b22676c23966a48f355704ac155794", "fetched_at": "2026-08-28T04:06:35.098536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/algebird"}, {"content_hash": "b6829ba688ee91ee02dee265a30631bcef9cb30b271e37db5328790582be4244", "fetched_at": "2026-08-29T10:20:41.389805+00:00", "kind": "homepage", "missing": false, "url": "https://twitter.github.io/algebird"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 53, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5144, "days_push": 285, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 47, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}