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:
@@ -10,13 +10,15 @@ license = {text = "AGPL-3.0-or-later"}
|
||||
authors = [{name = "Benjamin Mako Hill", email = "mako@atdot.cc"}]
|
||||
requires-python = ">=3.11"
|
||||
# Known-good versions: flask 3.1.1, SQLAlchemy 2.0.40, alembic 1.13.2,
|
||||
# pylti1p3next 2.0.2 (development uses Debian system packages for all
|
||||
# but pylti1p3next; these floors record what the code was written against).
|
||||
# numpy 2.2.4, pylti1p3next 2.0.2 (development uses Debian system
|
||||
# packages for all but pylti1p3next; these floors record what the code
|
||||
# was written against).
|
||||
dependencies = [
|
||||
"flask>=3.1",
|
||||
"pylti1p3next>=2.0",
|
||||
"SQLAlchemy>=2.0",
|
||||
"alembic>=1.13",
|
||||
"numpy>=1.26",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
|
||||
Reference in New Issue
Block a user