sqlc vs TypeSpec
sqlc
sqlc.devTypeSpec
typespec.ioSide by side
| Figure | sqlc | TypeSpec |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 2 | 1 |
| Spec score · Code Generators | 7.6 (#23) | 8.2 (#12) |
| Purpose | sqlc generates fully type-safe, idiomatic code from SQL queries. | TypeSpec is a language for designing APIs and data models, then generating schemas, API specifications, code, and documentation. |
Plans
In their own words
sqlc
sqlc is a free command-line tool that turns SQL queries into type-safe application code. You write queries, run sqlc, and call the generated methods from application code through type-safe interfaces. Its documented database matrix covers MySQL, PostgreSQL, and SQLite. Official generators are available for Go, Kotlin, Python, and TypeScript; Go is stable, while Kotlin, Python, and TypeScript are marked beta for MySQL and PostgreSQL. Plugins allow additional languages, with community plugins listed for C#, F#, Java, PHP, Ruby, Zig, Python, and Rust. The sqlc vet command checks queries against configured rules, and sqlc verify checks whether schema changes break existing queries and generated code. Installation options include prebuilt Linux, macOS, and Windows downloads, package managers, Go, and Docker. sqlc Cloud can create short-lived hosted databases for analysis and linting, with managed databases described as read-only.
TypeSpec
TypeSpec is a language for defining API shapes and data models, then producing schemas, API specifications, code, and documentation. Its standard library supports OpenAPI 3.0, JSON Schema 2020-12, and Protobuf. OpenAPI output can feed tools for API gateways, code generation, and validation; JSON Schema output can be used to validate data built from shared models. The HTTP library’s `@useAuth` decorator lets authors attach documented security schemes—including HTTP authentication, API keys, OAuth2, and OpenID Connect—to services, interfaces, or operations. Editor support for Visual Studio Code and Visual Studio includes syntax help and completion; the VS Code extension adds diagnostics, formatting, quick fixes, refactoring, and documentation preview. Users can extend TypeSpec with emitters and decorators. The CLI is available through npm for Node.js or as an experimental standalone executable, and a browser playground is available. TypeSpec is open source and free: free. Its emitter framework is experimental, and client emitters for JavaScript, Python, Java, and C# are in preview.