A modular validation engine for processing structured input files (CSV/JSON), enforcing schema rules, and producing structured validation reports. Designed to emphasize reliability, clear error modeling, and extensible pipeline architecture.
- Reads records from CSV or JSON inputs
- Validates each record against a JSON-defined schema
- Produces a structured report with:
- total / valid / invalid record counts
- per-field validation issues (with row + field context)
- Optionally writes the report to a JSON output file
This project demonstrates:
- Defensive programming and input validation
- Schema-driven validation and rule enforcement
- Pipeline-style architecture (read → validate → report)
- Clear error modeling (consistent, structured issue objects)
- Testability through a modular design and automated checks
file_engine/cli.py— CLI entry point and command routingfile_engine/engine.py— validation pipeline orchestrationfile_engine/schema.py— schema loading and rule definitionsfile_engine/models.py— typed report + issue objectsfile_engine/validators/— format-specific record readers (CSV/JSON)file_engine/report.py— report serializationschemas/— example schemasexamples/— example input filestests/— automated tests
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt