Open editorialbot opened 8 months ago
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
Software report:
github.com/AlDanial/cloc v 1.88 T=0.09 s (944.6 files/s, 147697.3 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 55 2017 3360 5125
Jupyter Notebook 4 0 884 497
Markdown 10 149 0 324
YAML 2 16 18 149
SVG 2 18 0 136
reStructuredText 5 44 73 75
DOS Batch 1 8 1 26
TeX 1 1 0 21
make 1 4 6 10
HTML 1 1 0 9
TOML 1 2 1 3
-------------------------------------------------------------------------------
SUM: 83 2260 4343 6375
-------------------------------------------------------------------------------
gitinspector failed to run statistical information for the repository
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.21105/joss.02338 is OK
MISSING DOIs
- 10.1109/access.2020.2990567 may be a valid DOI for title: pymoo: Multi-Objective Optimization in Python
INVALID DOIs
- None
Wordcount for paper.md
is 492
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Note: The documentation can be found here.
@SchmJo could you check on the missing DOI (see above)? Thank you
@SchmJo, I've carried out as much of the check-list review as possible but have unfortunately encountered a couple of Python ImportError
's and raised issues in the iwopy
issue tracker (here and here) for these. Unfortunately, until these are resolved, I am unable to verify the functionality, performance, and automated tests.
The remainder of my review is as follows below.
Many thanks, Ben
I think the repository and paper conform to the JOSS review criteria and recommend it for publication. However, I have a few points, itemised below, which I would like to see addressed.
What the repository lacks in citations, it makes up for in its length of commit history and number of lines of code. The repository's nature means that, once published in the JOSS, I believe that its use will continue to expand. I am therefore happy that the repository/paper meet the requirements for substantial scholarly effort, albeit without satisfying each of the criteria.
Comments as below:
README.md
file or in the documentation.ImportError
/ModuleNotFoundError
has occurred, and install the dependencies from there. Whilst this is to be expected of code under-development, I believe that, without documentation (whether in the README.md
or managed through a package manager), the current iwopy
package is not user friendly as it does not contain "a clearly-stated list of dependencies."
05/06/24: Recent changes to the documentation of iwopy
make the dependencies required to run the software and examples clear.editorialbot
has highlighted a missing DOI for pymoo
. Other than this, I believe that the reference section should be expanded. Including the State of the field section would provide scope for additional references, so I am not greatly concerned as the length of the reference list will naturally increase.Thank you very much @BenWinchester . @SchmJo : Please update us about your reactions to the comments by @BenWinchester
@SchmJo : Could you please update us regarding your answers to the reviewer's comments? If the review process takes so long it might be more difficult for the reviewers, so it would be great if you could let us know your status.
Hi all, thanks for reviewing and thanks for the issues!
I hope that I will be able to address them until mid February. As far as I see it, the issues were due to dependencies on pymoo and pygmo that were needed for the tests, but are optional for the main package. I will improve this, and go through your comments soon.
...and sorry for the delay on my side!
Thanks for the update @SchmJo
@SchmJo : Are there any updates from your side?
Yes, I solved the two issues that were posted by the reviewers. Waiting for feedback before closing one of them: #12
Hi @SchmJo and @fraukewiese ,
Following the advice within issue #12 of the iwopy
repository, I installed the dependencies and can confirm that the software runs as described. However, whilst this means that I have crossed off the functionality-related requirements, there are still
README.md
, repository folder etc., which means that I don't believe, in its current form, the repository contains "a clearly-stated list of dependencies." Any of the above methods (README.md
, inclusion in the requirements.txt
, etc.) would all suffice, so I believe this isn't a major issue, but thought I'd flag so it's kept track of :smiley:@BenWinchester Concerning the deps:
setup.cfg
fileREADME.md
and here in the documentationpip install -e .[test]
, which installs these dependenciesIs this insufficient? If you insist, I can make it a general dependency, even though this somewhat breaks the intention of iwopy to not install all packages automatically for which it provides interfaces. Thanks for further feedback
@SchmJo , thanks for getting back to me :smile:
I think there isn't really a "best" way to deal with this dependency. I may be interpreting this wrong (sorry if so!) but it seems as though, iwopy
, as a package, works to wrap around other optimisation tools, so it's dependent on them. If it's nicer to have it not install these dependencies (so users can choose their own optimisation packages to install?), then they probably don't need to be automatic. However, there's the check-list comment that needs addressing:
[ ] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
I think, at the minute, listing the dependencies in the setup.cfg
as installed only for testing isn't sufficient for a user to run the code. E.G., for someone to run the examples (as I did: they're great fun!), they need to run the code, get the error message, realise that they should install the packages manually, and then all will be well.
This doesn't seem neat enough to me to fulfil the "clearly-stated list" requirement. They could maybe go in the README.md
, or, if that breaks the idea that the packages can be selected independently from iwopy
, perhaps they could go at the top of each example in the documentation? Something like "to run these examples, you'll need to have pygmo
installed. You can run pip install pygmo
" or something similar? There's nothing in the checkbox (as far as I can read) that says the process needs to be automatic, just that it needs to be clearly-stated :smiley:
@SchmJo : Are there any updates from your side?
I am not sure I understand the issue with the not explicitly mentioned dependencies - it is a setup.cfg
-type package. For me it is not nice to explicitly state the dependencies again as pip install ...
at several places, since this is redundant and harder to maintain. What is your opinion, @fraukewiese ? Is pip install .[test]
really insufficient for the user, before running tests?
@SchmJo , happy to leave this to @fraukewiese . Just to be clear though, my issue is that, to run the code, i.e., to run any of the examples in the documentation (which are great fun!), you need these dependencies installed, and there's currently no guidance for this: a user only finds out when the error message is displayed to them. One of the options I mentioned, which doesn't seem to tricky to implement (as it just requires an update to the source code behind the examples documentation—no changes are needed to the source code of the package), is having a message at the top of the examples with some short instructions:
Something like "to run these examples, you'll need to have pygmo installed. You can run pip install pygmo" or something similar? There's nothing in the checkbox (as far as I can read) that says the process needs to be automatic, just that it needs to be clearly-stated 😃
Please also let me know when you've had a chance to check off the other items in the review and I'll take a look at the repository again :smile:
@BenWinchester Ok, thanks! I agree such an addition to the examples is a good way out of this. I will add such a sentence to the notebooks.
@SchmJo : Could you update us on the status regarding the issues raised by @BenWinchester ? Thank you :)
@fraukewiese I am on it - my prognosis is end of May (I have vacation time ahead). Hoping that is ok? Sorry for all these delays along the way!
@BenWinchester I made the following updates, thanks for checking:
opt
, which will always list all featured third-party optimization packeges (currently pygmo and pymoo). This is explained here in the documentationpygmo
and pymoo
, as requestedtest
in setup.cfg
I hope this is helpful and can bring this process forward - thanks again for reviewing!
@SchmJo Thanks for the updates.
@BenWinchester : Are you satisfied regarding the changes made by @SchmJo ? Thank you very much :)
@BenWinchester I made the following updates, thanks for checking:
- The community is invited here in the documentation to contribute, and here in the README
- The setup.cfg file now contains an option for extra dependencies called
opt
, which will always list all featured third-party optimization packeges (currently pygmo and pymoo). This is explained here in the documentation- The examples section of the documentation explicitly states the dependency on
pygmo
andpymoo
, as requested- Also the testing section of the documentation now mentions the extra dependencies, which are installed by the extra dependency option
test
insetup.cfg
- Explanation: The author "Bernhard Stoevesandt" appears as an author in the role of a "last-author" of the paper. He is my boss and has not written any line of code for this project, but was involved in strategic planing and money aquisition for making it possible. If wanted, I can take him off the author list, not a problem - please just let me know.
I hope this is helpful and can bring this process forward - thanks again for reviewing!
@fraukewiese , apologies for the delay in getting back to you—I'm currently travelling with limited internet access/speed! @SchmJo , thank you for taking the time to go through and address some of the issues raised:
README.md
file), there could be steps saying that issues can be opened or that users should contact you directly at some email address?The only other outstanding comments from me are all about the content of the paper, not the repo. Has this been updated?
@editorialbot generate pdf
@BenWinchester : Thanks a lot for your thorough continued review :)
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@SchmJo : I think @BenWinchester has described the conditions for being mentioned as a co-author very well. So I think it is on your and your potential co-authors side to decide whether Bernhard Stoevesandt has contributed more than purely financial or organisational contributions.
@SchmJo : Please notify @BenWinchester and me as soon as you have updated the content of the paper, according to the points raised above by @BenWinchester Thank you :)
Submitting author: !--author-handle-->@SchmJo<!--end-author-handle-- (Jonas Schmidt) Repository: https://github.com/FraunhoferIWES/iwopy Branch with paper.md (empty if default branch): paper Version: v0.1.5 Editor: !--editor-->@fraukewiese<!--end-editor-- Reviewers: @BenWinchester, @StewMH Archive: Pending
Status
Status badge code:
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
@BenWinchester & @StewMH, 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:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @fraukewiese 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 @BenWinchester
📝 Checklist for @StewMH