LalitMaganti

    LalitMaganti/syntaqlite

    A fast parser, formatter, static analyzer, and language server for SQLite SQL.

    database
    Rust
    Apache-2.0
    829 stars
    18 forks
    829 GitHub watchers
    Updated Oct 27, 2026
    View on GitHub

    Build with Backblaze B2

    SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.

    Explore Backblaze Labs

    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:

    RETURNING was 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.

    Excerpt from the LalitMaganti/syntaqlite README on GitHub (Apache-2.0 license). © its authors.Read the full README on GitHub

    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

    LalitMaganti/syntaqlite compared with Database repositories by stars, 7-day star growth, health score and last release
    RepositoryStars+7dHealthLast release
    thedotmack/claude-mem113.6K+8.8K35today
    t8y2/dbx29.1K+1.0K40today
    gitroomhq/postiz-app41.0K+8656412 days ago
    supabase/supabase114.6K+2686090 days ago
    juicedata/juicefs14.7K+1056414 days ago
    LalitMaganti/syntaqlite829—19today
    Category median41.0K+86560—

    Discover Repositories

    Search across tracked repositories by name or description