awslabs/deequ

Deequ is a library built on top of Apache Spark for defining "unit tests for data", which measure data quality in large datasets.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Added to GitGenius on September 19th, 2026
Created on August 7th, 2018
Open Issues & Pull Requests: 63 (+0)
GitHub issues: Enabled
Number of forks: 586
Total Stargazers: 3,647 (+0)
Total Subscribers: 65 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 40.4 days
Mean response time: 439.1 days
90th percentile: 1598.6 days
Tracked items: 117

Most active contributors

Sign in to see contributor activity.

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "spark-compatibility" is answered fastest, typically in about 10 days, while "question" waits about 3 months. Three people close 91% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 62
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 1,798 days
Stale 30+ days: 61
Stale 90+ days: 61

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (73)
  • enhancement (53)
  • bug (36)
  • analyzer (17)
  • stale (17)
  • spark-compatibility (13)
  • documentation (11)
  • help-wanted (7)

Most active issues this week

Detailed Description

Deequ is a library built on Apache Spark for defining unit tests for data that measure data quality in large datasets.

Deequ addresses the problem of validating data quality at scale by providing a framework to express data quality checks as assertions. It works by allowing developers to define constraints and checks on tabular data—such as CSV files, database tables, or Spark dataframes—and then execute these checks against large distributed datasets. The library is designed to catch data errors early before they propagate to downstream systems or machine learning algorithms.

Teams working with large-scale data pipelines should consider Deequ if they need systematic validation of data quality across billions of rows. It suits projects where data lives in distributed filesystems or data warehouses and where early error detection is critical. The tool works with any tabular data that can be represented as a Spark dataframe. Python users have access to PyDeequ, a separate Python interface for the library. Deequ requires Java 11 for recent releases and is built against specific Apache Spark versions, so you must select the artifact suffix matching your Spark version—the README provides a compatibility table covering Spark 3.1 through 3.5.

The project maintains active development with regular releases aligned to new Spark versions. The codebase shows consistent attention to compatibility across multiple Spark releases, with legacy support maintained in a separate branch for older versions. The project accepts contributions and maintains documentation including executable examples demonstrating basic usage patterns.