Metadata-Version: 2.5
Name: cassroom
Version: 0.3.0
Summary: CLI grading toolkit for Canvas LMS — track submissions, deadlines, and sync grades
Project-URL: Homepage, https://github.com/ejolly/cass
Project-URL: Repository, https://github.com/ejolly/cass
Project-URL: Documentation, https://eshinjolly.com/cass
Author-email: Eshin Jolly <eshin.jolly@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: canvas,cli,education,grading
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Education
Requires-Python: >=3.11
Requires-Dist: browser-cookie3>=0.20.1
Requires-Dist: duckdb>=1.5.0
Requires-Dist: httpx>=0.28.1
Requires-Dist: ibis-framework[duckdb,sqlite]>=12.0.0
Requires-Dist: msgspec>=0.20.0
Requires-Dist: nicegui>=3.8.0
Requires-Dist: rich>=14.3.3
Requires-Dist: sqlite-utils>=3.39
Requires-Dist: typer>=0.24.1
Description-Content-Type: text/markdown

# cass

Grading toolkit for [Canvas LMS](https://www.instructure.com/canvas) — pull rosters, track submissions, edit grades, and push them back to Canvas.

All data lives in a local SQLite database (`cass.db`) alongside a version-trackable `cass.toml` config.

## Install

Requires [uv](https://docs.astral.sh/uv/). Then:

```bash
uv tool install cassroom
```

## Quick start

```bash
cass init    # one-time setup: Canvas URL, course, credentials
cass pull    # fetch students, assignments, submissions
cass view    # edit grades in a browser grid
cass push    # send changes back to Canvas
```

## Documentation

Full guide, CLI reference, and API docs: **https://eshinjolly.com/cass**

## Development

```bash
uv sync --all-groups
uv run poe ok
```

See the [development guide](https://eshinjolly.com/cass/development/) for layout, commit conventions, and releasing.
