{"adoption": {"forks": 346, "observed_at": "2026-08-28T04:03:18.365629+00:00", "stars": 1033}, "canonical_url": "https://ross.abutalabs.com/products/astyanax", "card": {"archived": false, "artifact_type": "library", "description": "Cassandra Java Client", "domain": ["databases", "developer-tools"], "enriched": true, "function": ["database-driver", "caching", "monitoring"], "health_score": 55, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["Netflix/astyanax"], "name": "Netflix/astyanax", "platform": ["jvm"], "pushed_at": "2025-12-17T03:15:00+00:00", "repo": "Netflix/astyanax", "stars": 1033, "tags": ["cassandra", "thrift", "connection-pooling", "failover", "netflix"], "topics": [], "urls": [], "use_cases": ["connect to cassandra from java", "cassandra client with connection pooling", "automatic failover for cassandra cluster", "high level api for cassandra thrift", "manage cassandra host discovery and retries", "java library to read and write cassandra columns"], "what_it_is": "Astyanax is a high-level Java client library for Apache Cassandra that wraps the underlying Thrift API with an object-oriented interface. It provides client-side failover, connection pooling, automatic host discovery, and retry behavior for building resilient Cassandra applications.", "when_to_avoid": ["you are starting a new project - modern Cassandra drivers (CQL-based) are recommended over this Thrift-era client", "you need CQL support or non-Java languages", "you require active feature development rather than maintenance"], "when_to_choose": ["you are on the JVM and need a mature, battle-tested Cassandra client with pooling and failover", "you want to encapsulate Thrift details behind a simple object-oriented API", "you need automatic host discovery, retry, and suspension of flaky nodes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/astyanax", "repo": "Netflix/astyanax", "role": "main", "score": 48}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "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:18.365629+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.365629+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:06:37.886873+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eb770434a9c472a1ba9d5caa0870383381560d5eca20d1b5685a0e4b71e3ecd1", "fetched_at": "2026-08-28T04:03:18.365629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Netflix/astyanax"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 57, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5530, "days_push": 259, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 48, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}