Omni Data Refinement — The standard framework for dataset quality, validation, and monitoring.
Project description
OMR — Omni Data Refinement
OMR is a pure Python framework for dataset quality, validation, profiling, monitoring, and reliability.
The goal is to become the standard tool developers use immediately after loading a dataset, similar to how Pandas is used for data manipulation.
OMR is designed to be Pure Python, Open Source, Modular, Extensible, Enterprise-ready, and entirely independent of external AI APIs or LLMs.
Core Vision
Instead of writing dozens of exploratory scripts, you just pass your dataset to OMR.
Current workflow:
import pandas as pd
df = pd.read_csv("data.csv")
# Write 50 lines of .isnull(), .duplicated(), and data exploration code...
Desired workflow:
import pandas as pd
from omr import Dataset
df = pd.read_csv("data.csv")
report = Dataset(df).health()
print(report.score) # e.g. 87
Capabilities
OMR handles 12 complete domains of data intelligence:
- Health Engine: 5-pillar quality score (Completeness, Uniqueness, Consistency, Validity, Conformity).
- Cleaning Engine: Auto-resolution of missing values, duplicates, and type mismatches.
- Profiling Engine: Deep statistical profile of every column.
- Validation Engine: Schema-based validation with typed constraints (
PositiveInteger,Email, etc). - Statistical Engine: Outlier detection, multicollinearity, skewness, class imbalance.
- Drift Engine: Distribution shift detection using PSI, KS Test, and JS Divergence.
- Monitoring System: Continuous tracking and alerting for data decay.
- Explainability: Rule-based explanations for data science issues.
- Versioning: Snapshots and rollback capabilities for transformations.
- Reporting: Export to HTML, Markdown, or JSON.
- Pipelines: Fluent, chainable API for applying operations.
- Plugin Registry: Extensible via third-party domain-specific packages.
Installation
pip install omni-data-refinement
Dependencies: pandas, numpy, rich. (Optional: scipy for KS Drift tests).
Compatible with Pandas, Polars, and NumPy.
Quickstart
1. Diagnostic Health Check
Get an immediate quality score and detailed issue list.
import pandas as pd
from omr import Dataset
df = pd.read_csv("messy_data.csv")
dataset = Dataset(df)
# Run health check
report = dataset.health()
print(f"Health Score: {report.score}/100")
2. Auto-Cleaning
Automatically fix missing values, duplicate rows, and mixed data types.
dataset.clean()
dataset.explain_changes() # View transformation log
3. Schema Validation
Enforce strict business rules on your dataset.
from omr import schemas
schema = {
"age": schemas.PositiveInteger(max=120),
"salary": schemas.PositiveFloat(min=10000),
"status": schemas.OneOf("active", "inactive"),
"email": schemas.Email()
}
dataset.validate(schema)
4. Advanced Analytics & Drift
Detect complex issues or compare against production data.
# Detect outliers, multicollinearity, and zero variance features
dataset.analyze()
# Compare against yesterday's data to detect drift
prod_dataset = Dataset(pd.read_csv("prod_data.csv"))
dataset.compare(prod_dataset)
5. Fluent API (Pipelines)
Chain commands together.
clean_df = (Dataset(df)
.health()
.clean()
.analyze()
.export())
Architecture (SOLID Principles)
OMR is modular and testable. The architecture is cleanly divided into:
omr.core: The mainDatasetinterface andDatasetMetadatastate tracking.omr.health,omr.cleaning,omr.profiling,omr.validation,omr.statistics,omr.drift,omr.monitoring,omr.explainability,omr.versioning,omr.pipelines,omr.reports,omr.plugins,omr.integrations,omr.utils,omr.schemas.
Extensibility (Plugins)
OMR supports domain-specific extensions.
from omr import register_plugin
@register_plugin("medical")
class MedicalPlugin:
def validate_ehr(self, df):
pass
License
MIT License. See LICENSE for details.
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
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 omni_data_refinement-0.3.1.tar.gz.
File metadata
- Download URL: omni_data_refinement-0.3.1.tar.gz
- Upload date:
- Size: 524.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed10e9dda06f1df4efc4dc6043850e37627515dc98b4a846fe57ad84403dcc01
|
|
| MD5 |
b75deaf1596af19850469629ad55dacd
|
|
| BLAKE2b-256 |
a851bd4d3353cd747c5c7413a44d51fa4d4807cebc1da63de4af779a17c64f0c
|
File details
Details for the file omni_data_refinement-0.3.1-py3-none-any.whl.
File metadata
- Download URL: omni_data_refinement-0.3.1-py3-none-any.whl
- Upload date:
- Size: 57.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a124f817590d420fdf591deefb081ba256f13b159d1a2d18e5ebfb8a3629c825
|
|
| MD5 |
4e52810541b4d58591cf3f539ec1dab4
|
|
| BLAKE2b-256 |
3dc573c40bc68148eceabc253ff40d4e97336aad3b295d25ffc23c600184b950
|