Skip to main content

Zero-boilerplate ML data validation and model evaluation.

Project description

FitCheck

Zero-boilerplate ML data validation and model evaluation.

CI Apache 2.0 Python 3.9+ Tests PyPI Coverage Security Changelog


FitCheck validates datasets, evaluates ML models, and detects distribution drift — all with one-line commands that generate shareable HTML reports.

Package Release Stats
data-fitcheck pip install data-fitcheck Platform: Linux, macOS, Windows

Philosophy

  • Zero Config — Pass a file path. Get answers. No YAML, no setup.
  • Immutability — FitCheck diagnoses, never silently modifies. Fix scripts are transparent and inspectable.
  • Shareability — Every check generates a self-contained HTML report ready for Slack, email, or GitHub.
  • No Telemetry — Zero outbound network calls. All computation is local.

Installation

pip install data-fitcheck

From source (for development):

git clone https://github.com/neoline361-art/fitcheck.git
cd fitcheck
pip install -e ".[dev]"

Quick Start — 30 Seconds

import fitcheck

# 1. Validate a dataset
issues = fitcheck.check("data.csv", target="label")
# → Opens fitcheck_report.html with issues, stats, preview

# 2. Evaluate a model
metrics = fitcheck.report(model, X_test, y_test)
# → Opens model_report.html with metrics + plots

# 3. Detect drift
results = fitcheck.detect_drift("train.csv", "production.csv")
# → Opens drift_report.html with per-feature drift results

CLI (same thing, no Python needed)

pip install data-fitcheck
fitcheck check data.csv --target label
fitcheck drift train.csv production.csv
fitcheck demo  # runs everything in one command

What FitCheck Checks

Check Method Severity
Missing values Null ratio >5% / >20% Warning / Critical
Duplicate rows df.duplicated().sum() Warning
Constant columns Single unique value Warning
Class imbalance Majority class >80% Warning
Outliers IQR method (1.5×) Info
Numeric drift KS test (p<0.05) Critical
Categorical drift Chi-squared (p<0.05) Critical

Documentation

Resource Description
API Reference Complete API documentation with parameters, returns, and examples
Architecture Module design and design decisions
Design Decisions Why certain technical choices were made
FAQ Frequently asked questions
Examples Runnable usage examples
Benchmarks Performance benchmarks on standard hardware

Project Maturity

Aspect Status
Version v2.0.0 — Semantic Versioning
Tests 30 tests, 82% coverage
Type Safety mypy strict — 11 type-arg warnings (all ndarray, no runtime impact)
Linting ruff clean
Security bandit + pip-audit (pickle warning expected for model loading)
License Apache 2.0
Platforms Linux, macOS, Windows (Python 3.9–3.13)
PyPI v2.0.0 — pip install data-fitcheck

Limitations

  • Supports only pandas DataFrames (CSV, Parquet)
  • Drift: KS test for numeric, Chi-squared for categorical
  • Deep learning model evaluation is not implemented
  • Datasets must fit in memory
  • No streaming or distributed processing

Development

# Setup
pip install -e ".[dev]"
pre-commit install

# Run all quality gates
ruff check fitcheck/
mypy fitcheck/
bandit -r fitcheck/ -x tests
pip-audit
pytest --cov=fitcheck --cov-report=term-missing

# Demo
python demo.py

Versioning

FitCheck follows Semantic Versioning. Given a version MAJOR.MINOR.PATCH:

  • MAJOR — Breaking API changes
  • MINOR — New features, backward compatible
  • PATCH — Bug fixes, backward compatible

See CHANGELOG.md for per-release details.

Contributing

See CONTRIBUTING.md. TL;DR:

  1. Tests must pass
  2. Ruff + mypy must be clean
  3. Add CHANGELOG entry

Security

See SECURITY.md. Report vulnerabilities to neoline361@gmail.com.

License

Apache 2.0 — 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

data_fitcheck-2.0.1.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

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

data_fitcheck-2.0.1-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file data_fitcheck-2.0.1.tar.gz.

File metadata

  • Download URL: data_fitcheck-2.0.1.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for data_fitcheck-2.0.1.tar.gz
Algorithm Hash digest
SHA256 21ed7a6be89fadd3f03523b784b848f91a9c5af699002f7493a71e0008bff544
MD5 e780e39af846960796545d76efeb1a3c
BLAKE2b-256 104d03781a0b73a9ddfa1cfa9f001822cbc9a59fc697c597a9e03f2b3d951746

See more details on using hashes here.

File details

Details for the file data_fitcheck-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: data_fitcheck-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for data_fitcheck-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b409ecb1ffd24f55a6f26fb5ec0bba555da6069cb4b49f7943dac87d5e368e8d
MD5 085e8bdc033ec51fd2e723768a004ed6
BLAKE2b-256 79d79e9d0c29da9cfce4cfbc3a94bd35c3c18cc283c634e6db794c44c35a5cb9

See more details on using hashes here.

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