A lightweight tool to grade notebook assignements
Project description
nbchkr: Notebook checker
A lightweight solution to mark/grade/check notebook assignments.
How
Installation
$ pip install nbchkr
Preparation
Write a jupyter notebook main.ipynb
, using tags to denote specific cells:
answer:<label>
A cell where students are expected to write their answers.score:<total>
A cell with assert statements to check an answer. Worth<total>
marks.hide
A cell that should not be shown.
See documentation for further examples and features.
Release
Create a student version of the notebook:
$ nbchkr release --source main.ipynb --output student.ipynb
Check
Given a student notebook notebook: submitted.ipynb
$ nbchkr check --source main.ipynb --submitted submitted.ipynb --feedback-suffix -feedback.md --output data.csv
This writes to screen the score (total and for each question) and creates
feedback.md
as well as reporting the results to data.csv
.
Given a pattern of student submissions it is possible to batch check all of them:
$ nbchkr check --source main.ipynb --submitted submissions/*.ipynb --feedback-suffix -feedback.md --output data.csv
Why?
An alternative to this tool is nbgrader which offers a comprehensive course management solution and includes features such as:
- An email server to be able to communicate with students;
- The ability to release assignments, feedback and marks directly;
- Addons to the jupyter notebook interface.
nbchkr
is meant to be a lightweight alternative.
Documentation
Full documentation is available at: nbchkr.readthedocs.io
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nbchkr-0.0.8-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3da9e605dca5318b3f4caabe3a2758974838e578538125a1d2d59484935810e4 |
|
MD5 | 7fc7b907f305918270c329d301cf9c91 |
|
BLAKE2b-256 | c117529b898234c57a9ff2994926251e2f8f7417f0f8aa4b6fa8c9f784c969a7 |