- Transformed attendance tracker script into full Python application called
rollcall - Created proper Python package structure under
src/rollcall/ - Updated
pyproject.tomlwith proper package metadata and entry points - Split functionality into
core.py(business logic) andcli.py(CLI interface) - Replaced argparse with Typer for modern CLI handling
- Maintained all original command-line arguments (
--session,--save-image,--no-terminal,--output) - Updated QUICKSTART.md to reflect new
uv run rollcallcommand usage - Replaced README.md content with updated QUICKSTART.md for single source of truth
- Verified application works correctly with
uv run rollcall --helpand test commands - Cleaned up old files (attendance.py, src/attendance_tracker/)
- Added comprehensive test cases for the
load_configfunction intests/test_core.py, including tests for successful loading, file not found, and invalid JSON errors. Verified all tests pass withuv run pytest. - Created README_PYPI.md as an emoji-free version of README.md for PyPI compatibility.
- Replaced all naked print statements in
core.pywith a Typer console object usingconsole.print()for better CLI output handling. - Fixed all markdownlint errors in README.md and README_PYPI.md by
correcting headings, code blocks, and disabling problematic rules in
.pymarkdown.cfg. Confirmeduv run task allpasses all checks.