← Back to all products

Data Validation Toolkit

$29

Pydantic models, custom validators, schema evolution patterns, and data quality frameworks for Python applications.

📁 16 files🏷 v1.0.0
JSONMarkdownYAMLPython

📄 Product Preview

Try the interactive reader and demo tools below, or get the full product with all content unlocked.

📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample

📁 File Structure 16 files

data-validation-toolkit/ ├── LICENSE ├── README.md ├── configs/ │ ├── rules/ │ │ └── business_rules.yaml │ └── schemas/ │ └── user_schema.yaml ├── examples/ │ └── validate_user_data.py ├── guides/ │ └── data-validation-guide.md ├── src/ │ ├── decorators.py │ ├── pipeline.py │ ├── reporters.py │ └── validators/ │ ├── base.py │ ├── business_rules.py │ ├── file_validator.py │ ├── schema_validator.py │ └── type_validator.py └── tests/ └── test_validators.py

📖 Documentation Preview README excerpt

Data Validation Toolkit — Composable Validation for Python

Type-safe, pipeline-driven validation with schema support, business rules, and detailed error reporting.

What You Get

  • 5 validator types — base, type, schema, business rules, and file validators
  • Composable pipeline — chain validators in sequence with short-circuit or collect-all modes
  • YAML-driven schemas — define validation rules in config, not code
  • Rich error reports — JSON, plain text, or structured output with field paths
  • Function decorators — validate arguments automatically on function call

File Tree


data-validation-toolkit/
├── README.md
├── manifest.json
├── LICENSE
├── src/
│   ├── validators/
│   │   ├── base.py              # Abstract base + ValidationError
│   │   ├── type_validator.py    # Runtime type checking
│   │   ├── schema_validator.py  # YAML-driven schema validation
│   │   ├── business_rules.py    # Configurable business rules
│   │   └── file_validator.py    # File existence, size, format
│   ├── pipeline.py              # Validation pipeline orchestrator
│   ├── reporters.py             # Error formatting & reporting
│   └── decorators.py            # @validate_args decorator
├── configs/
│   ├── schemas/
│   │   └── user_schema.yaml     # Example schema definition
│   └── rules/
│       └── business_rules.yaml  # Example business rules
├── examples/
│   └── validate_user_data.py    # End-to-end usage example
├── tests/
│   └── test_validators.py       # Comprehensive test suite
└── guides/
    └── data-validation-guide.md

Getting Started

Basic type validation


from src.validators.type_validator import TypeValidator

validator = TypeValidator({"name": str, "age": int, "active": bool})
errors = validator.validate({"name": "Alice", "age": "thirty", "active": True})
# errors[0].field == "age", errors[0].message == "Expected int, got str"

Schema validation from YAML


from src.validators.schema_validator import SchemaValidator

validator = SchemaValidator.from_yaml("configs/schemas/user_schema.yaml")

*... continues with setup instructions, usage examples, and more.*

📄 Code Sample .py preview

src/validators/base.py"""Base validator and shared error types. All validators inherit from :class:`Validator` and return a list of :class:`ValidationError` instances. """ from __future__ import annotations from abc import ABC, abstractmethod from dataclasses import dataclass, field from enum import Enum, auto from typing import Any class Severity(Enum): """Error severity level.""" ERROR = auto() WARNING = auto() INFO = auto() @dataclass(frozen=True) class ValidationError: """A single validation failure. Attributes: field: Dot-separated path to the offending field (e.g. ``"address.zip"``). message: Human-readable description. code: Machine-readable error code (e.g. ``"type_mismatch"``). severity: How serious the violation is. value: The offending value (optional, for diagnostics). """ field: str message: str code: str = "validation_error" severity: Severity = Severity.ERROR value: Any = field(default=None, repr=False)
Buy Now — $29 Back to Products