A system for assigning and grading notebooks
1,370
stars
3,280
commits
Python
primary language
Sep 10, 2026
updated
A system for assigning and grading Jupyter notebooks.
Documentation can be found on Read the Docs.
The nbgrader toolbar extension for Jupyter notebooks guides the instructor through assignment and grading tasks using the familiar Jupyter notebook interface.

The formgrader extension for the Jupyter notebook allows instructors to use the core functionality of nbgrader---generating the student version of an assignment, releasing assignments to students, collecting assignments, autograding submissions, and manually grading submissions.

Using the assignment list extension, students may conveniently view, fetch, submit, and validate their assignments.

Command line tools offer an efficient way for the instructor to generate, assign, release, collect, and grade notebooks.
For detailed instructions on installing nbgrader and the nbgrader extensions for Jupyter notebook, please see Installation section in the User Guide.
Please see the contributing guidelines and documentation.
If you want to develop features for nbgrader, please follow the development installation instructions.
(top 30 of 94)
Python
38.8%
Jupyter Notebook
32.6%
HTML
17.1%
TypeScript
6.3%
JavaScript
2.8%
A system for assigning and grading notebooks
1,370
stars
3,280
commits
Python
primary language
Sep 10, 2026
updated
A system for assigning and grading Jupyter notebooks.
Documentation can be found on Read the Docs.
The nbgrader toolbar extension for Jupyter notebooks guides the instructor through assignment and grading tasks using the familiar Jupyter notebook interface.

The formgrader extension for the Jupyter notebook allows instructors to use the core functionality of nbgrader---generating the student version of an assignment, releasing assignments to students, collecting assignments, autograding submissions, and manually grading submissions.

Using the assignment list extension, students may conveniently view, fetch, submit, and validate their assignments.

Command line tools offer an efficient way for the instructor to generate, assign, release, collect, and grade notebooks.
For detailed instructions on installing nbgrader and the nbgrader extensions for Jupyter notebook, please see Installation section in the User Guide.
Please see the contributing guidelines and documentation.
If you want to develop features for nbgrader, please follow the development installation instructions.
(top 30 of 94)
Python
38.8%
Jupyter Notebook
32.6%
HTML
17.1%
TypeScript
6.3%
JavaScript
2.8%