#!/usr/bin/sh source .venv/bin/activate path=$1 python -c " from bom_assistant.ingestion.parser import parse_bom from bom_assistant.ingestion.column_mapper import map_columns from bom_assistant.ingestion.normalizer import normalize from bom_assistant.suppliers.lcsc.category_resolver import resolve import pathlib f = pathlib.Path('$path') raw = parse_bom(f.read_bytes(), f.name) mapped = map_columns(raw) rows = normalize(mapped) for r in rows: p = r.normalized_params cats = resolve(r) lcsc = ' | '.join(c.name for c in cats) if cats else '???' print(f'{r.state.value:8} [{r.category.value:10}] {str(r.designators):30} val={p.value_str!r:10} pkg={p.package!r:15} → {lcsc}') "