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

Closed
editorialbot opened this issue May 23, 2024 · 97 comments
Closed
Assignees
Labels
accepted C++ Cython published Papers published in JOSS 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.1
Editor: @RMeli
Reviewers: @yossibokorbleile, @peekxc
Archive: 10.5281/zenodo.14042221

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.

@RMeli
Copy link

RMeli commented Nov 6, 2024

@editorialbot set 10.5281/zenodo.14042221 as archive

@editorialbot
Copy link
Collaborator Author

Done! archive is now 10.5281/zenodo.14042221

@RMeli
Copy link

RMeli commented Nov 6, 2024

@editorialbot set v2.2.1 as version

@editorialbot
Copy link
Collaborator Author

Done! version is now v2.2.1

@RMeli
Copy link

RMeli commented Nov 6, 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 Optimization of Multiparamet...
- 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#6093, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

@crvernon
Copy link

crvernon commented Nov 8, 2024

@editorialbot generate pdf

🔍 checking out the following:

  • reviewer checklists are completed or addressed
  • version set
  • archive set
  • archive names (including order) and title in archive matches those specified in the paper
  • archive uses the same license as the repo and is OSI approved as open source
  • archive DOI and version match or redirect to those set by editor in review thread
  • paper is error free - grammar and typos
  • paper is error free - test links in the paper and bib
  • paper is error free - refs preserve capitalization where necessary
  • paper is error free - no invalid refs without justification

@editorialbot
Copy link
Collaborator Author

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

@crvernon
Copy link

crvernon commented Nov 12, 2024

👋 @DavidLapous - I just need you to address the following before I can move to accept this one for publication.

In the archive:

  • Please ensure the license specified in your Zenodo archive is the same as what you specify for your codebase in your repository.

In the paper:

  • LINE 35: "...Barcodes (Botnan et al., 2022) (Oudot & Scoccola, 2024),..." should appear as "...Barcodes (Botnan et al., 2022; Oudot & Scoccola, 2024),..." where the in-text citations are separated by a semicolon. Take a look at other JOSS published works if you are unfamiliar with how to structure this in text when referencing your bib records.
  • LINE 77: "...(Scoccola & Rolle, 2023) (Rolle & Scoccola, 2020)." should appear as "...(Scoccola & Rolle, 2023; Rolle & Scoccola, 2020)." where the in-text citations are separated by a semicolon.

Let me know when you have addressed these. Thank you!

@DavidLapous
Copy link

👋 @crvernon, thanks for taking a look at this paper and your comments;

I have fixed the citation issues in DavidLapous/multipers@2452c84 and a figure reference issue in DavidLapous/multipers@64edbf7.
I also fixed the license mismatch in the current zenodo archive, thank you for noticing it.

@crvernon
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

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

@crvernon
Copy link

@editorialbot accept

@editorialbot
Copy link
Collaborator Author

Doing it live! Attempting automated processing of paper acceptance...

@editorialbot
Copy link
Collaborator Author

Ensure proper citation by uploading a plain text CITATION.cff file to the default branch of your repository.

If using GitHub, a Cite this repository menu will appear in the About section, containing both APA and BibTeX formats. When exported to Zotero using a browser plugin, Zotero will automatically create an entry using the information contained in the .cff file.

You can copy the contents for your CITATION.cff file here:

CITATION.cff

cff-version: "1.2.0"
authors:
- family-names: Loiseaux
  given-names: David
- family-names: Schreiber
  given-names: Hannah
doi: 10.5281/zenodo.14042221
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Loiseaux
    given-names: David
  - family-names: Schreiber
    given-names: Hannah
  date-published: 2024-11-13
  doi: 10.21105/joss.06773
  issn: 2475-9066
  issue: 103
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6773
  title: "multipers : Multiparameter Persistence for Machine Learning"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06773"
  volume: 9
title: "`multipers` : Multiparameter Persistence for Machine Learning"

If the repository is not hosted on GitHub, a .cff file can still be uploaded to set your preferred citation. Users will be able to manually copy and paste the citation.

Find more information on .cff files here and here.

@editorialbot
Copy link
Collaborator Author

🐘🐘🐘 👉 Toot for this paper 👈 🐘🐘🐘

@editorialbot
Copy link
Collaborator Author

🦋🦋🦋 👉 Bluesky post for this paper 👈 🦋🦋🦋

@editorialbot
Copy link
Collaborator Author

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 Creating pull request for 10.21105.joss.06773 joss-papers#6134
  2. Wait five minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.06773
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? Notify your editorial technical team...

@editorialbot editorialbot added accepted published Papers published in JOSS labels Nov 14, 2024
@crvernon
Copy link

@DavidLapous one last thing...please remove the formatting around the title of your paper. Otherwise, it will display as <code>multipers</code> : Multiparameter Persistence for Machine Learning in JOSS. Once you do this, I'll reaccept. Just let me know here when it is done. Thanks!

@DavidLapous
Copy link

@crvernon: this is fixed in DavidLapous/multipers@b81acc5. Sorry for this, I wasn't aware that this could cause an issue.

@crvernon
Copy link

@editorialbot reaccept

@editorialbot
Copy link
Collaborator Author

Rebuilding paper!

@editorialbot
Copy link
Collaborator Author

🌈 Paper updated!

New PDF and metadata files 👉 openjournals/joss-papers#6140

@crvernon
Copy link

🥳 Congratulations on your new publication @DavidLapous! Many thanks to @RMeli for editing and @yossibokorbleile and @peekxc for your time, hard work, and expertise!! JOSS wouldn't be able to function nor succeed without your efforts.

Please consider becoming a reviewer for JOSS if you are not already: https://reviewers.joss.theoj.org/join

@editorialbot
Copy link
Collaborator Author

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following

code snippets

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

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.06773">
  <img src="https://joss.theoj.org/papers/10.21105/joss.06773/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.06773/status.svg
   :target: https://doi.org/10.21105/joss.06773

This is how it will look in your documentation:

DOI

We need your help!

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted C++ Cython published Papers published in JOSS 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

6 participants