A batch ETL pipeline that extracts structured conversational data from PDF chat exports, validates it, and loads it into SQLite.
Python 3.9 or newer. From the repository root. Install, then run. The command below uses the sample PDFs in examples/sample_input/. For your own export, point --input at that directory. PyMuPDF is optional, and only a fallback when pdfplumber returns no text: pip install -e ".[pymupdf]".
pip install -e .
python -m etl_pipeline.cli run --input examples/sample_input --output results --no-with-visualsThat writes results/run_YYYYMMDD_HHMMSS/. Using the repository results/ folder may archive older run folders there first. Pass a different --output directory to skip that. Omit --no-with-visuals to draw charts, which is the default. The run folder holds the CSVs, chat_history.db, and diagnostics/.