{"adoption": {"forks": 872, "observed_at": "2026-08-28T04:09:02.016523+00:00", "stars": 4893}, "canonical_url": "https://ross.abutalabs.com/products/cglib", "card": {"archived": false, "artifact_type": "library", "description": "cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access.", "domain": ["developer-tools", "programming-languages", "testing"], "enriched": true, "function": ["compiler", "developer-tools", "middleware"], "health_score": 20, "homepage": "https://github.com/cglib/cglib/wiki", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["cglib/cglib"], "name": "cglib/cglib", "platform": ["jvm", "cross-platform"], "pushed_at": "2024-08-16T10:22:51+00:00", "repo": "cglib/cglib", "stars": 4893, "tags": ["bytecode-generation", "dynamic-proxies", "aop", "java", "asm", "code-generation", "unmaintained"], "topics": [], "urls": [], "use_cases": ["generate dynamic proxy objects in Java at runtime", "intercept method calls for AOP-style frameworks", "extend Java classes without source code", "mock or stub classes in testing frameworks", "generate persistent classes for ORM data access", "transform Java bytecode programmatically"], "what_it_is": "cglib is a high-level Java bytecode generation and transformation library used to create dynamic proxies, extend classes, and intercept method/field access at runtime. It is widely used by AOP, testing, and data access frameworks, though it is now unmaintained and broken on JDK17+.", "when_to_avoid": ["you're starting a new project - use ByteBuddy instead", "you target JDK 17 or newer, where cglib may not work at all", "you need an actively maintained library with timely bug fixes"], "when_to_choose": ["you maintain a legacy Java codebase already using cglib on JDK 8-11", "you need runtime class extension or dynamic proxies on an older JVM", "you're studying how bytecode generation and proxying works"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cglib", "repo": "cglib/cglib", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "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:09:02.016523+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.016523+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:10.898009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f204ca08e0dabb41edda44cca7394b3ca3abcea61037eac5c1812265d7da2cc3", "fetched_at": "2026-08-28T04:09:02.016523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cglib/cglib"}, {"content_hash": "9b310761d6dddf57a10282114884ab375feb72062083d14e08324e5adee682c0", "fetched_at": "2026-08-29T09:00:20.979535+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/cglib/cglib/wiki"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 4540, "days_push": 747, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}