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)
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
dbt-unit-testing sqlglot
7 62
440 7,947
1.4% 2.1%
3.5 9.9
5 months ago 4 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 2025-05-16.
  • 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

  • FLaNK AI Weekly 18 March 2024
    39 projects | dev.to | 18 Mar 2024
  • SQLGlot: No-dependency SQL parser, transpiler, optimizer for 21 SQL dialects
    1 project | news.ycombinator.com | 18 Mar 2024
  • Transpile Any SQL to PostgreSQL Dialect
    7 projects | news.ycombinator.com | 18 Mar 2024
    Recommend checking out https://github.com/tobymao/sqlglot if you are interested in this capability for other SQL dialects

    Tools like this are helpful for:

    - Rendering SQL in a consistent way, eg for snapshot testing

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.

sqloxide - Python bindings for sqlparser-rs

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

Apache Calcite - Apache Calcite

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]

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

Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured

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