Joss-reviews: [REVIEW]: Missingno: a missing data visualization suite

Created on 26 Jan 2018  路  70Comments  路  Source: openjournals/joss-reviews

Submitting author: @ResidentMario (Aleksey Bilogur)
Repository: https://github.com/ResidentMario/missingno
Version: 0.4.0
Editor: @Kevin-Mattheus-Moerman
Reviewer: @rhiever
Archive: 10.5281/zenodo.1184723

Status

status

Status badge code:

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

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

REVIEWER 1

@rhiever, 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.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @Kevin-Mattheus-Moerman know.

### Conflict of interest

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] 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 (0.4.0)?
  • [x] Authorship: Has the submitting author (@ResidentMario) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [ ] Functionality: Have the functional claims of the software been confirmed?
  • [x] 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

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [ ] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [x] 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

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

REVIEWER 2

@zkamvar, 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.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @Kevin-Mattheus-Moerman know.

### Conflict of interest

Code of Conduct

General checks

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

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] 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

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [x] 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

  • [x] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
accepted published recommend-accept review

Most helpful comment

@ResidentMario, my blockers have been resolved 馃憤

The only recommendation I have left would be to name the packages explicitly in text with the citation, for which I've created a PR.

All 70 comments

Hello human, I'm @whedon. I'm here to help you with some common editorial tasks. @rhiever it looks like you're currently assigned as the reviewer for 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
Attempting PDF compilation. Reticulating splines etc...
PDF failed to compile for issue #547 with the following error: 

   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100    15    0    15    0     0     90      0 --:--:-- --:--:-- --:--:--    90
Could not find bibliography file: paper.bib
Error running filter pandoc-citeproc:
Filter returned error status 1
Looks like we failed to compile the PDF

@whedon assign @rhiever as reviewer

OK, the reviewer is @rhiever

@rhiever and @zkamvar thank you for acting as reviewers! 馃殌

There are two sets of tick boxes at the top of this issue, one for each of you. If you have minor comments to the author feel free to make them here. For bigger issues you may want to open an issue on this projects repository which you can refer to here in the review issue.
Let me know if you have any questions. Also let me know if you are unable to tick the boxes.

@whedon assign @zkamvar as reviewer

OK, the reviewer is @zkamvar

@whedon assign @rhiever as reviewer

OK, the reviewer is @rhiever

Apologies for the messages. The system is a bit rusty for multiple reviewers.

@ResidentMario I've opened an issue about expanding your paper here. Let me know if you have questions.

Plan to get to this review on Monday, when I've set some time aside to get through several reviews.

@Kevin-Mattheus-Moerman Quick question: the review instructions cite version 0.3.7, but the package is currently at version 0.3.8. What's the fix?

@zkamvar Can you link me to the R package you cited here? I've lost my reference to it and want to add it to the references per this comment.

Hi @ResidentMario, The citation for the package (which includes the reference for the missingno function) is here: https://peerj.com/articles/281/, though I think it would be better to cite the SciPy packages you import (I'll open an issue for this).

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...
https://github.com/openjournals/joss-papers/blob/joss.00547/joss.00547/10.21105.joss.00547.pdf

@ResidentMario @zkamvar @rhiever
馃摉 The paper now renders as a PDF. I've started commenting and providing recommendations on the paper in this issue. Feel free to join there in relation to purely the paper.

