Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REVIEW]: nbgrader: A Tool for Creating and Grading Assignments in the Jupyter Notebook #32

Closed
whedon opened this issue Oct 8, 2018 · 48 comments
Assignees
Labels

Comments

@whedon
Copy link
Collaborator

@whedon whedon commented Oct 8, 2018

Submitting author: @jhamrick (Jessica B. Hamrick)
Repository: https://github.com/jupyter/nbgrader
Version: v0.5.4
Editor: @labarba
Reviewers: @MattForshaw, @jedbrown
Archive: 10.5281/zenodo.2532780

Status

status

Status badge code:

HTML: <a href="http://jose.theoj.org/papers/d86e078cd3990138cc6e630331410d29"><img src="http://jose.theoj.org/papers/d86e078cd3990138cc6e630331410d29/status.svg"></a>
Markdown: [![status](http://jose.theoj.org/papers/d86e078cd3990138cc6e630331410d29/status.svg)](http://jose.theoj.org/papers/d86e078cd3990138cc6e630331410d29)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@MattForshaw, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/jose-reviews/invitations

The reviewer guidelines are available here: https://jose.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @labarba know.

Review checklist for @MattForshaw

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Version: Does the release version given match the GitHub release (v0.5.4)?
  • Authorship: Has the submitting author (@jhamrick) made substantial contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation? (and documentation is sufficient?)
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state the need for this software and who the target audience is?
  • Installation instructions: Is there a clearly stated list of dependencies? (Ideally these should be handled with an automated package management solution.)
  • Example usage: Do the authors include examples of how to use the software?
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state the need for this software and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

Review checklist for @jedbrown

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Version: Does the release version given match the GitHub release (v0.5.4)?
  • Authorship: Has the submitting author (@jhamrick) made substantial contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation? (and documentation is sufficient?)
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state the need for this software and who the target audience is?
  • Installation instructions: Is there a clearly stated list of dependencies? (Ideally these should be handled with an automated package management solution.)
  • Example usage: Do the authors include examples of how to use the software?
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state the need for this software and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
@whedon
Copy link
Collaborator Author

@whedon whedon commented Oct 8, 2018

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @dsblank it looks like you're currently assigned as the reviewer for this paper 🎉.

Important

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/jose-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/jose-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

For a list of things I can do to help you, just type:

@whedon commands
@whedon
Copy link
Collaborator Author

@whedon whedon commented Oct 8, 2018

Attempting PDF compilation. Reticulating splines etc...
@whedon
Copy link
Collaborator Author

@whedon whedon commented Oct 8, 2018

@labarba
Copy link
Member

@labarba labarba commented Oct 8, 2018

👋 @dsblank — Thanks for agreeing to review! Here is where the action happens. You have a review checklist above: feel free to open issues, as needed, in the submission repository, mentioning them here for a link-back. Our Reviewer Guidelines explain what to do, but you can also ask questions here and I'll be glad to help.

@dsblank
Copy link
Collaborator

@dsblank dsblank commented Oct 8, 2018

Unfortunately I cannot review this paper as I am an author. But please add me to the list of willing reviewers!

@labarba
Copy link
Member

@labarba labarba commented Oct 23, 2018

@jedbrown — Would you be able to contribute a review for the nbgrader package? I think you use it already, which should make the review go smoothly…

@jedbrown
Copy link
Member

@jedbrown jedbrown commented Oct 24, 2018

I can review.

@labarba
Copy link
Member

@labarba labarba commented Oct 24, 2018

@whedon add @jedbrown as reviewer

@whedon whedon assigned jedbrown, labarba and MattForshaw and unassigned labarba Oct 24, 2018
@whedon
Copy link
Collaborator Author

@whedon whedon commented Oct 24, 2018

OK, @jedbrown is now a reviewer

@labarba
Copy link
Member

@labarba labarba commented Oct 24, 2018

@whedon start review

@whedon
Copy link
Collaborator Author

@whedon whedon commented Oct 24, 2018

Can't start a review when the review has already started

@labarba
Copy link
Member

@labarba labarba commented Oct 24, 2018

Oops. thought we were in the Pre-Review issue, but no!
I will manually add a review checklist for @jedbrown now.

@labarba
Copy link
Member

@labarba labarba commented Nov 12, 2018

Hi @MattForshaw, @jedbrown👋
Wondering here what your progress might be with this review for JOSE. Thanks!

@jedbrown
Copy link
Member

@jedbrown jedbrown commented Nov 13, 2018

ETA end of this week.

@labarba
Copy link
Member

@labarba labarba commented Nov 18, 2018

@MattForshaw — We've not heard from you about an ETA for this review, but I see you have checked off several items on the review list. Could you update us? Many thanks!

@MattForshaw
Copy link

@MattForshaw MattForshaw commented Nov 19, 2018

Hi @labarba, I've set aside two hours tonight to finish the rest of the checklist for you. Hope this is okay.

@MattForshaw
Copy link

@MattForshaw MattForshaw commented Nov 20, 2018

Hi @labarba, I am very happy to say nbgrader has passed with flying covers. An impressive submission.

@jedbrown
Copy link
Member

@jedbrown jedbrown commented Nov 22, 2018

Is there documentation of the branching scheme? The branch 0.5.x is neither a subset nor superset of master. Most branching schemes would merge one way or the other. Also, the tags are "lightweight" as opposed to "annotated" so git describe fails without the --tags option. Also, the paper is build from master which is not a descendant of v0.5.4.

I filed a couple issues relating to testing. They are not mandatory to address at this time, but I'd like authors to have a chance to respond.

Some references need capitalization help (see PR).

@jhamrick
Copy link

@jhamrick jhamrick commented Dec 6, 2018

@jhamrick
Copy link

@jhamrick jhamrick commented Dec 16, 2018

@jedbrown
Copy link
Member

@jedbrown jedbrown commented Dec 27, 2018

@whedon generate pdf from branch 0.5.x

@whedon
Copy link
Collaborator Author

@whedon whedon commented Dec 27, 2018

Attempting PDF compilation from custom branch 0.5.x. Reticulating splines etc...
@whedon
Copy link
Collaborator Author

@whedon whedon commented Dec 27, 2018

@jedbrown
Copy link
Member

@jedbrown jedbrown commented Dec 27, 2018

Looks good to me. Looks like the housekeeping mainly landed in 'master', but it wasn't essential to the paper anyway. My understanding is that you will tag v0.5.5 on branch '0.5.x' upon acceptance (prior to archival on Zenodo). Regarding authorship, I assume that any listed authors that have not authored commits in the repository have made other significant contributions to the project and that authors of a modest number of commits (such as Auberon Lopez, Lucas Kushner, and Ella Chao) are more appropriate to recognize collectively under Project Jupyter. (I checked the box under this assumption; the core team is certainly among the authors listed for the paper.)

My last nit would be to check capitalization of "notebook" for consistency. (The Jupyter4Edu consensus was that "Jupyter Notebook" refers to the software while "Jupyter notebook" is a notebook.)

@labarba
Copy link
Member

@labarba labarba commented Dec 31, 2018

@jhamrick 👋 ... could you tweak the capitalization of "notebook," like Jed asks? Then we can move to accept this submission!

@jhamrick
Copy link

@jhamrick jhamrick commented Jan 2, 2019

@jhamrick
Copy link

@jhamrick jhamrick commented Jan 2, 2019

Regarding authorship, I assume that any listed authors that have not authored commits in the repository have made other significant contributions to the project and that authors of a modest number of commits (such as Auberon Lopez, Lucas Kushner, and Ella Chao) are more appropriate to recognize collectively under Project Jupyter.

Yes. In determining authorship I reached out to everyone who had made commits to the project and asked who wanted to be included as an author, following the process outlined here: https://github.com/jupyter/governance/blob/master/papers.md#process-for-journal-of-open-source-software-joss

See jupyter/nbgrader#973 for all the discussion on author contributions and the writing of the paper itself.

My last nit would be to check capitalization of "notebook" for consistency. (The Jupyter4Edu consensus was that "Jupyter Notebook" refers to the software while "Jupyter notebook" is a notebook.)

See: jupyter/nbgrader#1057

@jedbrown
Copy link
Member

@jedbrown jedbrown commented Jan 2, 2019

Fantastic process! Thanks.

@labarba
Copy link
Member

@labarba labarba commented Jan 3, 2019

OK! Since we're ready to publish, would you do the merging kung fu that you have planned, then make a Zenodo deposit of the whole repo, and post the DOI here?

jhamrick added a commit to jhamrick/nbgrader that referenced this issue Jan 3, 2019
…Notebook

This makes the capitalization of "Jupyter Notebook" more consistent, as per openjournals/jose-reviews#32 (comment) .

Can one of @willingc @dsblank @lgpage @ellisonbg take a second look just to make sure I didn't make a typo somewhere?

cc @jedbrown
@jhamrick
Copy link

@jhamrick jhamrick commented Jan 6, 2019

Done! Here is the DOI from zenodo: 10.5281/zenodo.2532780

@labarba
Copy link
Member

@labarba labarba commented Jan 6, 2019

@whedon accept

@whedon
Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2019

No archive DOI set. Exiting...

@labarba
Copy link
Member

@labarba labarba commented Jan 6, 2019

@whedon set 10.5281/zenodo.2532780 as archive

@whedon
Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2019

OK. 10.5281/zenodo.2532780 is the archive.

@labarba
Copy link
Member

@labarba labarba commented Jan 6, 2019

@whedon accept

@whedon
Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2019

Attempting dry run of processing paper acceptance...
@whedon
Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2019

Check final proof 👉 openjournals/jose-papers#20

If the paper PDF and Crossref deposit XML look good in openjournals/jose-papers#20, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true
@labarba labarba added the accepted label Jan 6, 2019
@labarba
Copy link
Member

@labarba labarba commented Jan 6, 2019

@whedon accept deposit=true

@whedon
Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2019

Doing it live! Attempting automated processing of paper acceptance...
@whedon
Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2019

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSE! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 openjournals/jose-papers#21
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/jose.00032
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? notify your editorial technical team...

@labarba
Copy link
Member

@labarba labarba commented Jan 6, 2019

Congratulations, everyone!
This iconic JOSE paper is now published.

Huge thanks to @MattForshaw and @jedbrown for their review:
https://twitter.com/LorenaABarba/status/1082023133681463296

@labarba labarba closed this Jan 6, 2019
@whedon
Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2019

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](https://jose.theoj.org/papers/10.21105/jose.00032/status.svg)](https://doi.org/10.21105/jose.00032)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/jose.00032">
  <img src="https://jose.theoj.org/papers/10.21105/jose.00032/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://jose.theoj.org/papers/10.21105/jose.00032/status.svg
   :target: https://doi.org/10.21105/jose.00032

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Education is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

@jhamrick
Copy link

@jhamrick jhamrick commented Jan 6, 2019

Fantastic, thanks so much @labarba @jedbrown and @MattForshaw !!!

@suchow
Copy link

@suchow suchow commented Jan 7, 2019

Congrats, @jhamrick!

@willingc
Copy link

@willingc willingc commented Jan 8, 2019

Thanks everyone for getting this done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
8 participants
You can’t perform that action at this time.