DAIS-10 Mini - Lightweight data quality analysis library
Project description
DAIS-10 Mini Deterministic Schema-Driven Completeness Scoring Utility
DAIS-10 Mini is a lightweight Python library that computes weighted completeness scores for tabular datasets using an explicit schema definition.
This library is intended for educational, exploratory, and baseline data quality assessment use.
It is not a governance, compliance, or semantic analysis framework.
Installation pip install dais10mini Core Model
Given dataset ๐ท D with ๐ n rows and schema:
๐
{ ( ๐ ๐ , ๐ค ๐ ) } ๐
1 ๐ S={(f i โ
,w i โ
)} i=1 k โ
Where:
๐ ๐ f i โ
= field name
๐ค ๐
0 w i โ
0 = weight
Field completeness ratio:
๐ ๐
non-null count of ๐ ๐ ๐ c i โ
= n non-null count of f i โ
โ
Weighted dataset score:
๐ ๐ ๐ ๐ ๐
โ ๐
1 ๐ ๐ค ๐ ๐ ๐ โ ๐
1 ๐ ๐ค ๐ Score= โ i=1 k โ
w i โ
โ i=1 k โ
w i โ
c i โ
โ
Deterministic Guarantee
For fixed input dataset ๐ท D and schema ๐ S:
๐ ( ๐ท , ๐ ) โ ๐ ๐ ๐ ๐ ๐ f(D,S)โScore
Repeated execution produces identical output.
Features
Weighted completeness scoring
Schema-controlled evaluation
Required field enforcement
Deterministic outputs
Explicit failure signaling
Simple utility interface
Example import pandas as pd from dais10mini import evaluate
data = pd.DataFrame({ "name": ["A", "B", None], "age": [25, None, 40] })
schema = [ {"field": "name", "weight": 0.6, "required": True}, {"field": "age", "weight": 0.4, "required": False} ]
result = evaluate(data, schema)
print(result.score) Output Structure result.score โ float (0 to 1)
result.field_scores โ per-field completeness metrics
result.incomplete_required โ list of required fields missing values Edge Case Behavior Condition Response Empty dataset Raises ValueError Missing schema Raises ValueError Zero total weight Raises ValueError Unknown field Raises ValueError
Silent fallback behavior is not allowed.
Non Goals
DAIS-10 Mini does NOT provide:
Semantic interpretation
Compliance certification
Temporal drift modeling
Fraud detection
Regulatory enforcement
It is a deterministic scoring utility.
Version Philosophy
Minor versions โ internal improvements
Major versions โ scoring model change
Score formula modification requires major version upgrade.
License
Apache License 2.0
Author
Dr. Usman Zafar
Repository: https://github.com/usman19zafar/DAIS10_Pyton_Library_Project
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dais10mini-1.1.3.tar.gz.
File metadata
- Download URL: dais10mini-1.1.3.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fa93999d49c99d7094a73ddb51f6a0a043912db032b117ead3c183690bc3228
|
|
| MD5 |
97442a846bd1f841781d0df379930bfb
|
|
| BLAKE2b-256 |
ae2b4a695507656dbb500f0a68e2a56f7cf5e28769cfbc4b80f2553eb65c61c0
|
File details
Details for the file dais10mini-1.1.3-py3-none-any.whl.
File metadata
- Download URL: dais10mini-1.1.3-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40ecc5e56590e05776bd3029203b12ffed678d31e1b874f6f4b7309d13371bc2
|
|
| MD5 |
15d6a55b3b8768489567e010ac0b4fb2
|
|
| BLAKE2b-256 |
20de9b1c3bf3485af5db5f39370b679864f65c27c58679a7c825bbe9e5b2c3b2
|