{"adoption": {"forks": 55, "observed_at": "2026-08-28T04:03:14.647347+00:00", "stars": 1017}, "canonical_url": "https://ross.abutalabs.com/products/bifurcan", "card": {"archived": false, "artifact_type": "library", "description": "functional, durable data structures", "domain": ["developer-tools", "programming-languages"], "enriched": true, "function": ["serialization"], "health_score": 56, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["lacuna/bifurcan"], "name": "lacuna/bifurcan", "platform": ["jvm"], "pushed_at": "2025-12-30T22:26:21+00:00", "repo": "lacuna/bifurcan", "stars": 1017, "tags": ["data-structures", "immutable-collections", "persistent-data-structures", "functional-programming", "jvm", "algorithms"], "topics": [], "urls": [], "use_cases": ["use immutable persistent collections in Java", "faster hash map iteration than HashMap", "efficient union, intersection, and difference of collections", "custom equality and hash semantics for collections", "functional-style collection updates returning new collections", "convert collections to read-only java.util interfaces"], "what_it_is": "Bifurcan is a Java library providing high-performance mutable and immutable (functional) data structures such as lists, maps, and sets with a common API. It offers efficient random access, inverted indices, splitting/merging, and fast batch set operations compared to standard java.util collections.", "when_to_avoid": ["you only need simple collections and are happy with java.util", "you need collections that implement java.util interfaces natively", "you work outside the JVM"], "when_to_choose": ["you need immutable or mutable data structures with better performance than java.util", "your workload relies heavily on batch set operations like merge or union", "you want deterministic memory layout for fast equality checks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bifurcan", "repo": "lacuna/bifurcan", "role": "main", "score": 59}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "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:03:14.647347+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.647347+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.388232+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1eceb3bbea8a0006b8e47de8881f1384d5e335782107fb03758b09eda7b6898c", "fetched_at": "2026-08-28T04:03:14.647347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lacuna/bifurcan"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 59, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3691, "days_push": 246, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 59, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}