Skip to main content

dqtlib

A Data Questioning Tool that tells you the what and surfaces the why.

Unifies your scattered data into one source of truth. Upgrades your existing models, dashboards, and queries into a causal semantic layer you didn't have to write. Picks up on trends and surfaces business insights, all wrapped in a quality harness that puts guardrails on the AI so the reports it generates stay on-spec.

pip install dqtlib

The import name is dqt:

from dqt import Check, Runner, MemoryStore

Full documentation and examples: https://github.com/antonbarr-data/dqt

Quality

All 64 detectors are benchmarked against labeled synthetic datasets. Benchmark scripts and raw results live in the GitHub repo and are run on every release:

Median F1: 1.00 | Detectors with F1 >= 0.8: 52/64 | Detectors with F1 >= 0.6: 58/64

Per-detector breakdown: examples/benchmarks/results_summary.md

Reproduce by cloning the repo and running:

python scripts/run_benchmark_suite.py --quick
python scripts/generate_benchmark_summary.py

Adapters

Six adapters ship in v1.0. Nightly CI runs against live credentials for the cloud warehouses.

Adapter CI
PostgreSQL (local) bundled — no credentials needed
ClickHouse clickhouse
Snowflake snowflake
BigQuery bigquery
Databricks databricks
Local (DuckDB) bundled — no credentials needed

Slack alerts

Run a check suite and post results to Slack in three lines:

from dqt import Runner, MemoryStore
from dqt.notifications import SlackNotifier

suite = Runner(MemoryStore()).run_suite(checks, adapter)
SlackNotifier().send_suite_report(suite, title="nightly orders checks")
# set SLACK_WEBHOOK_URL env var — no bot token required

Control which checks appear in the message with level:

# only failures
SlackNotifier().send_suite_report(suite, level="fail")

# warnings + failures (default)
SlackNotifier().send_suite_report(suite, level="warn")

# every check including passes
SlackNotifier().send_suite_report(suite, level="all")

Full reference: docs/api/notifications.md

Detector documentation

64 statistical detectors across 10 groups — drift, outliers, time series, distribution, information theory, pattern, referential, schema, basic, and custom.

Every detector has a structured page at docs/algorithms/<group>/<slug>.md covering:

  • What it computes and its parameters
  • When it works well and when it fails (with concrete failure-mode table)
  • Default-threshold calibration — empirical FPR across six canonical data shapes (Normal, Lognormal, Poisson, Beta, Pareto, Exponential)
  • Recommended thresholds per data shape
  • Canonical citation and runnable Python API example

Browse the full catalog: docs/algorithms/README.md

Download files

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

Source Distribution

dqtlib-1.5.0.tar.gz (324.8 kB view details)

Uploaded Source

Built Distribution

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

dqtlib-1.5.0-py3-none-any.whl (356.1 kB view details)

Uploaded Python 3

File details

Details for the file dqtlib-1.5.0.tar.gz.

File metadata

  • Download URL: dqtlib-1.5.0.tar.gz
  • Upload date:
  • Size: 324.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dqtlib-1.5.0.tar.gz
Algorithm Hash digest
SHA256 df03398fca6b3be2a92b2214d9b0a4ed3bdf9d5d72fdb803c0c5b144e0235bf6
MD5 e1d4967d7a668d86985c0390cc258aba
BLAKE2b-256 b1eae34d0d85ab66a07d43f516173488415db61b356aeccebdde3366519ccd2b

See more details on using hashes here.

File details

Details for the file dqtlib-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: dqtlib-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 356.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dqtlib-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b30049ee2aaefe9d943f089c3ad077de058d4ee5a90ef851dab8d5226c8e880
MD5 d2fb338c5c933f4a340e5934033385bc
BLAKE2b-256 68d996b6580283a00f6e62bffa95451d277f1eeb31c1f3dbbdefe2e3c4a4479d

See more details on using hashes here.

Release history Release notifications | RSS feed

1.5.1

2 files

This release

1.5.0 This release

2 files

1.4.1

2 files

1.4.0

2 files

1.3.1

2 files

1.3.0

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.9.6

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.9

2 files

0.8.8

2 files

0.8.0

2 files

0.4.9

2 files

0.4.8

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.3

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page