openjournals / joss-reviews

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

[PRE REVIEW]: PySLSQP: A transparent Python package for the SLSQP optimization algorithm modernized with utilities for visualization and post-processing #7138

Closed editorialbot closed 1 month ago

editorialbot commented 2 months ago

Submitting author: !--author-handle-->@anugrahjo<!--end-author-handle-- (Anugrah Jo Joshy) Repository: https://github.com/anugrahjo/PySLSQP Branch with paper.md (empty if default branch): Version: v0.1.0 Editor: !--editor-->@prashjha<!--end-editor-- Reviewers: @hariharanragothaman, @saaikrishnan Managing EiC: Daniel S. Katz

Status

status

Status badge code:

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

Author instructions

Thanks for submitting your paper to JOSS @anugrahjo. Currently, there isn't a JOSS editor assigned to your paper.

@anugrahjo if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). You can search the list of people that have already agreed to review and may be suitable for this submission.

Editor instructions

The JOSS submission bot @editorialbot is here to help you find and assign reviewers and start the main review. To find out what @editorialbot can do for you type:

@editorialbot commands
editorialbot commented 2 months ago

Hello human, 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 commented 2 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

βœ… OK DOIs

- None

🟑 SKIP DOIs

- No DOI given, and none found for title: A software package for sequential quadratic progra...
- No DOI given, and none found for title: The NLopt nonlinear-optimization package
- No DOI given, and none found for title: A MODular development environment and library for ...

❌ MISSING DOIs

- 10.1145/192115.192124 may be a valid DOI for title: Algorithm 733: TOMP–Fortran modules for optimal co...

❌ INVALID DOIs

- https://doi.org/10.1137/S0036144504446096 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1038/s41592-019-0686-2 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.21105/joss.02564 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1007/s00158-011-0666-3 is INVALID because of 'https://doi.org/' prefix
editorialbot commented 2 months ago

:warning: An error happened when generating the pdf. Problem with ORCID (0000-0000-0000-0000) for Anugrah Joshy. Invalid ORCID.

