Command-line autograde assignments don't appear in formgrade web app
See original GitHub issueI’ve been using nbgrader + JupyterHub for an introductory course the past couple of years, and in that time both platforms have seen extensive and backwards-incompatible architectural changes; I think I’ve stumbled upon another one.
Over the past few days, I’ve gone through the process of releasing, collecting, and autograding my first assignment, all via the command line:
nbgrader release A1
nbgrader collect A1
nbgrader autograde A1
However, when I click the “Formgrader” tab, I don’t see any assignments listed. Furthermore, none of my students appear there, either (I manually entered both them and the assignments into the nbgrader_config.py
file at the start of the course). I feel like I may have missed a step in the configuration process.
Operating system
Ubuntu 16.04
nbgrader --version
0.5.4
jupyterhub --version
(if used with JupyterHub)
0.8.1
jupyter notebook --version
5.5.0
Expected behavior
I’d expected to see the assignments (at least the autograded one, after running the aforementioned sequence of command-line options) listed in the formgrader web app.
Actual behavior
No assignments (or students) are listed.
Steps to reproduce the behavior
The nbgrader
commands I listed out before were not done seconds after the other; the assignment was released last week, and I just collected and autograded them this morning (via command-line). Then, intent on fixing some grades manually, I went to the Formgrader tab and discovered it was empty.
Issue Analytics
- State:
- Created 5 years ago
- Comments:7 (2 by maintainers)
Top GitHub Comments
My first thought is what’s going on is that you don’t have the nbgrader root directory properly configured in a way that the notebook server is able to understand. In particular, when you launch the notebook server, it will look for a nbgrader_config.py file in the current directory (or in the default Jupyter config paths, which you can find using
jupyter --paths
). If those nbgrader_config.py file(s) do not specify the config option forc.CourseDirectory.root = '/path/to/your/coursedir'
.This is documented in the JupyterHub config docs (https://nbgrader.readthedocs.io/en/stable/configuration/jupyterhub_config.html) but not for regular usage of nbgrader. There should probably be some instructions to this effect here: https://nbgrader.readthedocs.io/en/stable/user_guide/creating_and_grading_assignments.html#accessing-the-formgrader-extension
Can you try setting the root config and let me know if that fixes the problem?
I can confirm that I just replicated a similar behaviour. On my laptop,
gradebook.db
needs to be in the root of the nbgrader directory (that hassource
,release
, etc) but on the JupyterHub server, it needs to be one directory above that…