openjournals / joss-reviews

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

[REVIEW]: mpnum: A matrix product representation library for Python #465

Closed whedon closed 6 years ago

whedon commented 6 years ago

Submitting author: @dseuss (Daniel Suess) Repository: https://github.com/dseuss/mpnum Version: v1.0.0 Editor: @labarba Reviewer: @SylvainCorlay Archive: 10.5281/zenodo.1115574

Status

status

Status badge code:

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

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

@SylvainCorlay, 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: http://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @labarba know.

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

whedon commented 6 years ago

Hello human, I'm @whedon. I'm here to help you with some common editorial tasks. @SylvainCorlay 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 as 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
labarba commented 6 years ago

Hi @SylvainCorlay — ping! Gentle reminder here about the review for JOSS. You can start on it, and report any issues you encounter right here (or post issues on the repo of the submitted software). Cheers!

dsuess commented 6 years ago

After the submission, we noted a compatibility bug in the setup.py that prevents v1.0.0 to be installed with Python2. Could we bump the refereed version to v1.0.1.

labarba commented 6 years ago

I don't see a problem with that, @dseuss—thanks for the update.

SylvainCorlay commented 6 years ago

After the submission, we noted a compatibility bug in the setup.py that prevents v1.0.0 to be installed with Python2. Could we bump the refereed version to v1.0.1.

Same here.

dsuess commented 6 years ago

Same here.

Does that mean 1.0.1 doesn't work for you either?

SylvainCorlay commented 6 years ago

Does that mean 1.0.1 doesn't work for you either?

Absolutely! Pardon my brevity.

SylvainCorlay commented 6 years ago

Note: I checked the box regarding the matched version. I don't know if it matters that the generated issue specifies 1.0.0

SylvainCorlay commented 6 years ago

As I am going through the checklist:

  • [ ] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

I found that there is a DOI for the reference Enabling High-Dimensional Hierarchical Uncertainty Quantification by ANOVA and Tensor-Train Decomposition.

  • [ ] 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.

Very minor: on this point, a "contributing" section in the readme could be added (simply linking to the relevant section of the documentation).

  • [ ] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?

For some reason, I had to install hdf5 to be able to run the tests. The test_requires specify h5py, which probably requires some installation of hdf5. It seems that the test requirements won't use wheels.

dsuess commented 6 years ago

@SylvainCorlay Thanks for the feedback.

I found that there is a DOI for the reference Enabling High-Dimensional Hierarchical Uncertainty Quantification by ANOVA and Tensor-Train Decomposition.

Added DOI and updated arXiv references for another paper in a3aaaf5

Very minor: on this point, a "contributing" section in the readme could be added (simply linking to the relevant section of the documentation).

Done.

For some reason, I had to install hdf5 to be able to run the tests. The test_requires specify h5py, which probably requires some installation of hdf5. It seems that the test requirements won't use wheels.

Right, I recalled that we had to manually install test dependencies on travis for that reason. I have added a note to the README as well as to the documentation. (The latter should appear once readthedocs renders the new version)

SylvainCorlay commented 6 years ago

I could install, run the tests, and the example notebook. The whole process was straightforward. The need for the package is properly justified and prior work appropriately cited. Documentation includes both high-level narrative documentation introducing the package and an API reference generated from the doc strings (although a few items are left as todo).

1) Quick note about the example notebook: I find it extremely useful and detailed. A link to the notebook is provided in the documentation, but the rendered notebook itself could probably be included as-is in the documentation. A good tool to achieve this is to use the nbsphinx sphinx extension.

Quick note: it is a requirement for most linux distributions (e.g. Debian) for the doc package to be self-contained, so using nbsphinx for including the notebook in sphinx would help with that.

Minor suggestion: the notebook could include some visuals from the narrative documentation about the graphical notation, and how it translate with a simple code example, before diving into more advanced examples.

3) About the narrative documentation: the matrix product state representation of a state comes without context. The rest of the paragraph is more self-explanatory but I think that this is domain-specific, and is probably not necessary for introducing MPS and MPO.

labarba commented 6 years ago

@SylvainCorlay : I see that all boxes are checked. Can you confirm that you recommend acceptance now?

dsuess commented 6 years ago

Thanks a lot @SylvainCorlay for the helpful comments. We already implemented remark 1 on the master branch in the repo. We will address the other remarks shortly after fixing some slight mistakes in some images.

@labarba I would move the v1.0.1 tag to a different commit in the repo once we incorporate all the fixes. Since all the fixes are in the documentation, this does not affect the version on PyPi. Would that be okay with you?

SylvainCorlay commented 6 years ago

@SylvainCorlay : I see that all boxes are checked. Can you confirm that you recommend acceptance now?

Yes, this is excellent. I recommend the paper for acceptance. I will also definitely watch this repository, and future development!

labarba commented 6 years ago

Yay! @dseuss —We'll now need you to deposit the final release on an archival host like figshare or Zenodo, and report here the DOI. Then @arfon will press the buttons to publish!

dsuess commented 6 years ago

I have uploaded the final version v1.0.2 with the DOI 10.5281/zenodo.1115574. We have updated the refereed version according to the suggestions of the referee:

We also migrated all the figures from Inkscape to LaTeX/TikZ and fixed some notation errors.

labarba commented 6 years ago

@whedon set 10.5281/zenodo.1115574 as archive

whedon commented 6 years ago

OK. 10.5281/zenodo.1115574 is the archive.

labarba commented 6 years ago

@whedon generate pdf

whedon commented 6 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 6 years ago
https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
labarba commented 6 years ago

@arfon On to you to push the accept button!

dsuess commented 6 years ago

Could we wait for another hour? I just noticed that the bibliography in the PDF is everything but consistent. I'll try to fix this now.

dsuess commented 6 years ago

@whedon generate pdf

whedon commented 6 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 6 years ago
https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
dsuess commented 6 years ago

OK, now I am happy with it as well. Just cleaned up the names in the references, removed unnecessary fields from the bib file, and fixed citations of the Oseledets paper, which gave ??? in the old version.

Thanks a lot to @labarba and @SylvainCorlay

milan-hl commented 6 years ago

@whedon generate pdf

whedon commented 6 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 6 years ago
https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
milan-hl commented 6 years ago

@whedon generate pdf

whedon commented 6 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 6 years ago
https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
milan-hl commented 6 years ago

I slightly adapted the spelling of one of the references. I'm looking forward to the paper being published. Thanks everyone!

arfon commented 6 years ago

@SylvainCorlay - many thanks for your review here and to @labarba for editing this submission ✨

@dseuss - your submission is now accepted into JOSS and your DOI is https://doi.org/10.21105/joss.00465 ⚡️ 🚀 💥

whedon commented 6 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 snippet:

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

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 volunteering to review for us sometime in the future. You can add your name to the reviewer list here: http://joss.theoj.org/reviewer-signup.html