editorialbot commented 2 months ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.04 s (1141.3 files/s, 207485.6 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          14            405            817           1604
Fortran 77                       1            384            691           1115
Markdown                        14            191              0            812
YAML                             5             58            105            247
TeX                              2             10              0             96
Jupyter Notebook                 2              0           1021             75
TOML                             1              8             13             65
Meson                            2              8              3             34
DOS Batch                        1              8              1             26
make                             1              4              7              9
-------------------------------------------------------------------------------
SUM:                            43           1076           2658           4083
-------------------------------------------------------------------------------

Commit count by author:

    28  anugrahjo
editorialbot commented 2 months ago

Paper file info:

πŸ“„ Wordcount for paper.md is 2707

βœ… The paper includes a Statement of need section

editorialbot commented 2 months ago

License info:

βœ… License found: BSD 3-Clause "New" or "Revised" License (Valid open source OSI approved license)

danielskatz commented 2 months ago

πŸ‘‹ @anugrahjo - note that your paper does not compile. Please follow the example paper and note that you can click on the error above to find out more about it. (In this case, you have an invalid DOI. If there is no DOI for an author, remove the DOI line.) In addition, you could work on the possibly missing DOI that editorialbot suggests, but note that it may be incorrect, as well as fixing the DOIs with the extra prefix. Please feel free to make changes to your .bib file, then use the command @editorialbot check references to check again, and the command @editorialbot generate pdf after making changes to the .md file or when the references are right to make a new PDF. editorialbot commands need to be the first entry in a new comment.

Also, your paper is 2700 words long, and JOSS papers are intended to be 250-1000 words, so you will have to substantially cut your paper. Again, see the example paper and the JOSS documentation for what a JOSS paper should be.

Finally, looking at the code itself, it appears the Fortran code here is not an original contribution, but the Python code is. Is this correct?

anugrahjo commented 2 months ago

@editorialbot commands

editorialbot commented 2 months ago

Hello @anugrahjo, here are the things you can ask me to do:


# List all available commands
@editorialbot commands

# Get a list of all editors's GitHub handles
@editorialbot list editors

# Adds a checklist for the reviewer using this command
@editorialbot generate my checklist

# Set a value for branch
@editorialbot set joss-paper as branch

# Run checks and provide information on the repository and the paper file
@editorialbot check repository

# Check the references of the paper for missing DOIs
@editorialbot check references

# Generates the pdf paper
@editorialbot generate pdf

# Generates a LaTeX preprint file
@editorialbot generate preprint

# Get a link to the complete list of reviewers
@editorialbot list reviewers
anugrahjo commented 2 months ago

@editorialbot generate pdf

editorialbot commented 2 months ago

:warning: An error happened when generating the pdf.

anugrahjo commented 2 months ago

@editorialbot generate pdf

editorialbot commented 2 months ago

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

editorialbot commented 2 months ago

Five most similar historical JOSS papers:

PyCUTEst: an open source Python package of optimization test problems Submitting author: @jfowkes Handling editor: @diehlpk (Active) Reviewers: @stsievert, @jonjoncardoso Similarity score: 0.7378

BayesO: A Bayesian optimization framework in Python Submitting author: @jungtaekkim Handling editor: @drvinceknight (Active) Reviewers: @salrm8, @thomaspinder Similarity score: 0.7277

Enlsip.jl: A Julia optimization package to solve constrained nonlinear least-squares problems Submitting author: @pierre-borie Handling editor: @jbytecode (Active) Reviewers: @tmigot, @odunbar Similarity score: 0.7243

FitBenchmarking: an open source Python package comparing data fitting software Submitting author: @tyronerees Handling editor: @dhhagan (Retired) Reviewers: @johnsamuelwrites, @djmitche Similarity score: 0.7240

PySensors: A Python package for sparse sensor placement Submitting author: @briandesilva Handling editor: @pdebuyl (Active) Reviewers: @jordanperr, @tuelwer Similarity score: 0.7224

⚠️ Note to editors: If these papers look like they might be a good match, click through to the review issue for that paper and invite one or more of the authors before considering asking the reviewers of these papers to review again for JOSS.

anugrahjo commented 2 months ago

πŸ‘‹ @danielskatz Thank you for the feedback. I have made the changes to the references and the paper compiles now.

Sorry about the length of the paper. One of the JOSS papers in our list of references was of similar length so we thought the 250-1000 word length was a suggestion. We can reduce the length if necessary.

Regarding the code contribution, yes, the Python code is the main contribution and the build workflows for autogenerating the precompiled binaries for the wrapped Fortran code. The Fortran code for SLSQP itself is open-source and in our case, it is sourced from the SciPy repository but is also available from many other sources.

danielskatz commented 2 months ago

Paper length is one of many things in JOSS that has gotten stricter over time...

Please let me know when you have a shorter paper. I'll mark this as paused for now.

danielskatz commented 2 months ago

@editorialbot check references

editorialbot commented 2 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

βœ… OK DOIs

- 10.1145/192115.192124 is OK
- 10.1137/S0036144504446096 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.21105/joss.02564 is OK
- 10.1007/s00158-011-0666-3 is OK

🟑 SKIP DOIs

- No DOI given, and none found for title: A software package for sequential quadratic progra...
- No DOI given, and none found for title: The NLopt nonlinear-optimization package
- No DOI given, and none found for title: A MODular development environment and library for ...

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None
danielskatz commented 2 months ago

@editorialbot check repository

this command includes checking the length of the paper

editorialbot commented 2 months ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.04 s (1167.3 files/s, 212233.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          14            405            817           1604
Fortran 77                       1            384            691           1115
Markdown                        14            191              0            812
YAML                             5             58            105            247
TeX                              2             10              0             97
Jupyter Notebook                 2              0           1021             75
TOML                             1              8             13             65
Meson                            2              8              3             34
DOS Batch                        1              8              1             26
make                             1              4              7              9
-------------------------------------------------------------------------------
SUM:                            43           1076           2658           4084
-------------------------------------------------------------------------------

Commit count by author:

    30  anugrahjo
editorialbot commented 2 months ago

Paper file info:

πŸ“„ Wordcount for paper.md is 2707

βœ… The paper includes a Statement of need section

editorialbot commented 2 months ago

License info:

βœ… License found: BSD 3-Clause "New" or "Revised" License (Valid open source OSI approved license)

danielskatz commented 2 months ago

@anugrahjo - before you do any extra work (on shortening the paper), I'm going to ask the JOSS editors to take a look at this for scope, since the commit history here and in https://github.com/anugrahjo/PySLSQP_alpha just goes back about 3 months. There should be a decision on this in a week or two.

danielskatz commented 2 months ago

@editorialbot query scope

editorialbot commented 2 months ago

Submission flagged for editorial review.

anugrahjo commented 2 months ago

@danielskatz - I want to let you know that even the PySLSQP_alpha repository was created only after the software reached a reasonably stable working state. There is an earlier private repository that predates PySLSQP_alpha, as well as weeks of local development prior to the creation of the initial repository.

anugrahjo commented 2 months ago

@editorialbot generate preprint

editorialbot commented 2 months ago

:page_facing_up: Preprint file created: Find it here in the Artifacts list :page_facing_up:

danielskatz commented 2 months ago

@danielskatz - I want to let you know that even the PySLSQP_alpha repository was created only after the software reached a reasonably stable working state. There is an earlier private repository that predates PySLSQP_alpha, as well as weeks of local development prior to the creation of the initial repository.

Can you provide information about that repo, since as the number of commits and the period in which they were made?

anugrahjo commented 2 months ago

@danielskatz - Sure. It's a private repository located at https://github.com/anugrahjo/python-slsqp. The first commit there was on March 20 and the last one on May 12. There were 27 commits there and those commits were made mainly to test the workflows as the development was mostly local even then.

danielskatz commented 2 months ago

Thanks - We'll take that into account

anugrahjo commented 2 months ago

Thank you.

danielskatz commented 1 month ago

@anugrahjo - This submission has passed our scope review. I'll next look for an editor

danielskatz commented 1 month ago

πŸ‘‹ @faroit - Would you be willing to edit this submission? I see you are at your maximum, but have at least one submission that is basically done.

danielskatz commented 1 month ago

@editorialbot invite @faroit as editor

editorialbot commented 1 month ago

Invitation to edit this submission sent!

anugrahjo commented 1 month ago

@danielskatz That's great! Thanks for the update.

faroit commented 1 month ago

@danielskatz I have capacity but this submission is out of my domain

danielskatz commented 1 month ago

πŸ‘‹ @prashjha - Would you be willing to edit this submission?

danielskatz commented 1 month ago

@editorialbot invite @prashjha as editor

editorialbot commented 1 month ago

Invitation to edit this submission sent!

prashjha commented 1 month ago

@danielskatz happy to edit this submission!

prashjha commented 1 month ago

@editorialbot assign me as editor

editorialbot commented 1 month ago

Assigned! @prashjha is now the editor

prashjha commented 1 month ago

Hi @anugrahjo, could you please look at the JOSS reviewer database and suggest a few names who can review your submission?

anugrahjo commented 1 month ago

Hi @prashjha, sure. Below are some potential reviewers (ordered according to the relevance of our submission to their topic areas): bbrelje, jbussemaker, andim, zhaowei0566, bleyerj, e-dub, benoitpaillard, kylebeggs, athulpg007

hariharanragothaman commented 1 month ago
  1. @anugrahjo - I would like to participate and review this paper.
  2. Can I get assigned to review this please? Thanks in advance.
saaikrishnan commented 1 month ago

@anugrahjo - Can I please get assigned to review this ? Thank you in advance.

anugrahjo commented 1 month ago

@prashjha - Could you check and assign the reviewers? Thanks.

hariharanragothaman commented 1 month ago

@prashjha - Just following up on this request. Could I get assigned to review this please?