openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
714 stars 38 forks source link

[REVIEW]: Hasasia: A Python package for Pulsar Timing Array Sensitivity Curves #1775

Closed whedon closed 4 years ago

whedon commented 5 years ago

Submitting author: @Hazboun6 (Jeffrey Hazboun) Repository: https://github.com/Hazboun6/hasasia Version: v1.0.0 Editor: @arfon Reviewer: @cmbiwer, @matteobachetti Archive: 10.5281/zenodo.3516463

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/d99d7655bd5704ab951157a14df227af"><img src="https://joss.theoj.org/papers/d99d7655bd5704ab951157a14df227af/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/d99d7655bd5704ab951157a14df227af/status.svg)](https://joss.theoj.org/papers/d99d7655bd5704ab951157a14df227af)

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) by leaving comments 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

@cmbiwer & @matteobachetti, 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/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @arfon know.

Please try and complete your review in the next two weeks

Review checklist for @cmbiwer

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Review checklist for @matteobachetti

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

whedon commented 5 years ago

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @cmbiwer, @matteobachetti it looks like you're currently assigned to review this paper :tada:.

:star: Important :star:

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-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/joss-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

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf
whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

:point_right: Check article proof :page_facing_up: :point_left:

arfon commented 5 years ago

@cmbiwer, @matteobachetti - please carry out your review in this issue by updating the checklist above and giving feedback in this issue. The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html

Any questions/concerns please let me know.

matteobachetti commented 5 years ago

Overall, a very useful software package, well documented. I'm not done with the review, but I can start putting down some thoughts as I go through the checklist.

matteobachetti commented 5 years ago
Screenshot 2019-10-01 at 18 03 48

Coverage is not bad. There are quite a few seemingly important lines left untested in sensitivity.py, including many of the methods in the Spectrum and Sensitivity classes. Even though I wouldn't block the publication based on that, I recommend to cover at least the ones you think users will rely the most on :).

matteobachetti commented 5 years ago

Bottom line of my review: this is good code and deserves publication on JOSS. Before publication, I suggest to fix and improve the references as reported above (fix the broken one, add Astropy 2018 and a review on PTAs), and add some community/code of conduct guidelines to the repository.

As a further suggestion, it would be good to improve the test coverage, covering at least all important classes /methods that people will rely the most on.

Hazboun6 commented 5 years ago

@matteobachetti thanks for the quick/thorough review! I really like the real time refereeing. I assume it's kosher for me to do some real time fixes?

One question. For community guidelines, the docs have this standard template blurb about contributing. Is the issue that it's buried in the docs, i.e. that I should make it more front and center, or that I should expand on what's in there?

matteobachetti commented 5 years ago

Sorry for the confusion. The issue is not the contribution guideline, which you do have also in the CONTRIBUTING.rst file. I meant something like https://www.astropy.org/code_of_conduct.html, more about the quality of interaction in the community than how to technically do things. Some templates can also be found at https://help.github.com/en/articles/adding-a-code-of-conduct-to-your-project

Hazboun6 commented 5 years ago

I see. Thanks for the explanation and links @matteobachetti . That was very easy and I'm excited to include a Code of Conduct in the documents. I also went through and added a number of test for the code. I'm up to 87% coverage now. I've also added a few references and changed the astropy ref.

cmbiwer commented 5 years ago

I will be able to take a thorough look after Friday afternoon, if that timeline is alright.

cmbiwer commented 5 years ago

A Python package for building sensitivity curves for PTAs is presented. Overall, I believe the submission is suitable for publication in JOSS with minor comments to address. Going through the documentation, I found it to be readable and the functionality promised is presented. I do not believe any of these should prevent publication but that addressing them would strengthen the submission.

I outline my notes below for the authors:

Hazboun6 commented 5 years ago

Thanks @cmbiwer for the detailed review! That Deprecation error appeared in the Python 3.6 and 3.7 builds on Travis, but I never saw them locally. The r""" did in fact fix things. I've fixed most of the points above. Regarding the last two points, the newer version of the manuscript mentions the pickled NANOGrav sensitivity curves and includes two references to PTA reviews.

Hazboun6 commented 4 years ago

@arfon What are the next steps at this point?

arfon commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

arfon commented 4 years ago

@Hazboun6 - At this point could you make a new release of this software that includes the changes that have resulted from this review. Then, please make an archive of the software in Zenodo/figshare/other service and update this thread with the DOI of the archive? For the Zenodo/figshare archive, please make sure that:

I can then move forward with accepting the submission.

Hazboun6 commented 4 years ago

@arfon I'm just getting to this now. When you refer to the authors of the archive, do you mean the authors listed, for instance in an Authors.rst? Or am I missing something in Zenodo where one would list the authors?

arfon commented 4 years ago

@Hazboun6 - Zenodo will attempt to fill out the author list based on the Git commit history. This is often not accurate so we ask that you make sure the Zenodo archive authors are the same as the authors on the paper.

Hazboun6 commented 4 years ago

Alright, I think we are all set. Here is the badge for Zenodo DOI. I added a .zenodo.json so that the metadata file would reflect the authors of this paper. Please let me know what else you'll need me to do. Thanks!

arfon commented 4 years ago

@whedon set 10.5281/zenodo.3516463 as archive

whedon commented 4 years ago

OK. 10.5281/zenodo.3516463 is the archive.

arfon commented 4 years ago

@whedon accept

whedon commented 4 years ago
Attempting dry run of processing paper acceptance...
whedon commented 4 years ago

OK DOIs

- 10.3847/1538-3881/aabc4f is OK
- 10.1007/s00159-019-0115-7 is OK
- 10.1093/nsr/nwx126 is OK

MISSING DOIs

- None

INVALID DOIs

- None
whedon commented 4 years ago

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/1042

If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/1042, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true
arfon commented 4 years ago

@whedon accept deposit=true

whedon commented 4 years ago
Doing it live! Attempting automated processing of paper acceptance...
whedon commented 4 years ago

🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦

whedon commented 4 years ago

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

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited :point_right: https://github.com/openjournals/joss-papers/pull/1043
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01775
  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...

arfon commented 4 years ago

Looks like the DOI isn't resolving yet. I'll hold off closing this thread until that's working properly...

arfon commented 4 years ago

@cmbiwer, @matteobachetti - many thanks for your reviews here ✨

@Hazboun6 - your paper is now accepted into JOSS :zap::rocket::boom:

whedon commented 4 years ago

:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:

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

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

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

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.01775/status.svg
   :target: https://doi.org/10.21105/joss.01775

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software 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: