If you want an Apache 2.0 Python library for declarative checks across dataframes and SQL databases, GX Core (Great Expectations) is the closest match, but note that its hosted GX Cloud was discontinued in June 2026. If your transformations are in dbt, dbt data tests are already there, and Elementary adds anomaly tests and alerts on top under Apache 2.0. For Spark pipelines, Deequ (or PyDeequ); for dataframe validation in Python code, Pandera (MIT). If you would rather not run a library at all and your data is on AWS, AWS Glue Data Quality is a managed service built on Deequ.
Soda combines Soda Core, an engine that verifies YAML data contracts from the command line or a Python library, with a hosted service for metrics monitoring, anomaly detection and collaboration. Soda's pricing page lists a Free plan, a Team plan at $750 per month and custom Enterprise pricing. Soda Core version 4 is built around data contracts; version 3, with SodaCL checks, is legacy.
Teams that look elsewhere usually give one of these reasons. The first three follow from Soda's own repository, announcement and pricing page; the last is our editorial reading.
- Licence change. Soda moved Soda Core from Apache 2.0 to the Elastic License 2.0 (its announcement is dated 27 January 2026 in the byline). ELv2 allows internal and production use but forbids offering the software as a managed service, and it is source-available rather than OSI open source; PyPI now lists the package as proprietary. Organisations with an OSI-only policy, and vendors who embed tools in a service, need to check.
- Version 4 rewrite. Contracts replace the SodaCL approach, so existing v3 checks and examples need migration.
- Hosted features. Anomaly detection and collaboration need the hosted service, and the free plan's processing allowance is not stated on the pricing page.
- Fewer tools (editorial). Teams that already test in dbt or Spark sometimes prefer checks in the framework they use, rather than a separate engine.
For the head-to-head page, see Soda vs Great Expectations; for dbt testing against data diffing, see Datafold vs dbt tests. If you need automated monitoring rather than written checks, see Monte Carlo alternatives.
Quick picks
Declarative Expectations on Pandas, Spark and SQL databases, with generated Data Docs.
Generic, singular and unit tests in the same project and CI as your models, free in dbt Core.
Apache 2.0 dbt package and CLI with anomaly and schema tests, a report and Slack or Teams alerts.
Apache 2.0 constraint checks, profiling and metric history on Spark DataFrames.
Serverless DQDL rules and anomaly detection on Glue tables and jobs, billed in DPU-hours.
How we chose
We considered GX Core (Great Expectations), dbt data tests, Elementary, Deequ and PyDeequ, Pandera, AWS Glue Data Quality, Databricks data quality monitoring and Datafold. To be included, a tool had to be maintained in November 2026, let you define data quality checks in code or configuration that run in a pipeline, and publish its licence or pricing model on an official page.
Great Expectations is included only as GX Core: according to the project's announcement of 6 May 2026, FICO acquired GX Cloud, which was discontinued as a public product on 1 June 2026, and Fivetran became steward of the open source library. The greatexpectations.io pricing pages still described GX Cloud plans on 7 November 2026, which conflicts with that announcement, so we do not treat GX Cloud as buyable. Datafold was left out because its open source data-diff was archived in May 2024 and its documentation says CI/CD testing is now only in Datafold Classic. Databricks data quality monitoring is covered on the Monte Carlo alternatives page, since it is automated monitoring rather than written checks.
For each tool we recorded the licence, where it runs, whether it has a hosted option and its main limitation. The order is not a ranking: general-purpose libraries first, then dbt-native tools, then dataframe and Spark libraries, then a managed cloud service.
At a glance
| Tool | Licence | Runs on | Hosted option | Best for | Main trade-off |
|---|---|---|---|---|---|
| GX Core | Apache 2.0 | Python 3.10 to 3.14; Pandas, Spark, SQL databases | None (GX Cloud discontinued June 2026) | Declarative checks across engines | No anomaly detection; Windows not officially supported |
| dbt data tests | dbt Core Apache 2.0; dbt platform commercial | Your warehouse via dbt | dbt platform (free Developer plan) | Teams that build in dbt | Only checks what you write, on dbt assets |
| Elementary | OSS Apache 2.0; Cloud commercial | dbt package and Python CLI | Elementary Cloud (by quote) | dbt teams wanting anomaly tests | OSS covers one dbt project |
| Deequ / PyDeequ | Apache 2.0 | Apache Spark (Scala, Java 11+, Python) | Via AWS Glue Data Quality | Large Spark pipelines | No UI, scheduler or alerting |
| Pandera | MIT | Python 3.10+; pandas, Polars, PySpark and others | None | Dataframe validation in Python code | No monitoring; 0.x release line |
| AWS Glue Data Quality | Commercial AWS service (DQDL based on Deequ) | AWS Glue Data Catalog tables and Glue ETL jobs | Managed AWS service | AWS data lakes | AWS only |
GX Core (Great Expectations)
GX Core is the open source Great Expectations library. It validates data against declarative Expectations on Pandas, Spark and SQL databases, and publishes the results as Data Docs. It remains Apache 2.0, version 1.24.1 was published on PyPI on 22 October 2026, and the GitHub repository now sits under the fivetran organisation, after Fivetran became the project's steward in May 2026.
It is the most direct replacement for Soda Core for teams that need an OSI licence: checks are code or configuration, they run in your pipeline and nothing has to be hosted (editorial). There is no hosted option any more, since GX Cloud was sold to FICO and discontinued as a public product on 1 June 2026. See Soda vs Great Expectations.
- No hosted option: GX Cloud was discontinued in June 2026.
- No automatic anomaly detection or lineage; you write and maintain Expectations.
- Windows is not officially supported, and Airflow is the only officially supported orchestrator.
- Stewardship changed in 2026, so the roadmap depends on Fivetran and the community.
Read our GX Core (Great Expectations) review · Official site
dbt data tests
dbt includes generic tests (unique, not_null, accepted_values, relationships and custom ones), singular SQL tests and, since v1.8, unit tests that check model logic on static inputs. They are free in dbt Core under Apache 2.0 and also run on the dbt platform, whose pricing page lists a free Developer plan and a Starter plan at USD 100 per user per month. dbt Labs and Fivetran completed their merger on 1 June 2026.
For a dbt team, moving Soda checks into data tests removes a separate engine and keeps quality rules in the same code review as the models (editorial). It does not detect anomalies and only covers assets that dbt knows about. See Datafold vs dbt tests.
- Only checks what someone has written a test for; no anomaly detection.
- Covers dbt models, sources, seeds and snapshots, not the rest of the warehouse.
- dbt Core v2.0 (a Rust rewrite) is in alpha on the main branch, so plan upgrades carefully.
Elementary
Elementary OSS is an Apache 2.0 dbt package and CLI. It adds anomaly and schema tests that you declare like any other dbt test, a report of results and Slack or Teams alerts. Elementary Cloud is the paid SaaS, with ML monitoring, column-level lineage, a catalog and coverage of multiple dbt projects and data outside dbt, offered by quote with a 30-day trial.
It covers the part of Soda that plain dbt tests do not, anomaly detection and alerting, while staying under an OSI licence for the open source part (editorial). See Elementary vs Metaplane.
- OSS covers a single dbt project and only data that dbt manages.
- Hosting the report and alerting is your responsibility in OSS.
- No published prices for Elementary Cloud.
Deequ and PyDeequ
Deequ is AWS Labs' Apache 2.0 library for "unit tests for data" on Spark DataFrames, with constraint checks, profiling, constraint suggestions, a metrics repository and anomaly detection on stored metrics. The latest release is 2.1.0, which needs Java 11; PyDeequ is the Python interface and supports Spark 3.5 and 4.1 from version 1.7.0.
For Spark-heavy teams it runs checks where the data is processed, at cluster scale, with no extra service (editorial). AWS Glue Data Quality is a managed service built on it.
- No UI, scheduler or alerting: everything is code in your jobs.
- Releases are tied to Spark and Java versions, which complicates upgrades.
- PyDeequ needs the Deequ JAR on the Spark session and supports fewer Spark versions per release.
Pandera
Pandera is an MIT-licensed Python library, maintained as a Union.ai open source project, for validating dataframes against schemas defined as objects or typed classes, with built-in and custom checks. It supports pandas, Polars, PySpark, Ibis, PyArrow and DataFusion backends; version 0.35.0 was published on 25 October 2026.
It fits teams whose Soda checks mostly guard dataframes inside Python jobs or tests, rather than warehouse tables (editorial). It is a library, not a platform, so results go wherever your code sends them.
- No monitoring, UI, scheduling or alerting.
- Schema inference, data synthesis, hypothesis tests and FastAPI support are pandas only.
- Still a 0.x release line, and top-level imports are being deprecated in favour of backend modules.
AWS Glue Data Quality
AWS Glue Data Quality evaluates rules written in the Data Quality Definition Language (DQDL) against Data Catalog tables or inside Glue ETL jobs, with rule recommendations and ML-based anomaly detection. It is billed in Glue DPU-hours; the pricing page uses USD 0.44 per DPU-hour (USD 0.29 for Flex) in its examples, with a 2 DPU minimum for tasks on Data Catalog tables. Its rules language is based on Deequ.
It is the option for teams that want hosted checks and anomaly detection without running Soda's service, and whose data is already catalogued in AWS (editorial). See our AWS Glue profile.
- AWS only: no coverage of warehouses or pipelines outside AWS Glue sources.
- Some features differ by entry point (recommendations only for the Data Catalog, failing-record identification only in ETL jobs).
- Rules cannot evaluate nested or list-type data without flattening first.
When to stay with Soda
Stay with Soda if the Elastic License 2.0 does not affect you: it allows internal and production use, so most teams that run Soda Core on their own pipelines can keep doing so. Soda also offers something none of the open source tools here do on their own, a hosted service with anomaly detection, collaboration and a published price, and version 4 data contracts are a reasonable model if you are starting fresh (editorial).
Switching makes most sense when your organisation requires OSI-approved licences, when you provide data tooling to others as a service, when you would have to rewrite v3 checks anyway, or when your checks belong in dbt (dbt data tests, Elementary), Spark (Deequ), Python code (Pandera) or AWS (Glue Data Quality). GX Core is the closest general-purpose replacement, but plan for running it yourself, since there is no hosted GX Cloud any more.
Frequently asked questions
Is Soda Core still open source?
Not in the OSI sense. Soda moved Soda Core from Apache 2.0 to the Elastic License 2.0, which is source-available: you can use it internally and in production, but you cannot offer it to others as a managed service. If you depend on an older release, check the licence file shipped with that version.
Is Great Expectations still available?
The open source library, GX Core, is: it is Apache 2.0 and now stewarded by Fivetran. The hosted GX Cloud was acquired by FICO and discontinued as a public product on 1 June 2026, according to the Great Expectations announcement. See Soda vs Great Expectations.
Can dbt tests replace Soda?
For rule-based checks on dbt models and sources, often yes. dbt tests do not detect anomalies or cover tables outside the dbt project; Elementary adds anomaly tests to dbt, and the observability tools on Monte Carlo alternatives cover the rest.
What is the difference between Deequ and AWS Glue Data Quality?
Deequ is a free Apache 2.0 library you run in your own Spark jobs. AWS Glue Data Quality is a managed AWS service built on Deequ, with the DQDL rules language, recommendations and anomaly detection, billed in Glue DPU-hours.
Sources
- Soda Core licence update
- Soda Core licence file
- soda-core on PyPI
- Soda pricing
- An update from Great Expectations
- great-expectations on PyPI
- GX Core integration support
- dbt data tests
- dbt pricing
- Elementary OSS introduction
- Deequ releases
- PyDeequ repository
- pandera on PyPI
- AWS Glue Data Quality
- AWS Glue pricing
- Datafold: sunsetting open source data-diff
Checked November 2026.
How we research these guides: our editorial method.