{"adoption": {"forks": 275, "observed_at": "2026-08-28T04:04:14.627935+00:00", "stars": 1284}, "canonical_url": "https://ross.abutalabs.com/products/lift-framework", "card": {"archived": false, "artifact_type": "framework", "description": "Lift Framework", "domain": ["web-development", "backend"], "enriched": true, "function": ["web-framework", "templating", "websocket"], "health_score": 96, "homepage": "http://liftweb.net", "language": "Scala", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["lift/framework"], "name": "lift/framework", "platform": ["jvm", "cross-platform"], "pushed_at": "2026-07-26T11:58:58+00:00", "repo": "lift/framework", "stars": 1284, "tags": ["scala", "comet", "ajax", "view-first", "servlet-container", "owasp", "real-time-web", "jetty", "real-time", "web-server"], "topics": ["web", "framework", "lift", "lift-framework", "scala", "real-time", "view-first"], "urls": [], "use_cases": ["build a secure web application in scala", "real-time interactive web framework for the jvm", "scala framework with built-in ajax and comet support", "deploy a scala web app to a servlet container like jetty", "view-first templating web framework", "web framework resistant to owasp top 10 vulnerabilities", "high-traffic scalable web application in scala"], "what_it_is": "Lift is an open-source, security-focused web framework for building interactive, scalable web applications in Scala on the JVM. It offers view-first templating, strong built-in protection against OWASP vulnerabilities, and industry-leading Comet and Ajax support, while deploying unchanged to standard Java servlet containers.", "when_to_avoid": ["you are not working on the JVM and have no Scala experience in the team", "you need a mainstream ecosystem with abundant hiring pool, tutorials, and community compared to Play or Spring", "your project is a lightweight REST/JSON microservice where a full view-first web framework is overkill", "your product is a heavily front-end SPA consuming a separate API, where Lift's server-driven model adds little"], "when_to_choose": ["your team works in Scala or wants to reuse existing Java libraries and JVM infrastructure", "you need strong security defaults and resistance to common web vulnerabilities out of the box", "you are building highly interactive, real-time pages where Comet-style server push matters", "you want to deploy on existing servlet containers and application servers (Jetty, Tomcat, NetWeaver)"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/lift-framework", "repo": "lift/framework", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "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:14.627935+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.627935+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:56:45.372308+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e267969fa5542d28aeccd946dda725d2566ea8c587aa5b071c41f140a5aabcb7", "fetched_at": "2026-08-28T04:04:14.627935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lift/framework"}, {"content_hash": "3f72b665a870e7268e13db22df1e1944f17ee4e14fb10cbc2dda88d31fa7fd27", "fetched_at": "2026-08-29T12:12:29.276820+00:00", "kind": "homepage", "missing": false, "url": "http://liftweb.net"}, {"content_hash": "935023741b95b6b7332a3970be996c5859c241ec4e6cca546e930bd4801f5209", "fetched_at": "2026-08-29T12:12:29.286107+00:00", "kind": "site_page", "missing": false, "url": "https://liftweb.net/api_docs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 100, "rhythm": 52}, "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": 5698, "days_push": 38, "days_rel": 108, "gap_med": null, "n_releases_24m": 1}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}