sqlc-dev/sqlc

Generate type-safe code from SQL

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 21 minutes ago
Added to GitGenius on September 3rd, 2026
Created on June 21st, 2019
Open Issues & Pull Requests: 687 (+0)
GitHub issues: Enabled
Number of forks: 1,085
Total Stargazers: 18,256 (+0)
Total Subscribers: 86 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.7 days
Mean response time: 83.7 days
90th percentile: 266.9 days
Tracked items: 429

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 99% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled ":books: sqlite" is answered fastest, typically in about 4 days, while "analyzer" waits about 5 months. 91% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 4% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 350
New in 7 days: 1
Closed in 7 days: 2
Avg open age: 677 days
Stale 30+ days: 339
Stale 90+ days: 315

Recent activity

Opened in 7 days: 1
Closed in 7 days: 2
Comments in 7 days: 1
Events in 7 days: 2

Top labels

  • bug (339)
  • :wrench: golang (255)
  • :books: postgresql (194)
  • enhancement (153)
  • :computer: linux (88)
  • :books: sqlite (75)
  • :books: mysql (70)
  • :computer: darwin (58)

Detailed Description

sqlc is a code generator that produces type-safe code from SQL queries.

The tool solves the problem of maintaining consistency between SQL queries and application code by parsing your SQL and generating strongly-typed interfaces in your target language. You write queries in SQL, run sqlc to generate code with type-safe methods for those queries, then call the generated code from your application. This approach eliminates the manual work of writing database access layers and catches type mismatches at code generation time rather than at runtime.

The tool supports Go, Kotlin, Python, and TypeScript, with additional languages available through a plugin system. It works with PostgreSQL, MySQL, and SQLite. Choose sqlc if you want to keep your database logic in SQL while gaining the safety guarantees of generated code, and if you prefer this approach to writing an ORM or hand-coding database access layers. The project is well-suited to teams that value explicit SQL over abstraction layers and want compile-time verification of query correctness.

Almost all open issues are raised by outside users rather than the core team, indicating a substantial base of adopters reporting real-world use. A first response to an issue or pull request typically takes one to two weeks. Work in the issue tracker is dominated by bug reports and issues related to Go and PostgreSQL support.