dbt-unit-testing VS sqlglot

Compare dbt-unit-testing vs sqlglot and see what are their differences.

dbt-unit-testing

This dbt package contains macros to support unit testing that can be (re)used across dbt projects. (by EqualExperts)
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
dbt-unit-testing sqlglot
7 65
448 9,298
0.0% 1.3%
3.5 10.0
over 1 year ago 2 days ago
Shell Python
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

dbt-unit-testing

Posts with mentions or reviews of dbt-unit-testing. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-03.

sqlglot

Posts with mentions or reviews of sqlglot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2026-02-06.
  • A 2.5x faster Postgres parser with Claude Code
    2 projects | news.ycombinator.com | 6 Feb 2026
    I'm curious because I have a similar use case for a querying frontend. Did you consider using https://github.com/tobymao/sqlglot? If so, what was missing to justify writing your own parser?
  • Pg_ClickHouse: A Postgres extension for querying ClickHouse
    4 projects | news.ycombinator.com | 12 Dec 2025
    If not having to adjust queries is a major driver for your considerations, then I would highly recommend looking at SQLGlot (https://github.com/tobymao/sqlglot), a transpiler that makes you (more) independent of query dialects. They already support 30 dialects (big vendors such as Snowflake, Databricks, BigQuery, but also loads of the specialists such as ClickHouse, SingleStore or Exasol). Repo is maintained extremely well.

    Picking the best solution for your concrete workload (and your future demands) should be equally important to the implementation effort, to avoid that you run into walls later on. At least as long as data volume, query complexity or concurrency scalability can be challenges.

  • Text2SQL is dead – long live text2SQL
    1 project | news.ycombinator.com | 29 Oct 2025
    Agreed, and it's an amazingly well-maintained GitHub repo: https://github.com/tobymao/sqlglot

    Big kudos to Toby and the team.

  • Show HN: SQL-tString a t-string SQL builder in Python
    6 projects | news.ycombinator.com | 16 May 2025
    https://github.com/tobymao/sqlglot :

    > SQLGlot is a no-dependency SQL parser, transpiler, optimizer, and engine [written in Python] . It can be used to format SQL or translate between 24 different dialects like DuckDB, Presto / Trino, Spark / Databricks, Snowflake, and BigQuery. It aims to read a wide variety of SQL inputs and output syntactically and semantically correct SQL in the targeted dialects.

  • Ask HN: What are you working on? (April 2025)
    134 projects | news.ycombinator.com | 27 Apr 2025
    Thanks for the suggestion! I am using https://github.com/tobymao/sqlglot, which magically supports most SQL dialects. And yes, support for DuckDB is also in future plans
  • Anatomy of a SQL Engine
    3 projects | news.ycombinator.com | 27 Apr 2025
    I recommend anyone who works with databases to write a simple engine. It's a lot simpler than you may think and it's a great exercise. If using python, sqlglot (https://github.com/tobymao/sqlglot) let's you skip all the parsing and it even does some simple optimizations. From the parsed query tree it's pretty straightforward to build a logical plan and execute that. You can even use python's builtin ast module to convert sql expressions into python ones (so no need for a custom interpreter!)
  • Duckberg!
    2 projects | dev.to | 12 Mar 2025
    This could be a nice option to add sqlglot here. As an advanced sql parsing library.
  • Writing Composable SQL Using Knex and Pipelines
    5 projects | news.ycombinator.com | 28 Nov 2024
    You can compose SQL with https://ibis-project.org/tutorials/ibis-for-sql-users, which is using https://github.com/tobymao/sqlglot to parse the SQL under the hood.

    As an alternative to parsing the SQL yourself, DuckDB's [relational API](https://duckdb.org/docs/api/python/relational_api) allows you to compose SQL expressions efficiently and lazily, which I've used when playing around with thinks like https://gist.github.com/ajfriend/eea0795546c7c44f1c24ab0560a...

  • SQL Tips and Tricks
    3 projects | news.ycombinator.com | 24 Sep 2024
    SQLFluff is a linter formatter written in Python https://sqlfluff.com/

    Heard there is a faster one called sqruff, but I have not tried it

    https://www.quary.dev/blog/sqruff-launch

    Might also be able to cajole sqlglot into being a formatter but it's designed for forgiving dialect conversion, not formatting

    https://github.com/tobymao/sqlglot

  • The Future of MySQL is PostgreSQL: an extension for the MySQL wire protocol
    1 project | news.ycombinator.com | 26 Apr 2024
    This is probably referring to "zero changes to your driver code" and not "zero changes to the SQL you send over this driver".

    Translating between SQL dialects is notoriously hard and attempts to translate [1] are working in 95% of cases. But the last 5% would require 5x amount of work. That's because "SQL dialect" also includes weird edge cases of type inference of things like COALESCE(5, FALSE) and emulation of system catalogs (pg_catalog, information_schema).

    [1] https://github.com/tobymao/sqlglot

What are some alternatives?

When comparing dbt-unit-testing and sqlglot you can also consider the following projects:

integresql - IntegreSQL manages isolated PostgreSQL databases for your integration tests.

JSqlParser - JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern

hash-db - Experimental distributed pseudomultimodel keyvalue database (it uses python dictionaries) imitating dynamodb querying with join only SQL support, distributed joins and simple Cypher graph support and document storage [GET https://api.github.com/repos/samsquire/hash-db: 404 - Not Found // See: https://docs.github.com/rest/repos/repos#get-a-repository]

Apache Calcite - Apache Calcite

SS-Unit - A 100% T-SQL based unit testing framework for SQL Server

sqloxide - Python bindings for sqlparser-rs

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

Did you know that Shell is
the 8th most popular programming language
based on number of references?