Skip to main content

mograder logo

mograder

PyPI Tests Docs License: MIT Python 3.11+ Ruff Live Demo

Semi-automated grading for Marimo notebooks.

mograder student demo

How it works: Instructors author source notebooks with solution blocks and automated checks. mograder generate strips solutions to create release versions. Students complete the notebooks and get instant formative feedback from check() calls. mograder autograde executes submissions in sandboxed subprocesses, parses results, and stores grades in an SQLite gradebook. Markers review and add manual marks via the grader dashboard. mograder feedback exports annotated HTML for students.

Quick start

pip install mograder          # or: uv add mograder
mograder generate hw1         # strip solutions → release/
mograder autograde hw1        # grade submissions → autograded/
mograder feedback hw1         # export HTML → feedback/

Live demo

Try the student dashboard — a WASM app running entirely in your browser. See also the hub (student notebook editing), the grader (instructor view with pre-populated demo data), and a demo workshop with encrypted solutions (workshop key: mograder, instructor dashboard). Deep links open assignments and lectures directly: edit demo-assignment | run demo-lecture.

Documentation

Full Documentation Overview, installation, and all guides
Instructor Guide Step-by-step setup and grading walkthrough
Student Guide Setup instructions to share with students
Usage Reference All commands: generate, autograde, feedback, moodle, ...
API Reference check(), Grader, CLI, and module docs
Configuration Full mograder.toml reference
Security Threat model and sandboxing options

For students

Easiest: download the desktop app — no terminal needed.

Or via the command line:

curl -LsSf https://astral.sh/uv/install.sh | sh
uvx mograder student https://mograder-demo.jrkermode.uk/mograder.toml

For real courses, your instructor will provide the config URL. Or open in GitHub Codespaces — one click, no install needed.

License

MIT

Metadata

Release files for mograder 0.3.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mograder 0.3.12
File Size Uploaded
mograder-0.3.12.tar.gz 2.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mograder 0.3.12
File Interpreter ABI Platform
mograder-0.3.12-py3-none-any.whl Python 3 none any Details

Total release size: 2.5 MB

Release files / mograder-0.3.12.tar.gz

Download URL mograder-0.3.12.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
7fa2efb08027b74817d0e64c763bec408ca68328b4c5ecac08354d45327c9a6f
BLAKE2b-256 checksum
How to use checksums
8ef765de342a850fcf2accd5169a7310fe3ae730fff2bee64f401d674082a495
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / mograder-0.3.12-py3-none-any.whl

Download URL mograder-0.3.12-py3-none-any.whl
Size 212.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ffabba3023439496f12e73bb48f60a307ef8fe2f5f7ebfd276154e3439ea552
BLAKE2b-256 checksum
How to use checksums
243459b0a2af4791233ac75ea69aa5282e0042093ce2f2b12b81ee69ee1c9fa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.12 This release

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page