{"adoption": {"forks": 213, "observed_at": "2026-08-28T04:04:22.801737+00:00", "stars": 1326}, "canonical_url": "https://ross.abutalabs.com/products/janino", "card": {"archived": true, "artifact_type": "library", "description": "Janino is a super-small, super-fast Java™ compiler.", "domain": ["compilers", "programming-languages", "developer-tools"], "enriched": true, "function": ["compiler", "interpreter", "parser"], "health_score": 10, "homepage": "http://janino-compiler.github.io/janino", "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["janino-compiler/janino"], "name": "janino-compiler/janino", "platform": ["jvm", "cli"], "pushed_at": "2026-07-04T07:43:33+00:00", "repo": "janino-compiler/janino", "stars": 1326, "tags": ["in-memory-compilation", "java-compiler", "runtime-code-evaluation", "expression-evaluator", "scripting"], "topics": ["compiler", "java-compiler", "in-memory-java-compiler", "janino"], "urls": [], "use_cases": ["evaluate java expressions at runtime", "compile java code in memory", "embed a scripting engine in a jvm application", "compile java snippets dynamically in drools rules", "run a lightweight java compiler without full javac", "analyze or manipulate java source code programmatically"], "what_it_is": "Janino is a super-small, super-fast Java compiler that can compile source files to class files like javac, or compile Java expressions, blocks, class bodies, or .java files in memory and execute them directly in the running JVM. It integrates with Apache Commons JCI and Drools and can also be used for static code analysis and code manipulation.", "when_to_avoid": ["you need full javac feature coverage, latest Java language features, or long-term support, since the project was archived in 2025", "you need an actively maintained compiler with bug fixes and new JDK compatibility", "you need ahead-of-time compilation of large codebases where a full toolchain is better suited"], "when_to_choose": ["you need fast, lightweight in-memory compilation of Java expressions, blocks, or classes inside a running JVM", "you want runtime scripting/evaluation capabilities in a Java application", "you need a small compiler dependency for tools like Drools or Apache Commons JCI"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/janino", "repo": "janino-compiler/janino", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "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:04:22.801737+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.801737+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:46:22.429035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94bae99801fdc0317729b932ce47e4974b8b6f95023543b19a28c014943844b6", "fetched_at": "2026-08-28T04:04:22.801737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/janino-compiler/janino"}, {"content_hash": "13592d18fd62ce62154cdf4ec6309dfe199ef2e191c99632eaa2d69454227dfa", "fetched_at": "2026-08-29T12:05:14.883561+00:00", "kind": "homepage", "missing": false, "url": "http://janino-compiler.github.io/janino"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 90, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3734, "days_push": 60, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}