{"adoption": {"forks": 177, "observed_at": "2026-08-28T04:06:59.530362+00:00", "stars": 2544}, "canonical_url": "https://ross.abutalabs.com/products/sqlpage", "card": {"archived": false, "artifact_type": "framework", "description": "Fast SQL-only data application builder. Automatically build a UI on top of SQL queries. ", "domain": ["web-development", "databases", "data-visualization", "developer-tools", "backend"], "enriched": true, "function": ["web-framework", "templating", "http-server", "database", "ui-components", "charts", "form-handling", "auth"], "health_score": 100, "homepage": "https://sql-page.com", "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["sqlpage/SQLPage"], "name": "sqlpage/SQLPage", "platform": ["cross-platform", "self-hosted", "serverless", "cli"], "pushed_at": "2026-08-26T15:55:38+00:00", "repo": "sqlpage/SQLPage", "stars": 2544, "tags": ["sql-only", "low-code", "rust", "sqlite", "postgresql", "mysql", "sql-server", "odbc", "dashboards", "internal-tools", "web-server", "docker"], "topics": ["database", "framework", "mysql", "postgresql", "server", "serverless", "sql", "sqlite", "web"], "urls": [], "use_cases": ["build internal admin tools from sql queries", "create dashboards and charts without writing javascript", "build crud web forms on top of a database", "turn a postgres or mysql database into a website", "build data entry apps for non-programmers", "replace spreadsheets with a query-driven web app", "quickly prototype data-centric web applications"], "what_it_is": "SQLPage is an open-source web application framework, written in Rust, that turns SQL queries in .sql files into interactive data-driven websites with pre-built UI components like tables, charts, forms, and maps. It acts as a web server connecting to SQLite, PostgreSQL, MySQL, SQL Server, or any ODBC-compatible database, requiring no code beyond SQL.", "when_to_avoid": ["you need highly custom frontend UX or complex client-side interactions", "you're building a large multi-team product with a dedicated frontend stack", "you need a public-facing app with heavy custom branding and design", "your data source isn't SQL or ODBC accessible"], "when_to_choose": ["you know SQL but not web development", "you need internal tools, dashboards, or admin panels fast", "your data already lives in a supported SQL database and you want to keep it there", "you want minimal code and opinionated, good-looking defaults"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sqlpage", "repo": "sqlpage/SQLPage", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "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:06:59.530362+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.530362+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.138771+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817e7d355766a345a0a3b3ec05020c9bc06337533f143a119b46125daed6fcf0", "fetched_at": "2026-08-28T04:06:59.530362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sqlpage/SQLPage"}, {"content_hash": "1e3fb63ec5a50dbc93a7795cd362abb463b12f7f2805234353545b25c648ec30", "fetched_at": "2026-08-29T10:07:03.559185+00:00", "kind": "homepage", "missing": false, "url": "https://sql-page.com"}, {"content_hash": "2cf606aae9d14079feb303464473ece6e6f4941a13d3806522b005f8ae93daac", "fetched_at": "2026-08-29T10:07:03.561864+00:00", "kind": "site_page", "missing": false, "url": "https://sql-page.com/documentation.sql"}, {"content_hash": "7f6aa642b3831c913055e82378eabf1b98f7823404d6de5c6dfd747ea543bcc3", "fetched_at": "2026-08-29T10:07:03.564454+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sqlpage"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 94}, "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": 1494, "days_push": 7, "days_rel": 43, "gap_med": 20, "n_releases_24m": 26}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}