Metadata-Version: 2.4
Name: loan_analyzer
Version: 0.1.0
Summary: A comprehensive loan data validation and metrics engine using DuckDB.
Author-email: Zaki <zaki@example.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: duckdb>=1.0.0
Requires-Dist: pandas

# Loan Analyzer

A lightweight, SQL-powered engine for validating loan data and computing analytical metrics using DuckDB.

## Features

- **Schema & Invariant Validation**: Built-in SQL tests for uniqueness, reconciliation, principal tracking, and more.
- **Recursive State Engine**: Tracks monthly loan balances and interest accruals.
- **Delinquency Waterfall**: Computes Days Past Due (DPD) and classifies loans into delinquency buckets.
- **DuckDB Powered**: High-performance vectorized execution on local CSV files.

## Installation

```bash
pip install .
```

## Quick Start

```python
from loan_analyzer import LoanDataLoader, LoanMetricsRunner

# 1. Load and Validate Data
loader = LoanDataLoader("path/to/your/csv_data")
loader.load_data()
is_valid, report = loader.validate()

# 2. Run Metrics
metrics = LoanMetricsRunner(loader)
metrics.run_loan_state()
metrics.run_delinquency()
```

## SQL Resources

The package includes internal SQL resources located in:
- `src/loan_analyzer/sql/`: Core metrics logic.
- `src/loan_analyzer/tests/`: Validation tests.
