{"repo":"Goldziher/scythe","free":true,"listed":false,"github":"https://github.com/Goldziher/scythe","clone":"git clone https://github.com/Goldziher/scythe.git","description":"SQL as a first-class language: formatting, linting, security auditing and pre-commit hooks for your .sql files, plus type-safe code generation for 10 languages across 10 databases.","language":"Rust","stars":65,"topics":["codegen","database","sql","sqlc","type-safe","code-generation","developer-tools","mysql","orm-alternative","postgresql"],"license":"MIT","category":"databases-storage","readme_excerpt":"Write SQL. Get type-safe code. In ten languages. Scythe compiles annotated .sql files into database access code — row types, query functions and type mappings — that stays in sync with your schema. It reads your SQL statically, so generation needs no database connection and no network: it runs in a pre-commit hook. 10 languages · 10 databases · 56 backends · 58 lint and audit rules · nullability inferred through JOINs, CTEs and window functions Docs · Install · What you get · Quick start · Commands · Compare --- Why scythe Every application that talks to a database needs glue: code that maps parameters in, maps result rows out, and keeps the types aligned. It is tedious, easy to get subtly wrong, and it changes every time the schema does. Scythe deletes that layer. You keep writing SQL — the language your database already optimizes and your team already knows — and the mapping code is compiled from it. The generated code is readable, has no runtime dependency beyond your driver, and carries a provenance header so scythe check can tell you when it has drifted from the schema it came from. Where an ORM still wins: if your users choose the database, an ORM abstracts dialect differences at runtime and scythe does not. Scythe targets one engine per configuration block, which is what buys you engine-specific features and a real query planner. If you control the database, that trade is worth making. What you get What it does Docs --- --- --- Type inference that reads the query Nulla","default_branch":null,"files":null,"tree":[],"storefront":"/r/Goldziher","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Goldziher/scythe/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}