Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REVIEW]: multipers: Multiparameter Persistence for Machine Learning #6773

Open
editorialbot opened this issue May 23, 2024 · 65 comments
Open
Assignees
Labels
C++ Cython Python recommend-accept Papers recommended for acceptance in JOSS. review Track: 5 (DSAIS) Data Science, Artificial Intelligence, and Machine Learning

Comments

@editorialbot
Copy link
Collaborator

editorialbot commented May 23, 2024

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

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

Paper file info:

📄 Wordcount for paper.md is 1321

🔴 Failed to discover a Statement of need section in paper

@editorialbot
Copy link
Collaborator Author

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
Copy link
Collaborator Author

License info:

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

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@yossibokorbleile
Copy link

yossibokorbleile commented May 23, 2024

Review checklist for @yossibokorbleile

Conflict of interest

  • 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

  • Repository: Is the source code for this software available at the https://github.com/DavidLapous/multipers?
  • License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • 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?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines
  • 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.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • 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

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

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • 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 functionality of the software can be verified?
  • 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

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • 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?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • 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
Copy link

peekxc commented Jun 6, 2024

Review checklist for @peekxc

Conflict of interest

  • 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

  • Repository: Is the source code for this software available at the https://github.com/DavidLapous/multipers?
  • License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • 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?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines
  • 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.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • 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

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

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • 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 functionality of the software can be verified?
  • 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

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • 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?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • 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?

@RMeli
Copy link

RMeli commented Jun 13, 2024

👋 @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!

@yossibokorbleile
Copy link

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

@RMeli
Copy link

RMeli commented Jun 13, 2024

@yossibokorbleile great, thanks for letting us know!

@RMeli
Copy link

RMeli commented Jul 3, 2024

👋 @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!

@yossibokorbleile
Copy link

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

@RMeli
Copy link

RMeli commented Jul 3, 2024

Thanks for the update @yossibokorbleile!

@peekxc
Copy link

peekxc commented Jul 3, 2024

@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

@yossibokorbleile
Copy link

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

@DavidLapous
Copy link

👋 @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 ?

@RMeli
Copy link

RMeli commented Jul 4, 2024

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.

@yossibokorbleile
Copy link

@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
Copy link

@RMeli @DavidLapous I have created the issue DavidLapous/multipers#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.

@RMeli
Copy link

RMeli commented Jul 16, 2024

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!

@yossibokorbleile
Copy link

Hiiiiiiiii @RMeli

Managed to finish testing what I wanted to test.

@editorialbot
Copy link
Collaborator Author

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

🟡 SKIP 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...

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@RMeli
Copy link

RMeli commented Oct 15, 2024

@DavidLapous while I go through the paper one final time, can you please create a new release and a corresponding archive?

Please also have a look at the DOIs missing above. For PyTorch there is a citation I think; the other items that look like titles of the paper also can be found at leas on arXiv, so a DOI should be added.

@DavidLapous
Copy link

OK, no problem! Thanks for the update @RMeli !

  • For the release, I just need to take care of a pull request, and check that it is stable. I'll do that ASAP.
  • I'll also update the DOIs; do you want me to replace published articles with no DOIs (e.g., NeurIPS papers) with their draft version on arxiv so that they have a DOI?

@RMeli
Copy link

RMeli commented Oct 15, 2024

do you want me to replace published articles with no DOIs (e.g., NeurIPS papers) with their draft version on arxiv so that they have a DOI

Ah, I did not realise these publications had no DOIs for the actual publication. I'll inquire internally, and let you know.

@DavidLapous
Copy link

I just did a new release, archived with zenodo at https://zenodo.org/records/13981409.
@RMeli do you have an update on the DOIs issues ? The references without DOI all seem to be Neurips / JMLR / other publications that don't provide DOIs.

@RMeli
Copy link

RMeli commented Oct 28, 2024

Thanks @DavidLapous!

@RMeli
Copy link

