-
Notifications
You must be signed in to change notification settings - Fork 0
Setup Guide
Klein Panic edited this page Apr 3, 2026
·
1 revision
- Python 3.11+ (3.11, 3.12, or 3.13)
- pipx (recommended) or pip
- Git with GPG signing configured
- Canvas API token (see below)
pipx install .pip install .git clone https://github.com/kleinpanic/CS3704-Canvas-Project.git
cd CS3704-Canvas-Project
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"- Log into Canvas (Virginia Tech: https://canvas.vt.edu)
- Go to Account → Settings → Approved Integrations
- Generate a new access token
- Copy the token (you won't see it again)
export CANVAS_TOKEN="your_canvas_token_here"
export CANVAS_BASE_URL="https://canvas.vt.edu" # optional, defaults to VTOr create a .env file in the project root:
CANVAS_TOKEN=your_canvas_token_here
CANVAS_BASE_URL=https://canvas.vt.edu
For secure token storage, the app can use your system keyring:
pip install keyring
python -c "import keyring; keyring.set_password('canvas-tui', 'api_token', 'your_token')"canvas-tuiOr if installed from source:
python -m canvas_tuigit clone https://github.com/kleinpanic/CS3704-Canvas-Project.git
cd CS3704-Canvas-Project
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"ruff check src tests # linting
pytest -q # unit tests
python -m build # build packagepip install mkdocs-material
mkdocs serve
# Visit http://localhost:8000pip install textualsudo chown -R $USER:$USER ~/.cache- Verify your token is correct
- Check the base URL matches your institution
- Ensure the token hasn't expired
- Read the Architecture Overview
- Check the Development Guide
- Join the Discussions