1
0
Files
coldcall_lti/pyproject.toml
Benjamin Mako Hill 4e29baddf8 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>
2026-08-03 13:35:25 -07:00

29 lines
796 B
TOML

[build-system]
requires = ["setuptools>=64"]
build-backend = "setuptools.build_meta"
[project]
name = "coldcall-lti"
version = "0.1.0"
description = "Canvas LTI 1.3 tool for managing in-class cold calls"
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,
# 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]
test = ["pytest>=8"]
[tool.setuptools]
packages = ["coldcall_lti"]