Home: README
Path placeholder: <repo-root> means the folder containing this repository's README.md.
This guide upgrades you from script author to disciplined engineer.
Build reusable, testable, maintainable Python tools with consistent quality checks.
- 09_QUALITY_TOOLING.md
- 05_AUTOMATION_FILES_EXCEL.md
- projects/level-3/README.md
- projects/level-4/README.md
- projects/level-5/README.md
cd <repo-root>/projects/level-3/01-package-layout-starter
python project.py --input data/sample_input.txt --output data/output_summary.json
ruff check .
black --check .
pytest -qExpected output:
All checks passed!
would reformat 0 files
2 passed
- Run baseline script.
- Run tests.
- Run
ruffandblack --check. - Improve one quality dimension:
- module structure,
- logging clarity,
- validation strictness,
- test depth.
- Add one failure-path test.
- Re-run full checks until clean.
- Failure: tests pass once and fail on rerun.
- Fix: remove hidden state and reset generated files in tests.
- Failure: code works on your machine only.
- Fix: document setup assumptions in README and pin dependencies.
- Failure: logs exist but are not actionable.
- Fix: log run id, input path, counts, and final status.
Per week, complete at least:
- Three finished projects.
- Three new or improved tests.
- Three break/fix notes with root cause.
- You can refactor a large function into smaller units.
- You can explain why each critical test exists.
- You can handle malformed input without crashing.
- You can produce readable run summaries in logs.