openjournals / joss-reviews

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

[REVIEW]: Kepler Mapper: A flexible Python implementation of the Mapper algorithm. #1315

Closed whedon closed 5 years ago

whedon commented 5 years ago

Submitting author: @sauln (Nathaniel Saul) Repository: https://github.com/scikit-tda/kepler-mapper Version: 1.3.3 Editor: @leouieda Reviewer: @ixjlyons, @lmcinnes Archive: 10.5281/zenodo.3485851

Status

status

Status badge code:

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

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

@ixjlyons & @lmcinnes, 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 @leouieda know.

Please try and complete your review in the next two weeks

Review checklist for @ixjlyons

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Review checklist for @lmcinnes

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. @ixjlyons, 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
whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

PDF failed to compile for issue #1315 with the following error:

/app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/author.rb:58:in block in build_affiliation_string': Problem with affiliations for Sam Mangham, perhaps the affiliations index need quoting? (RuntimeError) from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/author.rb:57:ineach' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/author.rb:57:in build_affiliation_string' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/author.rb:17:ininitialize' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:109:in new' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:109:inblock in parse_authors' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:106:in each' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:106:inparse_authors' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:73:in initialize' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/processor.rb:32:innew' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/processor.rb:32:in set_paper' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/bin/whedon:55:inprepare' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/command.rb:27:in run' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:ininvoke_command' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor.rb:387:in dispatch' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/base.rb:466:instart' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/bin/whedon:116:in <top (required)>' from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:inload' from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:in `

'

leouieda commented 5 years ago

@lmcinnes and @ixjlyons please read the reviewer guidelines (if you haven't already) and fill out the review checklist. If you open any issues or PRs in the software repository, please add openjournals/joss-reviews#1315 to the description so we can keep track of the process.

Please feel free to ping me at any time :bellhop_bell:

leouieda commented 5 years ago

@whedon generate pdf from branch joss

whedon commented 5 years ago
Attempting PDF compilation from custom branch joss. Reticulating splines etc...
whedon commented 5 years ago

PDF failed to compile for issue #1315 with the following error:

ORCID looks to be the wrong length /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:91:in block in check_orcids': Problem with ORCID (XXXX-XXXX-XXXX-XXX) for Hendrik Jacob van Veen (RuntimeError) from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:89:ineach' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:89:in check_orcids' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:70:ininitialize' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/processor.rb:32:in new' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/processor.rb:32:inset_paper' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/bin/whedon:55:in prepare' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/command.rb:27:inrun' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor.rb:387:indispatch' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/base.rb:466:in start' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/bin/whedon:116:in<top (required)>' from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:in load' from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:in

'

leouieda commented 5 years ago

Sorry, didn't see the paper on the master branch.

sauln commented 5 years ago

That's great, I didn't know Whedon could generate from a branch. 👯‍♂️

leouieda commented 5 years ago

Whedon is getting better and better :robot:

leouieda commented 5 years ago

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

leouieda commented 5 years ago

@sauln one more fix to the paper formatting and we should be good to go (scikit-tda/kepler-mapper#155)

leouieda commented 5 years ago

@whedon generate pdf

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

PDF failed to compile for issue #1315 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 13 0 13 0 0 130 0 --:--:-- --:--:-- --:--:-- 131 Error producing PDF. ! Argument of \caption@ydblarg has an extra }.

\par l.327 Breast Cancer Dataset}} Looks like we failed to compile the PDF
sauln commented 5 years ago

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

leouieda commented 5 years ago

:wave: @ixjlyons @lmcinnes just a gentle reminder in case this fell through the cracks. Please let me know when you have a chance to start going through this submission.

lmcinnes commented 5 years ago

I can start working on it next week once I have SciPy2019 commitments out of the way.

ixjlyons commented 5 years ago

@leouieda Apologies, I hadn't forgotten about this but it got pushed around a bit. I started my review and I'll allocate some time this weekend to finish up the first pass.

ixjlyons commented 5 years ago

My review:

The purpose of Kepler Mapper is clear from the docs and paper, and it appears to me to fulfill that purpose. I appreciate the background page of the docs as well as the applications page. The tutorials take the documentation above and beyond a reference for library usage and look nice overall. The code seems to be structured sensibly and it looks like the library is quite flexible/extensible. The paper is clear and concise.

I think the examples page could use a little work. As it is now, there isn't really any information about the examples and there isn't really a connection to the source code. Something like sphinx-gallery would work well, especially if you could serve and link to the interactive HTML interface. Some information about the examples themselves would also be helpful, such as a description of the dataset and maybe some insight Mapper provides.

There are mutable default arguments in a handful of places. I didn't check thoroughly, but it appears to me that those objects are used in such a way that there shouldn't be a problem, and it may be totally intentional. I just wanted to bring it up to make sure the potential pitfalls were considered and avoided.

Some minor things I noticed that didn't seem to warrant their own issues:

Overall, Kepler Mapper appears to be in great shape. I recommend accepting.

leouieda commented 5 years ago

@ixjlyons thank you for your review and suggestions :clap:

@sauln I see you've opened issues for the points raised by @ixjlyons (thank you for doing that). Please try to address these points, in particular the use of mutable defaults. This is a dangerous pitfall in Python that lead to extremely hard to catch bugs (I speak from experience).

sauln commented 5 years ago

@leouieda, will do. It'll probably take a week or two to finish up everything. I'll ping you once the changes have been made.

I've definitely been there too with the mutable defaults pitfall.

leouieda commented 5 years ago

:wave: Hi @lmcinnes, sorry to bug you again but please let us know when you have some time for the review.

lmcinnes commented 5 years ago

Sorry for being so slow. Once I got the time this went very quickly because everything was mostly very well laid out and easy to test and check. I agree with @ixjlyons that a sphinx-gallery style approach to the examples might be nice (and hopefully not that hard to set up).

You can also add DOIs for a few of the references. Carlssons paper is hDOI: 10.1090/S0273-0979-09-01249-X, and Edelsbrunner is DOI: 10.1007/978-3-540-33259-6_7.

Other than that it all meets the requirements and looks good to me.

leouieda commented 5 years ago

@lmcinnes thank you for your feedback!

@sauln both reviews are very positive and there only a few minor things that need to be implemented. Please let us know when you've had time to implement the suggestions of both reviewers. To make it easier to track, here is a checklist (feel free to tick things off as you go):

Take your time with these and please let us know if you want any clarifications or further input.

sauln commented 5 years ago

Thank you @leouieda, @lmcinnes, and @ixjlyons for taking the time to edit and review. The feedback is encouraging and we are working on each of the changes that have been suggested.

@leouieda, the past few weeks have been crazy for me, but I am working on the examples and mutable defaults currently. I hope to finish up within the next 2 weeks.

I've created the checklist here, as github won't let me check your boxes.

leouieda commented 5 years ago

Hi @sauln no problem, take your time. I'll ask whedon to remind you in two weeks for an update just to keep us in the loop.

leouieda commented 5 years ago

@whedon remind @sauln in 2 weeks

whedon commented 5 years ago

Reminder set for @sauln in 2 weeks

whedon commented 5 years ago

:wave: @sauln, please update us on how things are progressing here.

leouieda commented 5 years ago

Hi @sauln let me know if you need more time. I can set another reminder.

sauln commented 5 years ago

At least another week. I have a draft of the sphinx-gallery working but it needs a little more work before completion.

I've been convinced about the mutable defaults. I think the best way will be to go with cover=None and then add the default rather than choosing a set of strings.

leouieda commented 5 years ago

@sauln no problem, take your time. I'll set a reminder just so we don't forget to check in.

leouieda commented 5 years ago

@whedon remind @sauln in 10 days

whedon commented 5 years ago

Reminder set for @sauln in 10 days

whedon commented 5 years ago

:wave: @sauln, please update us on how things are progressing here.

leouieda commented 5 years ago

@whedon remind @sauln in 10 days

whedon commented 5 years ago

Reminder set for @sauln in 10 days

whedon commented 5 years ago

:wave: @sauln, please update us on how things are progressing here.

leouieda commented 5 years ago

Hi @sauln, any updates on you progress? Please let me know if you need some more time or have any questions/concerns.

leouieda commented 5 years ago

@whedon remind @sauln in 10 days

whedon commented 5 years ago

Reminder set for @sauln in 10 days

whedon commented 5 years ago

:wave: @sauln, please update us on how things are progressing here.

sauln commented 5 years ago

woah! sorry for stringing you along all this time, but it's done @leouieda! The mutable default arguments are now removed and we have a basic gallery set up to showcase examples.

leouieda commented 5 years ago

Hi @sauln no problem, this has been a crazy month for me as well. I'll have a final look at the submission as soon as I get back from travel next week.

labarba commented 5 years ago

Hi everybody! What's the status of this review? I see no progress in the last month. Could you give us all a status update?