joss-reviews icon indicating copy to clipboard operation
joss-reviews copied to clipboard

[REVIEW]: multipers: Multiparameter Persistence for Machine Learning

Open editorialbot opened this issue 1 year ago • 20 comments

Submitting author: @DavidLapous (David Loiseaux) Repository: https://github.com/DavidLapous/multipers Branch with paper.md (empty if default branch): Version: v2.0.0 Editor: @RMeli Reviewers: @yossibokorbleile, @peekxc Archive: Pending

Status

status

Status badge code:

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

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

@yossibokorbleile & @peekxc, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

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

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Checklists

📝 Checklist for @yossibokorbleile

📝 Checklist for @peekxc

editorialbot avatar May 23 '24 18:05 editorialbot

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

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

@editorialbot commands

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

@editorialbot generate pdf

editorialbot avatar May 23 '24 18:05 editorialbot

Software report:

github.com/AlDanial/cloc v 1.90  T=0.21 s (952.8 files/s, 310802.3 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C/C++ Header                   115           5232           6255          33181
Python                          46           1352           1993           7552
Cython                          13            295            609           1455
Jupyter Notebook                13              0           5445            929
TeX                              1             22              0            320
YAML                             2             12             31            146
Markdown                         2             40              0            127
reStructuredText                 3             54             74             42
JSON                             1              0              0             30
TOML                             1              1              0             14
make                             1              6              7             10
Bourne Shell                     2              0              0              9
-------------------------------------------------------------------------------
SUM:                           200           7014          14414          43815
-------------------------------------------------------------------------------

Commit count by author:

   154	David Loiseaux
    46	DavidLapous

editorialbot avatar May 23 '24 18:05 editorialbot

Paper file info:

📄 Wordcount for paper.md is 1321

🔴 Failed to discover a Statement of need section in paper

editorialbot avatar May 23 '24 18:05 editorialbot

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.48550/arXiv.2203.14289 is OK
- 10.21105/joss.05022 is OK
- 10.1137/20M1353605 is OK
- 10.48550/arxiv.2303.14040 is OK
- 10.1137/1.9781611977561.ch3 is OK
- 10.1137/1.9781611977912.173 is OK
- 10.1007/978-3-662-44199-2_28 is OK
- 10.48550/arXiv.2206.02026 is OK
- 10.1137/1.9781611976472.16 is OK
- 10.48550/arXiv.2005.09048 is OK
- 10.48550/arXiv.1512.00180 is OK
- 10.4230/LIPIcs.SoCG.2022.19 is OK
- 10/gtt7dq is OK

MISSING DOIs

- No DOI given, and none found for title: GRIL: A \2\-Parameter Persistence Based Vectorizat...
- No DOI given, and none found for title: GUDHI
- No DOI given, and none found for title: A Framework for Fast and Stable Representations of...
- No DOI given, and none found for title: Multiparameter Persistence Landscapes
- No DOI given, and none found for title: POT: Python Optimal Transport
- No DOI given, and none found for title: Kernel Operations on the GPU, with Autodiff, witho...
- No DOI given, and none found for title: PyTorch: An Imperative Style, High-Performance Dee...
- No DOI given, and none found for title: Stable Vectorization of Multiparameter Persistent ...
- No DOI given, and none found for title: Scikit-Learn: Machine Learning in Python
- No DOI given, and none found for title: Differentiability and Convergence of Filtration Le...

INVALID DOIs

- None

editorialbot avatar May 23 '24 18:05 editorialbot

License info:

✅ License found: MIT License (Valid open source OSI approved license)

editorialbot avatar May 23 '24 18:05 editorialbot

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

editorialbot avatar May 23 '24 18:05 editorialbot

Review checklist for @yossibokorbleile

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the https://github.com/DavidLapous/multipers?
  • [x] License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@DavidLapous) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines
  • [x] Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • [x] Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • [x] Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

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 functionality 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] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [x] A statement of need: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

yossibokorbleile avatar May 23 '24 20:05 yossibokorbleile

Review checklist for @peekxc

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the https://github.com/DavidLapous/multipers?
  • [x] License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@DavidLapous) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines
  • [x] Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • [x] Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • [x] Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

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 functionality 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] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [x] A statement of need: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

peekxc avatar Jun 06 '24 15:06 peekxc

👋 @DavidLapous, @peekxc, and @yossibokorbleile

I hope everything is going well. Could you all provide a short few sentences/bullet points on how things are going with this review?

Thanks and keep up the great work!

RMeli avatar Jun 13 '24 07:06 RMeli

@RMeli 👋👋👋

I am little behind where I had hoped to be, but it's going well. I am on holidays until July 1, and am aiming to finish the review by July 15.

yossibokorbleile avatar Jun 13 '24 10:06 yossibokorbleile

