A CLI tool to manage Canvas LMS assignments with AI-assisted homework help
Project description
๐ Canvas Completer
A CLI tool to help manage Canvas LMS assignments. Syncs your courses, assignments, and course materials locally for easy access and AI-assisted homework help.
โจ Features
- ๐ Course Sync โ Automatically fetches all your active courses, syllabi, and assignments
- ๐ Assignment Tracking โ View upcoming assignments with due dates and submission status
- ๐ Content Extraction โ Downloads and extracts content from PDFs, YouTube videos, Panopto recordings, and more
- ๐ค AI Integration โ Works with Claude Code or Cursor for AI-assisted assignment help
- ๐ AI Detection โ Built-in AI detection checking to review written work
- ๐พ Offline Access โ All course materials stored locally for offline reference
๐ Requirements
- Python 3.10+
- A Canvas LMS account at your school
๐ Installation
Option 1: pip (Recommended)
pip install canvas-completer
Then install the browser for authentication:
playwright install chromium
Option 2: pipx (Isolated Environment)
pipx install canvas-completer
pipx runpip canvas-completer install playwright
playwright install chromium
Option 3: From Source
git clone https://github.com/MillerMedia/canvas-completer.git
cd canvas-completer
pip install -e .
playwright install chromium
โ๏ธ Configuration
On first run, you'll be prompted to enter your school's Canvas URL. Examples:
https://canvas.instructure.comhttps://canvas.university.eduhttps://school.instructure.com
Your configuration is stored in ~/.config/canvas-completer/.
๐ Usage
Interactive Mode (Recommended)
canvas-completer
This launches the interactive CLI where you can:
- ๐ Sync your courses
- ๐ Browse assignments by course
- ๐ View assignment details and rubrics
- ๐ค Open assignments in Claude Code or Cursor for AI help
Quick Commands
# Sync courses and assignments
canvas-completer sync
# Clear saved session (logout)
canvas-completer logout
๐ Data Storage
All synced data is stored locally at:
~/.config/canvas-completer/
โโโ config.json # Your Canvas URL and token
โโโ session.json # Browser session (for SSO login)
โโโ settings.json # User preferences
โโโ data/
โโโ courses/
โโโ Course_Name/
โโโ course_info.json
โโโ syllabus.md
โโโ assignments/
โ โโโ Assignment_Name/
โ โโโ assignment.json
โ โโโ requirements.md
โ โโโ rubric.md
โ โโโ submission/
โโโ modules/
โโโ Module_Name/
โโโ content.md
๐ ๏ธ Optional Tools
For the best experience, install these AI coding assistants:
| Tool | Install | Description |
|---|---|---|
| Claude Code | npm install -g @anthropic-ai/claude-code |
Recommended for AI help |
| Cursor | cursor.com | AI-powered code editor |
| tmux | brew install tmux |
Enables split-pane view |
๐ Privacy & Security
- Your Canvas token is stored locally with restricted file permissions (600)
- No data is sent to external servers (except Canvas and optional AI detection services)
- Session cookies are stored locally for convenience
โ Troubleshooting
"Session expired" errors
Run canvas-completer logout then sync again to re-authenticate.
Browser doesn't open for login
Make sure Playwright browsers are installed: playwright install chromium
Can't find your Canvas URL
Check the URL you use to access Canvas in your browser. It typically looks like https://canvas.schoolname.edu or https://schoolname.instructure.com.
๐ License
MIT License โ See LICENSE file for details.
๐ค Contributing
Contributions welcome! Please open an issue or submit a pull request.
Made with ๐ฆ by MillerMedia
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file canvas_completer-0.1.0.tar.gz.
File metadata
- Download URL: canvas_completer-0.1.0.tar.gz
- Upload date:
- Size: 43.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13133fcf1b86a830facd28e224316d361d8fa6b885b7a094cc3916fab6d3d16f
|
|
| MD5 |
c170fdac601db373bafed103cc4b0ac8
|
|
| BLAKE2b-256 |
133fa09c27edf2eeafba5c0820a06ffa8e0c6fce04028aaa7746cd4d27eae8c4
|
File details
Details for the file canvas_completer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: canvas_completer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 45.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
629e4ed1b0215a1e512f09d7a8f29064dc455515fc4b9044c09de8a5838d9199
|
|
| MD5 |
e3f3c02febfb4fc9fa698ac1fdef5f54
|
|
| BLAKE2b-256 |
b0504c6dbf8756b5e669d8f9baf9d9cd8d6de9065811e0429ac72c0446a35a8e
|