LalitMaganti/syntaqlite
A fast parser, formatter, static analyzer, and language server for SQLite SQL.
Build with Backblaze B2
SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.
Loading star history...
Where it stands
Rank, growth pace and release cadence relative to everything GStars tracks.
5 releases in the last 90 days, the latest today, with 5 contributors on GitHub.
Gained 6% more stars in the last 90 days than in the 90 days before.
Use Cases & Benefits
- Provides a parser, formatter, static analyzer, and language server for SQLite SQL using SQLite's own grammar and tokenizer.
- Ensures 100% SQLite syntax compatibility by directly using SQLite's Lemon-generated grammar and tokenizer, avoiding approximation errors.
- Use for validating SQLite SQL queries against specific SQLite versions and compile-time flags without needing a live database.
- Use for formatting and linting SQLite SQL code with configurable style options in editor integrations or CI pipelines.
- Use for embedding SQLite SQL validation and parsing in Rust, Python, JavaScript, or C applications via its library APIs.
Should you depend on it?
License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.
License
Apache 2.0
Permissive: commercial use, modification and redistribution are allowed with attribution; includes an explicit patent grant from contributors.
Community files
- README: present
Watch-outs
No watch-outs from GStars' checks.
General guidance from repository metadata, not legal advice. How we score
From the README
A parser, formatter, validator, and language server for SQLite SQL, built on SQLite's own grammar and tokenizer. If SQLite accepts it, syntaqlite parses it. If SQLite rejects it, so does syntaqlite.
Note: syntaqlite is at 0.x. APIs and CLI flags may change before 1.0.
Most SQLite tools build a generic SQL parser and bolt SQLite on as a "flavor" with hand-written grammars, regex-based tokenizers, or subsets that approximate the language. That falls apart because SQLite has a deep surface area of syntax that generic parsers don't handle.
syntaqlite uses SQLite's own Lemon-generated grammar and tokenizer, compiled from C. The parser doesn't approximate SQLite; it is SQLite's grammar compiled into a reusable library.
SQLite SQL is also not one fixed language. It has 22 compile-time flags that change what syntax the parser accepts, another 12 that gate built-in functions, and the language evolves across versions. Because SQLite is embedded, you can't assume everyone is on the latest version (Android 15 ships SQLite 3.44.3, seven major versions behind latest). syntaqlite tracks all of this:
RETURNINGwas added in SQLite 3.35.0; Android 13 still ships SQLite 3.32.2.We've tested against ~396K statements from SQLite's upstream test suite with ~99.7% agreement on parse acceptance. See the detailed comparison for how syntaqlite stacks up against other tools.
Daily snapshots
Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots
Forks
18+2
Open issues
10+1
Compared with peers in Database
Fastest-growing repositories GStars tracks in this cohort for the week of Nov 1, by 7-day star growth
| Repository | Stars | +7d | Health | Last release |
|---|---|---|---|---|
| thedotmack/claude-mem | 113.6K | +8.8K | 35 | today |
| t8y2/dbx | 29.1K | +1.0K | 40 | today |
| gitroomhq/postiz-app | 41.0K | +865 | 64 | 12 days ago |
| supabase/supabase | 114.6K | +268 | 60 | 90 days ago |
| juicedata/juicefs | 14.7K | +105 | 64 | 14 days ago |
| LalitMaganti/syntaqlite | 829 | — | 19 | today |
| Category median | 41.0K | +865 | 60 | — |
Discover Repositories
Search across tracked repositories by name or description