Weiser
Data Quality Framework
Introduction
Weiser is a data quality framework designed to help you ensure the integrity and accuracy of your data. It provides a set of tools and checks to validate your data and detect anomalies. It also includes a dashboard to visualize the results of the checks.
Installation
To install Weiser, use the following command:
pip install weiser-ai
Usage
Run example checks
Connections are defined at the datasources section in the config file see: examples/example.yaml.
Run checks in verbose mode:
weiser run examples/example.yaml -v
Compile checks only in verbose mode:
weiser compile examples/example.yaml -v
Run dashboard
cd weiser-ui
pip install -r requirements.txt
streamlit run app.py
Configuration
Simple count check defintion
- name: test row_count
dataset: orders
type: row_count
condition: gt
threshold: 0
Custom sql definition
- name: test numeric
dataset: orders
type: numeric
measure: sum(budgeted_amount::numeric::float)
condition: gt
threshold: 0
Target multiple datasets with the same check definition
- name: test row_count
dataset: [orders, vendors]
type: row_count
condition: gt
threshold: 0
Check individual group by values in a check
- name: test row_count groupby
dataset: vendors
type: row_count
dimensions:
- tenant_id
condition: gt
threshold: 0
Time aggregation check with granularity
- name: test numeric gt sum yearly
dataset: orders
type: sum
measure: budgeted_amount::numeric::float
condition: gt
threshold: 0
time_dimension:
name: _updated_at
granularity: year
Custom SQL expression for dataset and filter usage
- name: test numeric completed
dataset: >
SELECT * FROM orders o LEFT JOIN orders_status os ON o.order_id = os.order_id
type: numeric
measure: sum(budgeted_amount::numeric::float)
condition: gt
threshold: 0
filter: status = 'FULFILLED'
Missing values check
- name: customer data quality
dataset: orders
type: not_empty
dimensions: ["customer_id", "product_id", "order_date"]
condition: le
# Allow up to 5 NULL values per dimension
threshold: 5
filter: "status = 'active'"
Anomaly detection check
- name: test anomaly
# anomaly test should always target metrics metadata dataset
dataset: metrics
type: anomaly
# References Orders row count.
check_id: c5cee10898e30edd1c0dde3f24966b4c47890fcf247e5b630c2c156f7ac7ba22
condition: between
# long tails of normal distribution for Z-score.
threshold: [-3.5, 3.5]
Contributing
We welcome contributions!
License
This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.
Metadata
Release files for weiser-ai 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| weiser_ai-0.3.2.tar.gz | 67.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| weiser_ai-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 158.3 kB
Release files / weiser_ai-0.3.2.tar.gz
| Download URL | weiser_ai-0.3.2.tar.gz |
|---|---|
| Size | 67.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
338749e9fabefab6183d345daf0ee9ba6c890b68e3645081c6cef400059cccdb
|
|
BLAKE2b-256 checksum How to use checksums |
58041b3f578e246358c029cd635f65cbb289ec4ec2a8b67c4082d44386379113
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.
Transparency logRelease files / weiser_ai-0.3.2-py3-none-any.whl
| Download URL | weiser_ai-0.3.2-py3-none-any.whl |
|---|---|
| Size | 90.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9b5a9a4a57a9eeeb510c40b80471ebc45e8068e1ec4d22a517ecdc8622dfe8c5
|
|
BLAKE2b-256 checksum How to use checksums |
6de203a23e13f3b687b89b80c282beff12ae30657e8aa583973e13d38320536f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.
Transparency log