nbgrader v0.5.0 released

128 views
Skip to first unread message

Jessica B. Hamrick

unread,
Jul 8, 2017, 4:36:26 PM7/8/17
to Project Jupyter, Teaching with Jupyter Notebooks
Hi all,

I am excited to announce that the nbgrader v0.5.0 has been released! You can install it via pip:

    pip install -U nbgrader

And very shortly the conda package will be available on conda-forge as well.

nbgrader version 0.5.0 is another very large release with some very exciting new features! The highlights include:
  • The formgrader is now an extension to the notebook, rather than a standalone service.
  • The formgrader also includes functionality for running `nbgrader assign`, `nbgrader release`, `nbgrader collect`, and `nbgrader autograde` directly from the browser.
  • A new command `nbgrader zip_collect`, which helps with collecting assignment files downloaded from a LMS.
  • Hidden test cases are now supported.
  • A lot of functionality has moved into standalone objects that can be called directly from Python, as well as a high-level Python API in `nbgrader.apps.NbGraderAPI` (see http://nbgrader.readthedocs.io/en/latest/api/high_level_api.html ).
  • A new **Validate** notebook extension, which allows students to validate an assignment notebook from the notebook itself (this is equivalent functionality to the "Validate" button in the Assignment List extension, but without requiring students to be using the Assignment List).
  • A new command `nbgrader db upgrade`, which allows you to migrate your nbgrader database to the latest version without having to manually execute SQL commands.
  • New cells when using the Create Assignment extension will automatically given randomly generated ids, so you don't have to set them yourself.
- You can assign extra credit when using the formgrader.

**Important**: Users updating from 0.4.x to 0.5.0 should be aware that they will need to update their nbgrader database using `nbgrader db upgrade` and will need to reinstall the nbgrader extensions (see http://nbgrader.readthedocs.io/en/latest/user_guide/installation.html ). Additionally, the configuration necessary to use the formgrader with JupyterHub has changed, though it is now much more straightforward (see http://nbgrader.readthedocs.io/en/latest/configuration/jupyterhub_config.html ).

The full list of merged PRs includes:

- PR #789: Fix more inaccurate nbextension test failures after reruns
- PR #788: Fix inaccurate nbextension test failures after reruns
- PR #787: Fix slow API calls
- PR #786: Update documentation for nbgrader as a webapp
- PR #784: Fix race condition in validate extension tests
- PR #782: Implement nbgrader as a webapp
- PR #781: Assign missing notebooks a score of zero and mark as not needing grading
- PR #780: Create a new high-level python API for nbgrader
- PR #779: Update the year!
- PR #778: Create and set permissions for exchange directory when using `nbgrader release`
- PR #774: Add missing config options
- PR #772: Standalone versions of nbgrader assign, autograde, and feedback
- PR #771: Fix mathjax rendering
- PR #770: Better cleanup when nbconvert-based apps crash
- PR #769: Fix nbgrader validate globbing for real this time
- PR #768: Extra credit
- PR #766: Make sure validation works with notebook globs
- PR #764: Migrate database with alembic
- PR #762: More robust saving of the notebook in create assignment tests
- PR #761: Validate assignment extension
- PR #759: Fix nbextension tests
- PR #758: Set random cell ids
- PR #756: Fix deprecations and small bugs
- PR #755: Fast validate
- PR #754: Set correct permissions when submitting assignments
- PR #752: Add some more informative error messages in zip collect
- PR #751: Don't create the gradebook database until formgrader is accessed
- PR #750: Add documentation for how to pass numeric ids
- PR #747: Skip over students with empty submissions
- PR #746: Fix bug with --to in custom exporters
- PR #738: Refactor the filtering of existing submission notebooks for formgrader
- PR #735: Add DataTables functionality to existing formgrade tables
- PR #732: Fix the collecting of submission files for multiple attempts of multiple notebook assignments
- PR #731: Reset late submission penalty before checking if submission is late or not
- PR #717: Update docs regarding solution delimeters
- PR #714: Preserve kernelspec when autograding
- PR #713: Use new exchange functionality in assignment list app
- PR #712: Move exchange functionality into non-application classes
- PR #711: Move some config options into a CourseDirectory object.
- PR #709: Fix formgrader tests link for 0.4.x branch (docs)
- PR #707: Force rerun nbgrader commands
- PR #704: Fix nbextension tests
- PR #701: Set proxy-type=none in phantomjs
- PR #700: use check_call for extension installation in tests
- PR #698: Force phantomjs service to terminate in Linux
- PR #696: Turn the gradebook into a context manager
- PR #695: Use sys.executable when executing nbgrader
- PR #693: Update changelog from 0.4.0
- PR #681: Hide tests in "Autograder tests" cells
- PR #622: Integrate the formgrader into the notebook
- PR #526: Processing of LMS downloaded submission files

Thanks to the following contributors who submitted PRs or reported
issues that were merged/closed for the 0.5.0 release:

- AnotherCodeArtist
- dementrock
- dsblank
- ellisonbg
- embanner
- huwf
- jhamrick
- jilljenn
- lgpage
- minrk
- suchow
- Szepi
- whitead
- ZelphirKaltstahl
- zpincus

Cheers,
Jess

Brian Granger

unread,
Jul 9, 2017, 2:34:22 PM7/9/17
to Jessica B. Hamrick, Project Jupyter, Teaching with Jupyter Notebooks
Jess,

Many congrats on this release, I look forward to using it!

Cheers,

Brian
> --
> You received this message because you are subscribed to the Google Groups
> "Teaching with Jupyter Notebooks" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jupyter-educat...@googlegroups.com.
> To post to this group, send email to jupyter-...@googlegroups.com.
> Visit this group at https://groups.google.com/group/jupyter-education.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jupyter-education/CALUXcBwadwRaBXLQb%2BNiLcbHz4%3DCmuaA5iaJPkaGoTCFeyBHsw%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.



--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgra...@calpoly.edu and elli...@gmail.com

Damián Avila

unread,
Jul 10, 2017, 9:29:04 AM7/10/17
to Brian Granger, Jessica B. Hamrick, Project Jupyter, Teaching with Jupyter Notebooks
Congratulations on the release Jessica (and all the contributors)!

Cheers. 

> email to jupyter-education+unsubscribe@googlegroups.com.
> To post to this group, send email to jupyter-education@googlegroups.com.
--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgra...@calpoly.edu and elli...@gmail.com
--
You received this message because you are subscribed to the Google Groups "Teaching with Jupyter Notebooks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jupyter-education+unsubscribe@googlegroups.com.
To post to this group, send email to jupyter-education@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Damián Avila

Carol Willing

unread,
Jul 10, 2017, 9:53:49 AM7/10/17
to jup...@googlegroups.com, Brian Granger, Jessica B. Hamrick, Teaching with Jupyter Notebooks
Thanks Jess and eveyone involved in this release :D

Warmly,

Carol

You received this message because you are subscribed to the Google Groups "Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jupyter+u...@googlegroups.com.
To post to this group, send email to jup...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/CAH%2BmRR2SRJsHiOxmuFazriMPwrkJrwSwO-CcaN%3De-pia%3Dh-iXA%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages