{"adoption": {"forks": 119, "observed_at": "2026-08-28T04:06:10.238103+00:00", "stars": 2068}, "canonical_url": "https://ross.abutalabs.com/products/sqler", "card": {"archived": false, "artifact_type": "service", "description": "write APIs using direct SQL queries with no hassle, let's rethink about SQL", "domain": ["backend", "apis", "databases", "web-development", "self-hosted"], "enriched": true, "function": ["http-server", "api-framework", "database", "database-driver", "webhook", "scheduling", "middleware"], "health_score": 20, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["alash3al/sqler"], "name": "alash3al/sqler", "platform": ["windows", "self-hosted", "go"], "pushed_at": "2024-12-28T18:30:08+00:00", "repo": "alash3al/sqler", "stars": 2068, "tags": ["sql-to-rest", "baas", "hcl-config", "redis-protocol", "macro", "prepared-statements", "javascript-transformations", "linux", "macos", "docker"], "topics": ["mysql", "sqlite3", "postgresql", "cockroach", "mssql", "api-rest", "restful", "baas"], "urls": [], "use_cases": ["expose database queries as REST APIs without writing backend code", "build a quick backend-as-a-service on top of MySQL or PostgreSQL", "validate request params and transform query results with JavaScript", "schedule SQL jobs with cron syntax", "query a database over the Redis protocol using any Redis client", "secure SQL-backed endpoints with webhook-based authorization"], "what_it_is": "SQLer is a tiny standalone Go server that turns SQL queries into RESTful APIs, configured via HCL files with named macros. It supports MySQL, PostgreSQL, SQLite, SQL Server, and CockroachDB, with request validation, JavaScript-based data transformation, webhook authorizers, cron scheduling, and a Redis-protocol (RESP) interface.", "when_to_avoid": ["you need complex business logic beyond simple JavaScript transformations", "you require a full ORM or rich application framework", "you need non-SQL datastores like MongoDB or document stores", "you need fine-grained row-level security or advanced auth flows"], "when_to_choose": ["you want CRUD-style APIs from SQL queries with minimal setup", "you need a lightweight standalone server with no runtime dependencies", "your data lives in MySQL, Postgres, SQLite, MSSQL, or CockroachDB", "you want built-in validation, transformation, and scheduling in one tool"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sqler", "repo": "alash3al/sqler", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "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:10.238103+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:10.238103+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:56:46.937118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb4e86ae3a0eab09ca625cd2ed66a86b0ec8d91ed22395504b686729692ea80e", "fetched_at": "2026-08-28T04:06:10.238103+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alash3al/sqler"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 2795, "days_push": 613, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}