nbgrader
========

| Linux: |TravisCI|
| Windows: |Azure Devops|
| Forum: |Google Group|
| Coverage: |codecov.io|
| Cite: |DOI|

A system for assigning and grading Jupyter notebooks.

`Documentation can be found on Read the
Docs. <https://nbgrader.readthedocs.io/en/stable/>`__

Highlights of nbgrader
----------------------

Instructor toolbar extension for Jupyter notebooks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The nbgrader toolbar extension for Jupyter notebooks guides the
instructor through assignment and grading tasks using the familiar
Jupyter notebook interface.

.. figure:: nbgrader/docs/source/user_guide/images/creating_assignment.gif
   :alt: Creating assignment

   Creating assignment

Instructor “formgrader” extension for Jupyter notebooks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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.

.. figure:: nbgrader/docs/source/user_guide/images/formgrader.gif
   :alt: Formgrader extension

   Formgrader extension

Student assignment list extension for Jupyter notebooks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

.. figure:: nbgrader/docs/source/user_guide/images/student_assignment.gif
   :alt: nbgrader assignment list

   nbgrader assignment list

The command line tools of nbgrader
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`Command line
tools <https://nbgrader.readthedocs.io/en/latest/command_line_tools/index.html>`__
offer an efficient way for the instructor to generate, assign, release,
collect, and grade notebooks.

SciPy 2017 overview talk (click to view on YouTube)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

|nbgrader: A Tool for Creating and Grading Assignments in the Jupyter
Notebook \| SciPy 2017|

Installation
------------

For detailed instructions on installing nbgrader and the nbgrader
extensions for Jupyter notebook, please see
`Installation <https://nbgrader.readthedocs.io/en/latest/user_guide/installation.html>`__
section in the User Guide.

Contributing
------------

Please see the `contributing guidelines and
documentation <https://nbgrader.readthedocs.io/en/latest/contributor_guide/overview.html>`__.

If you want to develop features for nbgrader, please follow the
`development installation
instructions <https://nbgrader.readthedocs.io/en/latest/contributor_guide/installation_developer.html>`__.

.. |TravisCI| image:: https://travis-ci.org/jupyter/nbgrader.svg?branch=master
   :target: https://travis-ci.org/jupyter/nbgrader
.. |Azure Devops| image:: https://dev.azure.com/jessicabhamrick/nbgrader/_apis/build/status/jupyter.nbgrader?branchName=master
   :target: https://dev.azure.com/jessicabhamrick/nbgrader/_build/latest?definitionId=1&branchName=master
.. |Google Group| image:: https://img.shields.io/badge/-Google%20Group-lightgrey.svg
   :target: https://groups.google.com/forum/#!forum/jupyter
.. |codecov.io| image:: http://codecov.io/github/jupyter/nbgrader/coverage.svg?branch=master
   :target: http://codecov.io/github/jupyter/nbgrader?branch=master
.. |DOI| image:: https://jose.theoj.org/papers/10.21105/jose.00032/status.svg
   :target: https://doi.org/10.21105/jose.00032
.. |nbgrader: A Tool for Creating and Grading Assignments in the Jupyter Notebook \| SciPy 2017| image:: http://img.youtube.com/vi/5WUm0QuJdFw/0.jpg
   :target: http://www.youtube.com/watch?v=5WUm0QuJdFw
