Course Management Toolkit¶
Utilities for managing course rosters, grading, OCR extraction, Canvas/Google Classroom workflows, and Classroom50 (foundation50) roster sync, plus agent-safe entrypoints for AI coding agents. Work in progress, mainly designed for personal use but open-sourced for others to adapt. Code with the help of GitHub Copilot and ChatGPT Codex. Last updated: 2026-09-30
Package information¶
Version: 0.2.0
GitHub: https://github.com/hoanganhduc/course_management_toolkit
Donations: - Buy Me a Coffee: https://www.buymeacoffee.com/hoanganhduc - Ko-fi: https://ko-fi.com/hoanganhduc
Recent updates¶
Google Classroom assignment administration: isolated OAuth credentials, complete stable assignment options, safe automation, duplicate detection, and strict read-back verification through
course-gclass-admin.Classroom50 (foundation50): list/sync/export roster via
gh teacherwrapper; human-only download.Agent-safe modules:
c50_agent,canvas_agent,gclass_agent,db_agentwith allowlists.Canvas/Google Classroom sync now normalizes scores to a 10-point scale when possible.
MAT*.xlsx roster imports ignore score columns (CC, GK, CK, totals).
Student detail exports support selectable sort orders.
Duplicate-name reporting supports Name, Google Classroom Display Name, and Canvas Display Name with TXT/CSV/JSON exports.
Contents¶
- Usage
- Install (editable)
- Install into per-user venv
- Run
- Interactive menu tips
- Menu ↔ CLI examples
- Classroom50 (foundation50)
- Agent-safe entrypoints
- Clear stored settings
- Configuration and file locations
- OCR dependencies and setup
- Canvas and Google Classroom setup
- Common workflows
- Google Classroom workflows
- Weekly automation guide
- Course calendar builder
- Data validation report
- Dry-run mode
- Logging
- Canvas announcements
- Override grades
- AI report refinement
- AI model verification and listing
- Submission quality checks
- Troubleshooting
- CLI Reference
- API Reference
cache_course_code()clear_config()clear_credentials()get_cached_course_code()get_config_base_dir()get_default_config_path()get_default_credentials_path()get_default_download_folder()get_default_token_path()load_config()validate_config()interactive_modify_database()CredentialSecurityErrorGoogleClassroomAPIErrorGoogleClassroomErrorGoogleClassroomOutcomeUnknownErrorGoogleClassroomPartialCreateErrorbuild_google_classroom_assignment_body()build_google_classroom_rubric_body()create_google_classroom_assignment()create_google_classroom_assignment_with_rubric()download_google_classroom_assignment_submissions()download_google_sheet_to_csv()get_google_classroom_auth_status()get_google_classroom_coursework_service()grade_google_classroom_assignment_submissions()invite_students_to_google_classroom()resolve_coursework_auth_paths()sync_students_with_google_classroom()unenroll_google_classroom_students()- Google Classroom assignment creation
- Agent and Classroom50 modules
- Changelog