Guided Lab
Project: a small data inspection and reporting tool
Download Orientation Toolkit and extract the whole folder. Read its README for the exact contract. Run python3 check.py data starter; initial NotImplementedError is expected. Use py -3 instead on Windows if needed.
- Read
sessions.csvas data and hand-calculate the expected report. Predict the quoted-comma and non-ASCII cases before running anything. - Implement
parse_sessionsindata_starter.py: bounded bytes → strict decoding → CSV parsing → whole-input validation. Implement one boundary at a time and use the rejection-ladder fixtures. - Implement
summarizeand test count, total and grouping. Check empty data, duplicate records and input preservation. - Implement the raw-byte fingerprint. Explain what it can and cannot establish.
- Run
python3 check.py data starter, thenpython3 cli.py data starter sessions.csv. Capture the actual result. Never redirect output onto the input filename. - Add an independently predicted case not in the supplied checker, such as a topic with a quoted newline. Explain why its record number can differ from the physical line number.
- Compare with
data_reference.pyonly after preserving your attempt. Finish the independent transfer in assessment.
Deliver implementation, fixture tests, command/output, one repaired defect and a short provenance note. The lab is a bounded local importer; it does not provide streaming large-file processing, atomic output files, database transactions or general CSV compatibility.