I have opened an issue (https://github.com/ResidentMario/missingno/issues/45) regarding the inclusion of example data internal to the package.

I have opened an issue (https://github.com/ResidentMario/missingno/issues/46) regarding tests on non-visualization functions.

@arfon the author (@ResidentMario) asked

Quick question: the review instructions cite version 0.3.7, but the package is currently at version 0.3.8. What's the fix?

Can you help update the version listed or can the user or I do this ourselves?

Question for @Kevin-Mattheus-Moerman: When I'm finished with the review, would you like me to give a brief summary of my assessment (e.g.: https://github.com/openjournals/joss-reviews/issues/514#issuecomment-357365641)?

@zkamvar yes that would be good thank you.

@ResidentMario, this is a fantastic package. It is straightforward enough that I was able to use it for my own data without much effort 馃槂馃憤. The documentation is clear and the examples are wonderful for showing the utility of the package. Because of a lack of tests (though this is partially explained in the CONTRIBUTING.md file), and citations to relevant python software, I would recommend this for acceptance with minor revisions.

Good points

  • easy to install with pip
  • built on top of existing, trusted packages
  • easy to use
  • clearly documented

Blockers

  • [x] no tests for testable functions (https://github.com/ResidentMario/missingno/issues/46)
  • [x] paper needs citations to relevant packages (https://github.com/ResidentMario/missingno/issues/44)

Good to have

  • [x] a small example data set packaged with missingno for quick demonstration and testing. (https://github.com/ResidentMario/missingno/issues/45)


My Python setup (3.4.4)

Python 3.4.4 |Anaconda custom (x86_64)| (default, Jan  9 2016, 17:30:09)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Thank you for the great package, @ResidentMario. I was able to run and verify most of the examples from the README and can clearly see the utility of this package for my own work. Based on my evaluation of the package, I recommend several minor revisions as listed below.

Good points

  • easy installation via pip
  • clean, useful plots right out of the box
  • good documentation and examples
  • minimal dependencies, and the dependencies are commonly-used packages

Blockers

Agree with @zkamvar's blockers. Adding my own:

  • [x] Create a development branch on the repo (https://github.com/ResidentMario/missingno/issues/48)
  • [x] Add grid lines to the heatmap for interpretability (https://github.com/ResidentMario/missingno/issues/50)
  • [x] Fix / address heatmap reproducibility bug (https://github.com/ResidentMario/missingno/issues/51)
  • [x] Fix / address issues with geoplot function not working (https://github.com/ResidentMario/missingno/issues/59)
  • [x] Address geoplot function imports (https://github.com/ResidentMario/missingno/issues/60)

Good to have

Strong 馃憤 on @zkamvar's suggestion of having a small example dataset for the examples. I might even elevate that issue to a Blocker.

  • [x] Unit tests for dataviz functions (idea: https://github.com/ResidentMario/missingno/issues/47)
  • [x] Add more useful badges to the repo (https://github.com/ResidentMario/missingno/issues/49)
  • [x] Sort out whether shapely and descartes are actually optional dependencies (https://github.com/ResidentMario/missingno/issues/52)
  • [x] Change inline parameter default to False (https://github.com/ResidentMario/missingno/issues/53)
  • [x] Shorten and refine the README and create separate docs pages (https://github.com/ResidentMario/missingno/issues/54)
  • [x] Move __version__ variable out of the main source file (https://github.com/ResidentMario/missingno/issues/55)
  • [x] Break up helper functions and plotting functions into separate files (https://github.com/ResidentMario/missingno/issues/56)
  • [x] Decide on usage of ' and " (https://github.com/ResidentMario/missingno/issues/57)
  • [x] Clean up code comments (https://github.com/ResidentMario/missingno/issues/58)
  • [ ] Add continuous integration + testing (https://github.com/ResidentMario/missingno/issues/61)
  • [ ] Add test coverage and code quality trackers (https://github.com/ResidentMario/missingno/issues/62)

My Python setup (3.6.4):

Python 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 12:04:33) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.

@zkamvar @rhiever I've addressed the bulk of your code comments. You should take a look at the library again (open new issues etcetera), as it's changed significantly in the process.

My current plan is to finish up the library work that was uncovered in the review process and publish a 0.4.0 version with the changes. I'll finish up the remaining comments on the paper last.

@ResidentMario about:

My current plan is to finish up the library work that was uncovered in the review process and publish a 0.4.0 version with the changes.

Sounds good. I recommend minting this new version once we are good to accept. That way the paper/DOI will also point to your latest version and it wont be behind on any final edits.

@zkamvar @rhiever has @ResidentMario addressed your comments sufficiently?

I've checked off the items on my list that have been addressed.

@rhiever thanks for the update. Also thanks for the very thorough review! 馃

Hi! Yes, @ResidentMario has addressed my comments 馃槂.

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...
https://github.com/openjournals/joss-papers/blob/joss.00547/joss.00547/10.21105.joss.00547.pdf

I believe the other remaining non-paper issues have been addressed. I've finished tweaking the paper to my understanding of it, but:

  • It's been a long time since I've used BibTeX so I'm not sure I've got the citations formatted right. Is it SOP that they aren't showing up in the pre-render whedon is generating?
  • Maybe including examples of all of the plots is too much for the paper, lengthwise. missingno#43

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...
https://github.com/openjournals/joss-papers/blob/joss.00547/joss.00547/10.21105.joss.00547.pdf

@ResidentMario your .bib file looks good. It just looks like you are not citing the articles in the paper. You cite them like this for instance:
[@pandas]

D'oh. OK, let me fix that...

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

Meant to note here that all of my blockers have been resolved, so this paper has my 馃憤.

@Kevin-Mattheus-Moerman I've made the corrections to the paper in missingno#43. I've also pushed the new version, 0.4.0 to PyPi. The version under review should be updated to 0.4.0, but I'm not sure how to do that. Let me know if there's anything else that needs doing (cc @zkamvar: the paper references have been resolved).

@ResidentMario, my blockers have been resolved 馃憤

The only recommendation I have left would be to name the packages explicitly in text with the citation, for which I've created a PR.

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@arfon can you help with this:

The version under review should be updated to 0.4.0, but I'm not sure how to do that.

@ResidentMario can you work on @zkamvar 's PR, seems like a good suggestion.

Done. :heavy_check_mark:

@arfon can you help with this

馃憤 done

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@ResidentMario looks like we are good to proceed. 馃殌

Can you please make the DOI of the reviewed software available? That way we can continue to process acceptance of this submission.

the DOI of the reviewed software available

Apologies---what do you mean by this? A little unclear to me. :)

Basically you have to archive your work on a repository with a DOI.

See here: http://joss.theoj.org/about#author_guidelines

Upon successful completion of the review, deposit a copy of your (updated) repository with a data-archiving service such as Zenodo or figshare, issue a DOI for the archive, and update the review issue thread with your DOI.

I use Zenodo (but other services like figshare can be used as well) and these steps: https://guides.github.com/activities/citable-code/

Once you have a DOI link paste it here. Let me know if you need help.

@ResidentMario how are you doing? Have you been able to archive the reviewed software in a service like Zenodo (again these steps are handy: https://guides.github.com/activities/citable-code/). One you provide the archived version DOI we can move on to the next steps.

@rhiever @zkamvar to wrap things up would you be able to tick the remaining boxes at the top of this issue?

Two of my non-blockers have yet to be addressed (still unchecked), but I approve the paper/package regardless.

@Kevin-Mattheus-Moerman Sorry, that this took a bit to get around to. Here it is:

Here's the DOI badge: DOI

Great thanks. @arfon over to you

@whedon set 10.5281/zenodo.1184723 as archive

OK. 10.5281/zenodo.1184723 is the archive.

@rhiever - many thanks for your review here and to @Kevin-Mattheus-Moerman for editing this submission.

@ResidentMario - your paper is now accepted into JOSS and your DOI is https://doi.org/10.21105/joss.00547 鈿★笍:rocket: :boom:

: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 snippet:

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

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:

@zkamvar thank you also for your review!

Was this page helpful?
0 / 5 - 0 ratings