# CSV deduplication utility

This dependency-free Python 3.10+ utility removes repeated rows using one or
more configurable key columns. It preserves the input header and CSV quoting,
handles UTF-8 with an optional BOM, writes deterministic first-seen rows, and
emits a machine-readable summary.

```bash
python csv-dedupe.py customers.csv --keys email --output customers-clean.csv --report report.json
```

For a composite key, pass comma-separated columns:

```bash
python csv-dedupe.py events.csv --keys user_id,event_type -o events-clean.csv
```

The command never calls a network, reads no credentials, and writes only the
paths explicitly supplied by the caller. A duplicate is defined by the exact
string values of the selected key columns; the first occurrence wins.
