{"adoption": {"forks": 107, "observed_at": "2026-08-28T04:08:14.912900+00:00", "stars": 3697}, "canonical_url": "https://ross.abutalabs.com/products/sqljs-httpvfs", "card": {"archived": false, "artifact_type": "library", "description": "Hosting read-only SQLite databases on static file hosters like Github Pages", "domain": ["databases", "web-development", "frontend"], "enriched": true, "function": ["database", "database-driver", "http-client", "search-engine"], "health_score": 20, "homepage": null, "language": "TypeScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["phiresky/sql.js-httpvfs"], "name": "phiresky/sql.js-httpvfs", "platform": ["browser", "wasm"], "pushed_at": "2024-08-06T15:24:10+00:00", "repo": "phiresky/sql.js-httpvfs", "stars": 3697, "tags": ["sqlite", "http-range-requests", "static-hosting", "emscripten", "webassembly", "read-only-database", "github-pages", "virtual-file-system", "search", "web-server", "nodejs"], "topics": [], "urls": [], "use_cases": ["query a large SQLite database from the browser without downloading it fully", "host a searchable database on GitHub Pages or any static file hoster", "serve read-only SQL-backed data with no backend server", "build client-side full-text search over a static SQLite FTS database", "reduce bandwidth costs by letting the CDN cache only accessed database chunks", "run SQL queries directly against browser DOM data"], "what_it_is": "A TypeScript library that wraps sql.js (SQLite compiled to WebAssembly) with an HTTP-Range-request based virtual file system, allowing read-only SQLite databases hosted on static file hosts like GitHub Pages to be queried from the browser without downloading the whole file. It includes lazy fetching logic with adaptive read heads and a proof-of-concept DOM virtual table queryable from SQL.", "when_to_avoid": ["you need write access to the database from clients", "your database and indexes are poorly structured, causing excessive HTTP range requests", "you need a traditional server-side database with concurrent writers"], "when_to_choose": ["your data is read-only and fits well in an indexed SQLite database", "you want to host a queryable database entirely on static hosting with zero backend", "you need client-side SQL or FTS search over large datasets with minimal downloads"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sqljs-httpvfs", "repo": "phiresky/sql.js-httpvfs", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "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:14.912900+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:14.912900+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:31:04.230872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05ff57e484c8d12621446022f007a8ed8a36cf1c1d6ff073243f5b7303f86394", "fetched_at": "2026-08-28T04:08:14.912900+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phiresky/sql.js-httpvfs"}, {"content_hash": "ebbf5ecfcad4e6db09c404f5496b4d7a6f8c3e0a0720cca155ab62bf1ddfdbc5", "fetched_at": "2026-08-29T09:24:56.997284+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/sql.js-httpvfs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1949, "days_push": 757, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}