Skip to main content

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.

  1. Read sessions.csv as data and hand-calculate the expected report. Predict the quoted-comma and non-ASCII cases before running anything.
  2. Implement parse_sessions in data_starter.py: bounded bytes → strict decoding → CSV parsing → whole-input validation. Implement one boundary at a time and use the rejection-ladder fixtures.
  3. Implement summarize and test count, total and grouping. Check empty data, duplicate records and input preservation.
  4. Implement the raw-byte fingerprint. Explain what it can and cannot establish.
  5. Run python3 check.py data starter, then python3 cli.py data starter sessions.csv. Capture the actual result. Never redirect output onto the input filename.
  6. 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.
  7. Compare with data_reference.py only 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.