Skip to main content

A lightweight data quality CLI tool

Project description

🛡️ Qualidator

A modern CLI for managing SQL-based data quality checks — now with connector setup.

Qualidator Banner
Python
License


📌 Overview

Qualidator is a command-line tool that helps you define, manage, and store SQL-based data quality validations.
It can set up a connector to your data source and organize validation queries in a .qualidations folder for easy reuse and version control.

With Qualidator, you can:

  • 📂 Initialize a validations project
  • 🔌 Configure a connector (Databricks, Snowflake, Postgres, or None)
  • ➕ Add a variety of built-in validation checks
  • 🗑 Remove one or all validations
  • 📊 View project status and existing validations
  • 💥 Destroy the project

🚀 Installation

pip install qualidator

⚡ Usage

Run qualidator --help to see available commands:

qualidator --help
Command Description
init Initialize .qualidations and optionally set up a data connector
destroy Delete the .qualidations folder (use --force for full removal)
add Add a validation
remove Remove a validation or all validations
status Show project status and validations

🛠 Examples

1️⃣ Initialize and set up connector

qualidator init

📦 Creates .qualidations, then asks for a data provider:

  1. Databricks
  2. Snowflake
  3. Postgres
  4. None

If you pick one of the first three, it prompts for credentials and saves them in:

.qualidations/config.json

2️⃣ Add validations

qualidator add --name is_not_null
Please enter the column name to check for NOT NULL: customer_id
✔ Will check that column "customer_id" is not null.

Supported validations:

Validation Description
is_not_null Checks that column values are not null
column_values_are_unique Checks that all values in a column are unique
column_max_is_between Checks that the maximum value is within range
column_min_is_between Checks that the minimum value is within range
column_sum_is_between Checks that the sum of values is within range
column_values_are_between Checks that all values are within range
column_mean_is_between Checks that the mean value is within range

3️⃣ Check status

qualidator status
============================================================
📋 VALIDATIONS IN YOUR PROJECT
------------------------------------------------------------
1. customer_id_is_not_null
2. email_column_values_are_unique
------------------------------------------------------------
✅ Total: 2 validation(s) ready to go!
💡 You can remove with:
   qualidator remove --name your_validation_name
============================================================

4️⃣ Remove validations

Remove all:

qualidator remove --all

Remove one:

qualidator remove --name email_column_values_are_unique

5️⃣ Destroy project

qualidator destroy --force

This deletes .qualidations entirely (including config and validations).


📂 Project Structure

qualidator/

├── inspectors/
   ├── uniq.py
   ├── numeric.py

├── __init__.py
├── main.py
└── README.md

🤝 Contributing

Pull requests and ideas are welcome! Open an issue if you have suggestions for new validation types or integrations.

📜 License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qualidator-0.2.0.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qualidator-0.2.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file qualidator-0.2.0.tar.gz.

File metadata

  • Download URL: qualidator-0.2.0.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for qualidator-0.2.0.tar.gz
Algorithm Hash digest
SHA256 51daadfc8255b87d2cf9c5e68c58856e9917f3a5ed7ea8b4a7ad60f5c1da7c8b
MD5 4e8677e55b88ecc7b483910d02f8648c
BLAKE2b-256 3e319605a94a17a275b45ed872e0985cf11c3a9c0983f991498de5e4cc8a2f7c

See more details on using hashes here.

File details

Details for the file qualidator-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: qualidator-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for qualidator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2fa8f4803480c9cf7525ef6fe4a78bfcea2b08c97caeb805f338a99f016566f
MD5 56ba840274559b71523860cf7e5924e0
BLAKE2b-256 371b76b28a4a4d4ffdd34d0439175451150bdcb5b3f2bef8a99d88b77c002dab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page