nbgrader
========

| Linux: |TravisCI|
| Windows: |AppVeyor|
| 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
.. |AppVeyor| image:: https://ci.appveyor.com/api/projects/status/github/jupyter/nbgrader?svg=True
   :target: https://ci.appveyor.com/project/jupyter/nbgrader/branch/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
