Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build a small reusable library that parses and transforms data (e.g. CSV/JSON records → cleaned, validated objects) using dataclasses and full type hints that pass mypy --strict. Package it with a pyproject.toml, and ship a pytest suite that uses fixtures and @pytest.mark.parametrize to cover the happy path and edge cases. The public API should be fully typed and importable.
Full type hints on the public API; mypy --strict passes; dataclasses model the domain.
pytest suite with fixtures and parametrize; happy path and edge cases covered.
A valid pyproject.toml; the library installs and imports cleanly; clear public API.
Bad input raises clear, specific exceptions; no silent data corruption.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# A typed, tested data-processing library ## Goal Build a small reusable library that parses and transforms data (e.g. CSV/JSON records → cleaned, validated objects) using dataclasses and full type hints that pass mypy --strict. Package it with a pyproject.toml, and ship a pytest suite that uses fixtures and @pytest.mark.parametrize to cover the happy path and edge cases. The public API should be fully typed and importable. ## Acceptance criteria - [ ] Typing & mypy: Full type hints on the public API; mypy --strict passes; dataclasses model the domain. - [ ] Tests: pytest suite with fixtures and parametrize; happy path and edge cases covered. - [ ] Packaging: A valid pyproject.toml; the library installs and imports cleanly; clear public API. - [ ] Robustness: Bad input raises clear, specific exceptions; no silent data corruption. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.