@yossibokorbleile great, thanks for letting us know!

RMeli avatar Jun 13 '24 11:06 RMeli

👋 @DavidLapous, @peekxc, and @yossibokorbleile

I hope your review is processing well. Could you all provide a short few sentences on how things are going and if there are any blockers?

Many thanks!

RMeli avatar Jul 03 '24 11:07 RMeli

@RMeli its going well! I just need to finish testing the installation and functionality, and read the documentation.

yossibokorbleile avatar Jul 03 '24 12:07 yossibokorbleile

Thanks for the update @yossibokorbleile!

RMeli avatar Jul 03 '24 20:07 RMeli

@RMeli I am also working on reviewing the docs and running the software. Unfortunately, the dependencies for this project are quite extensive; I currently cannot obtain a valid dependency resolution for the package

peekxc avatar Jul 03 '24 20:07 peekxc

@RMeli I can second what @peekxc has said, resolving the dependencies is not an easy task, and I haven't succeeded yet.

yossibokorbleile avatar Jul 04 '24 05:07 yossibokorbleile

👋 @RMeli @peekxc @yossibokorbleile Thanks for taking the time to review this!

I'm curious of what's failing on your end for the installation. If you're not using windows (which is not supported, cf DavidLapous/multipers#6), a pip install multipers tqdm matplotlib with python>=3.10 should pass all the tests, and notebooks parts that do not require external libraries. There was also very recently a major numpy upgrade (which was unlocked with Gudhi 3.10 in the dependencies), for which I need to make a release, with recompiled binaries (cf. DavidLapous/multipers@bca4ac3). I'll do that in a minute.

Could you open an issue / email me if you still have an issue there ?

DavidLapous avatar Jul 04 '24 07:07 DavidLapous

Hi all, thank you very much for all the updates. @peekxc and @yossibokorbleile, please do open issues in the repository (and please link this issue) if you encounter issues so that @DavidLapous can track them and take care of them. I'll also have a look at the installation procedure.

RMeli avatar Jul 04 '24 08:07 RMeli

@RMeli @DavidLapous I have managed to get multipers installed now using pip (still unsure what the initial issue was, but a fresh environment sorted it all out). I will leave checking compilation from source to @peekxc

yossibokorbleile avatar Jul 05 '24 08:07 yossibokorbleile

@RMeli @DavidLapous I have created the issue https://github.com/DavidLapous/multipers/issues/13 which is about Mac M1/M2/... support. I can test the functionality on a Linux environment, but this will delay the day I can finish this review by.

yossibokorbleile avatar Jul 05 '24 08:07 yossibokorbleile

I have managed to get multipers installed now using pip (still unsure what the initial issue was, but a fresh environment sorted it all out).

I'm glad this worked out in the end!

RMeli avatar Jul 16 '24 20:07 RMeli

Hiiiiiiiii @RMeli

Managed to finish testing what I wanted to test.

yossibokorbleile avatar Aug 05 '24 11:08 yossibokorbleile

Thank you for the update and for completing the checklist @yossibokorbleile.

@peekxc how are things going with your review? Please let me know if I can be of any help.

RMeli avatar Aug 05 '24 20:08 RMeli

Hi @peekxc, I hope you are well. How are things going with this review? Would you mind sharing a few lines describing the progress?

Many thanks.

RMeli avatar Aug 23 '24 09:08 RMeli

Hi @peekxc, I haven't heard from you in a long while. How is the review going? Is there any problem preventing you to continue/complete the review? Please let me know if this is the case, so that we can proceed accordingly. Many thanks.

RMeli avatar Sep 11 '24 18:09 RMeli

Hey @RMeli, sorry I've been a bit busy of late. I spent a couple hours this morning and have managed to reproduce the notebooks and look a bit more through the package. I'm filling some additional issues now that I think should be met before proceeding.

peekxc avatar Sep 15 '24 14:09 peekxc

Thank you for the update @peekxc.

RMeli avatar Sep 17 '24 14:09 RMeli

Hi @peekxc and @DavidLapous, how is this progressing?

RMeli avatar Sep 23 '24 20:09 RMeli

Hey @RMeli,
@peekxc found some issues that I will fix in the next release (DavidLapous/multipers#18 and DavidLapous/multipers#19) they involve the documentation website, so I cannot update this now (to match the current version). We currently are merging some Gudhi upstream files, which require some testing for a proper stable release. Edit: Commit DavidLapous/multipers@1f4a76f1a74b526cb2dcbae2400249ef49c35a9b should have fixed both issues.

DavidLapous avatar Sep 24 '24 08:09 DavidLapous

The latest release should have fixed these issues. I've also updated the website accordingly. I've also put the repo on zenodo; with the DOI: DOI

DavidLapous avatar Sep 27 '24 09:09 DavidLapous