1
0

Setup banner, assessment timestamps, and installation docs

Instructor home shows a setup banner while a course has no class
schedule, since that is the one gap that degrades the student
experience (free-date opt-outs, no withdrawal locking); it points at
the prefilled schedule form and settings and disappears once any
class day exists.

Calls gain assessment_entered_at, stamped when an outcome is recorded
or actually changed (bulk saves that change nothing don't restamp),
null for pending calls and legacy imports, and included in the calls
export — distinguishing assessed-in-class from assessed-later.

The README setup section now gives both install routes: pure
pip/venv, and Debian system packages with the apt line. Fixing this
uncovered that numpy was missing from the project dependencies (the
grading engine needs it; the system-site-packages venv had masked
the omission).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-03 13:35:25 -07:00
parent 5fec2e3a3d
commit 4e29baddf8
8 changed files with 168 additions and 9 deletions

View File

@@ -68,17 +68,30 @@ roster.
## Setup
Development uses a virtualenv that shares the system's Debian-packaged
libraries (Flask, SQLAlchemy, alembic, pytest) and adds the one
PyPI-only dependency, the maintained `pylti1p3next` fork of PyLTI1p3:
The app needs Python ≥ 3.11 with Flask, SQLAlchemy, alembic, and
numpy, plus one library that only exists on PyPI: `pylti1p3next`, the
maintained fork of PyLTI1p3. There are two equivalent ways to install,
depending on whether you prefer distribution packages or pip.
**Pure pip/venv** (any distribution; everything from PyPI):
```
python3 -m venv .venv
.venv/bin/pip install -e '.[test]'
```
**Debian/Ubuntu system packages** (only `pylti1p3next` comes from
PyPI; the venv shares the system's packages):
```
sudo apt install python3-venv python3-flask python3-sqlalchemy \
python3-alembic python3-numpy python3-pytest
python3 -m venv --system-site-packages .venv
.venv/bin/pip install pylti1p3next
.venv/bin/pip install -e .
```
Create the database and run the tests:
Either way, then create the database and run the tests:
```
.venv/bin/python -m alembic upgrade head