RMeli commented Oct 28, 2024

I asked for the DOIs issue. We can leave the references like that since some conferences don't release them (it's annoying). Some other editors did suggest to switch to the arXive reference/DOI, but it is not necessary.

@RMeli
Copy link

RMeli commented Oct 28, 2024

@editorialbot set v2.2.0 as version

@editorialbot
Copy link
Collaborator Author

Done! version is now v2.2.0

@RMeli
Copy link

RMeli commented Oct 28, 2024

@editorialbot set 10.5281/zenodo.13981409 as archive

@editorialbot
Copy link
Collaborator Author

Done! archive is now 10.5281/zenodo.13981409

@RMeli
Copy link

RMeli commented Oct 28, 2024

@DavidLapous can you pleas

  • change the archive metadata so that the archive title and authors match the the paper?

Thank you.

@DavidLapous
Copy link

Thanks for the update @RMeli! I just updated the archive's metadata title+authors. It should be fine now.

@RMeli
Copy link

RMeli commented Oct 28, 2024

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@RMeli
Copy link

RMeli commented Oct 28, 2024

Looks good @DavidLapous. I left a few final comments on the paper in DavidLapous/multipers#30 and then it is good to go.

@RMeli
Copy link

RMeli commented Oct 30, 2024

@editorialbot recommend-accept

Thank you @DavidLapous for submitting to JOSS. Based on the extensive comments from the reviewers (and my own assessment), I'm happy to recommend this paper for acceptance! The EiC will now perform the final checks. Thank you for engaging so well with the review process.

Thank you very much again @yossibokorbleile and @peekxc for the engaging in the review process!

@editorialbot
Copy link
Collaborator Author

Attempting dry run of processing paper acceptance...

@editorialbot
Copy link
Collaborator Author

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
- 10.1109/MCSE.2010.118 is OK
- 10.1007/978-0-387-09766-4_51 is OK

🟡 SKIP 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...
- No DOI given, and none found for title: Pytest 8.3

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

⚠️ Error preparing paper acceptance. The generated XML metadata file is invalid.

Element doi: [facet 'pattern'] The value '10/gtt7dq' is not accepted by the pattern '10\.[0-9]{4,9}/.{1,200}'.

@RMeli
Copy link

RMeli commented Oct 30, 2024

@DavidLapous using https://doi.org/10/gtt7dq redirects me to https://doi.org/10.1137/22M1489150 Can you please use the latter, which seems to have the expected format for the automated check?

@DavidLapous
Copy link

@DavidLapous using https://doi.org/10/gtt7dq redirects me to https://doi.org/10.1137/22M1489150 Can you please use the latter, which seems to have the expected format for the automated check?

Done in DavidLapous/multipers@69f0ea1.

@RMeli
Copy link

RMeli commented Oct 30, 2024

@editorialbot recommend-accept

@editorialbot
Copy link
Collaborator Author

Attempting dry run of processing paper acceptance...

@editorialbot
Copy link
Collaborator Author

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.1137/22M1489150 is OK
- 10.1109/MCSE.2010.118 is OK
- 10.1007/978-0-387-09766-4_51 is OK

🟡 SKIP 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...
- No DOI given, and none found for title: Pytest 8.3

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

👋 @openjournals/dsais-eics, this paper is ready to be accepted and published.

Check final proof 👉📄 Download article

If the paper PDF and the deposit XML files look good in openjournals/joss-papers#6067, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

@editorialbot editorialbot added the recommend-accept Papers recommended for acceptance in JOSS. label Oct 30, 2024
@DavidLapous
Copy link

If it's not too late, I've updated an old reference (draft to published) in DavidLapous/multipers@1c2fde9.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++ Cython Python recommend-accept Papers recommended for acceptance in JOSS. review Track: 5 (DSAIS) Data Science, Artificial Intelligence, and Machine Learning
Projects
None yet
Development

No branches or pull requests

5 participants