Skip to main content

AutoDQ Analytics: Automated Data Quality, Cleaning, Visualization, and Reporting Framework

Project description

AutoDQ Analytics

AutoDQ is an end-to-end analytics workflow framework for tabular data. It profiles datasets, diagnoses quality problems, recommends and reviews cleaning actions, engineers features, trains explainable models, generates visualizations and dashboards, and runs complete workflows from Python, Jupyter, the command line, or standalone .adql notebooks.

Highlights

  • CSV, XLSX, and XLS dataset loading
  • Dataset profiling, semantic inference, and quality scoring
  • Missing-value, duplicate, outlier, datatype, and leakage diagnosis
  • Knowledge-aware cleaning recommendations and approval workflows
  • Manual row editing, domain validation, outlier treatment, and audit trails
  • Descriptive statistics, distribution analysis, and correlations
  • Feature engineering and ML-readiness analysis
  • Regression and classification with prediction uncertainty
  • SHAP explanations and publication-ready SHAP plots
  • BLUE regression diagnostics, visual interpretation, and prescriptions
  • Reusable visualization objects, galleries, HTML reports, and dashboards
  • Multi-workspace project isolation and model persistence
  • project.auto() for an automated workflow
  • ADQL files with executable notebook cells and rich VS Code output

Requirements

  • Python 3.10 or newer
  • macOS, Linux, or Windows

Installation

Install the released package from PyPI:

python -m pip install autodq

Until the first PyPI release, install directly from the project source:

git clone https://github.com/josephubani/autodq-analytics.git
cd autodq-analytics
python -m venv .venv
source .venv/bin/activate
python -m pip install .

On Windows PowerShell, activate the environment with:

.venv\Scripts\Activate.ps1

For editable development and release tools:

python -m pip install -e ".[dev]"

Python quick start

from autodq import AutoDQ

project = AutoDQ("datasets/sample/sales.csv", target="Revenue")

profile = project.profile()
diagnosis = project.diagnose()
recommendations = project.recommend()
review = project.review_cleaning()

review.approve_all()
project.clean()
validation = project.validate_cleaning()

chart = project.visualize(
    chart="bar",
    x="Region",
    y="Revenue",
    title="Revenue by Region",
    x_label="Region",
    y_label="Average revenue",
    theme="journal",
)
chart.show()

ADQL notebooks

ADQL is AutoDQ's standalone analytics language. A .adql file can contain named executable cells and markdown cells, while retaining project state between executions.

# %% [Dataset]
DATASET "sales.csv" TARGET Revenue;

# %% [Data quality]
PROFILE;
DIAGNOSE;
RECOMMEND;

# %% [Regional analysis]
SELECT Region,
       SUM(Revenue) AS total_revenue,
       COUNT(*) AS transactions
FROM CURRENT
GROUP BY Region
ORDER BY total_revenue DESC;

# %% [Visualization]
VISUALIZE bar X Region Y Revenue
    TITLE "Revenue by Region"
    THEME journal;

Run the same automatic workflow available as project.auto() directly from an ADQL cell:

# %% [Automatic workflow]
AUTO MODE full
    VISUALIZE true
    APPLY_FEATURES true
    ALGORITHM random_forest_regressor
    REPORT "reports/auto-report.html"
    CONTINUE_ON_ERROR true;

review mode analyzes data and prepares cleaning actions without applying them. clean applies approved cleaning actions. full continues through modeling, prediction, and explainability when a target is available. The ADQL notebook renders the automatic stages, status, timing, and next actions as a collapsible rich result.

Run the file from a terminal:

autodq run analysis.adql

Inspect or validate cells without executing the workflow:

autodq cells analysis.adql
autodq validate analysis.adql

Run through a particular cell:

autodq run analysis.adql --through-cell 3

VS Code support

The Python distribution bundles the AutoDQ ADQL extension. Install it with:

autodq vscode install

Reload VS Code after installation. .adql files then receive syntax highlighting, named notebook cells, rich tables and charts, cell-by-cell execution, and an AutoDQ file icon.

Command-line interface

autodq --version
autodq run workflow.adql
autodq validate workflow.adql
autodq cells workflow.adql
autodq vscode path
autodq vscode install

The package can also be executed as a Python module:

python -m autodq --version

Development

Run the test suite:

python -m unittest discover -s tests

References: Python API, ADQL language, release guide, and changelog.

Build and verify release artifacts:

python -m build
python -m twine check dist/*
python scripts/check_distribution.py dist

For the complete release process, see the AutoDQ release guide.

Documentation

License

AutoDQ is released under the MIT License.

Author

Joseph Ubani
Master of Data Analytics, University of Niagara Falls Canada

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

autodq-0.1.0.tar.gz (244.3 kB view details)

Uploaded Source

Built Distribution

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

autodq-0.1.0-py3-none-any.whl (246.1 kB view details)

Uploaded Python 3

File details

Details for the file autodq-0.1.0.tar.gz.

File metadata

  • Download URL: autodq-0.1.0.tar.gz
  • Upload date:
  • Size: 244.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for autodq-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8ec106f343104b8b987fe2dc69bc63aefa5fda097016d7f70fed64408feb7a52
MD5 14cad0767352fe116e112f34f7099eed
BLAKE2b-256 171ccd9e2768d36fc9f6bc0d1737cc73da26a8e6bb0329fd360bb8dc1a26a347

See more details on using hashes here.

Provenance

The following attestation bundles were made for autodq-0.1.0.tar.gz:

Publisher: publish-pypi.yml on josephubani/autodq-analytics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autodq-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: autodq-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 246.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for autodq-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 063200735aa72ca6f82bf33ad2c32b67ef6c9bfd8591a14dfb365f673aabeb79
MD5 b060b59a34cca8284328e7533011c6d0
BLAKE2b-256 bdec69777b95b647e8adb030dd5d8f0ef611bfbc4e7e77d21e23adac276fb1a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for autodq-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on josephubani/autodq-analytics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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