CanvasMD is a powerful command-line interface application that allows you to interact with the Canvas Learning Management System directly from your terminal. This tool is designed for students and educators who prefer a streamlined, keyboard-driven workflow and want to manage their Canvas tasks efficiently without the need to open a web browser.
- Authentication: Securely log in to your Canvas account using an access token.
- Course Management: View and navigate through your enrolled courses.
- Assignment Tracking:
- List all assignments for a selected course.
- View assignment details including due dates and submission status.
- Distinguish between submitted and not-submitted assignments.
- File Submission: Upload and submit files for assignments directly from your local machine.
- User-Friendly Interface: Navigate through menus using arrow keys and enter key.
- Offline Settings: Configure and save preferences for a personalized experience.
- Python 3.6 or higher
pip
for installing dependencies
-
Clone this repository:
git clone https://github.com/ndonatti/CanvasMD.git cd CanvasMD
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the tool using:
python canvasmd.py
-
When you first run the application, you'll be prompted to enter your Canvas access token. To get your token:
- Log in to your Canvas account in a web browser
- Go to Account > Settings > New Access Token
- Generate a new token and copy it
- In the CanvasMD application, choose the "Settings" option from the main menu
- Select "Save Token" and paste your access token when prompted
-
Navigate through the menus using the arrow keys and press Enter to select an option.
To launch CanvasMD more conveniently, you can create an alias:
- Open your shell configuration file (e.g.,
~/.bashrc
,~/.zshrc
, or~/.bash_profile
) - Add the following line, replacing
/path/to/CanvasMD
with the actual path to your CanvasMD directory:alias canvas='python3 /path/to/CanvasMD/canvasmd.py'
- Save the file and reload your shell configuration:
source ~/.bashrc # or ~/.zshrc, ~/.bash_profile, etc.
- Now you can launch CanvasMD from anywhere by simply typing
canvas
in your terminal
- Efficiency: Quickly access your courses and assignments without waiting for web pages to load.
- Distraction-Free: Focus on your tasks without the clutter of a full web interface.
- Terminal Integration: Seamlessly integrate Canvas interactions into your existing terminal workflow.
- Keyboard-Centric: Perfect for users who prefer keyboard navigation over mouse interactions.
- Low-Bandwidth: Ideal for situations where you have limited internet connectivity.
We welcome contributions to CanvasMD! Please feel free to submit issues, feature requests, or pull requests.
Happy Canvas-ing from your terminal!