{"adoption": {"forks": 717, "observed_at": "2026-08-28T04:08:39.390648+00:00", "stars": 4228}, "canonical_url": "https://ross.abutalabs.com/products/javassist", "card": {"archived": false, "artifact_type": "library", "description": "Java bytecode engineering toolkit", "domain": ["developer-tools", "programming-languages", "compilers"], "enriched": true, "function": ["compiler", "parser", "developer-tools"], "health_score": 99, "homepage": "www.javassist.org", "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["jboss-javassist/javassist"], "name": "jboss-javassist/javassist", "platform": ["jvm"], "pushed_at": "2026-08-23T15:28:01+00:00", "repo": "jboss-javassist/javassist", "stars": 4228, "tags": ["bytecode-manipulation", "java-bytecode", "runtime-class-generation", "instrumentation", "aop"], "topics": ["java-bytecode", "java"], "urls": [], "use_cases": ["generate new Java classes at runtime", "instrument Java classes as the JVM loads them", "modify class files without knowing bytecode internals", "build AOP frameworks or proxies in Java", "add logging or tracing to existing Java classes", "patch third-party Java libraries at load time"], "what_it_is": "Javassist is a Java class library for editing Java bytecode, enabling programs to define new classes at runtime or modify class files as the JVM loads them. It offers both a source-level API (editing classes using Java syntax without bytecode knowledge) and a bytecode-level API for direct class file manipulation.", "when_to_avoid": ["you need bytecode manipulation on non-JVM languages", "you only need runtime reflection without class modification", "you need a higher-level agent framework rather than a bytecode library"], "when_to_choose": ["you need runtime class generation or bytecode transformation on the JVM", "you want to edit classes using Java source syntax instead of raw bytecode", "you're building frameworks like ORMs, AOP tools, or mocking libraries"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/javassist", "repo": "jboss-javassist/javassist", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "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:08:39.390648+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:39.390648+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:21.637529+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7e9508dde9ef53d5c03de036f3aa55abf101ffad3720e4a1f15a9a997007387", "fetched_at": "2026-08-28T04:08:39.390648+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jboss-javassist/javassist"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 87}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4849, "days_push": 10, "days_rel": 10, "gap_med": 62.5, "n_releases_24m": 3}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}