Closed editorialbot closed 6 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=6.64 s (12.1 files/s, 11022.2 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
JSON 12 0 0 55254
Python 25 1716 1395 11457
Markdown 12 120 0 438
YAML 6 36 46 254
reStructuredText 18 172 225 175
TOML 1 20 1 159
TeX 1 15 0 157
Jupyter Notebook 2 0 1231 141
CSS 1 21 44 63
HTML 2 0 0 28
-------------------------------------------------------------------------------
SUM: 80 2100 2942 68126
-------------------------------------------------------------------------------
gitinspector failed to run statistical information for the repository
Wordcount for paper.md
is 720
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1016/j.commatsci.2012.10.028 is OK
- 10.1021/j100135a014 is OK
- 10.1515/9783111167213 is OK
- 10.1021/acsomega.3c00395 is OK
- 10.1038/s41597-023-02477-5 is OK
- 10.1021/jacs.2c11908 is OK
- 10.1021/acs.chemmater.1c03349 is OK
- 10.1002/anie.198708461 is OK
- 10.1016/j.apsusc.2022.156064 is OK
- 10.1021/ja00349a027 is OK
- 10.1021/acs.jpcc.1c00718 is OK
- 10.1002/cplu.202200123 is OK
- 10.1002/adfm.202314565 is OK
- 10.1063/1.4812323 is OK
MISSING DOIs
- None
INVALID DOIs
- None
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
create-inputs
. Hello @berquist and @srmnitc, how are you? How is the review coming along?
@srmnitc please generate your review checklist with
@editorialbot generate my checklist
when you have time, so that you can track progress.
@RMeli I have now finished my review. Lobsterpy is a well-designed, and maintained package which I believe would be useful for the community. It has already been employed in a number of studies. The code and documentation are in very good shape, and it was really easy to get started with the tool. I had only some minor issues, which @JaGeo and team fixed very quickly. There are only minor corrections to the paper remaining. Overall, I recommend the publication of this package. Thanks @RMeli for inviting me to review, and @JaGeo for this nice software.
Thank you very much, @srmnitc (I mixed up the handles first, sorry!) We are, of course, happy to include corrections to our paper as well.
Thank you @srmnitc for all the hard work!
I had only some minor issues, which @JaGeo and team fixed very quickly.
I've noticed it, thanks @JaGeo for the very prompt replies to the reviewer queries and comments.
There are only minor corrections to the paper remaining.
Did you suggest these minor corrections anywhere? I only see https://github.com/JaGeo/LobsterPy/issues/225, are you referring just to those two suggestions?
Thank you @srmnitc for all the hard work!
I had only some minor issues, which @JaGeo and team fixed very quickly.
I've noticed it, thanks @JaGeo for the very prompt replies to the reviewer queries and comments.
There are only minor corrections to the paper remaining.
Did you suggest these minor corrections anywhere? I only see JaGeo/LobsterPy#225, are you referring just to those two suggestions?
Yes, correct, just the two.
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Thank you @srmnitc for all the hard work!
I had only some minor issues, which @JaGeo and team fixed very quickly.
I've noticed it, thanks @JaGeo for the very prompt replies to the reviewer queries and comments.
There are only minor corrections to the paper remaining.
Did you suggest these minor corrections anywhere? I only see JaGeo/LobsterPy#225, are you referring just to those two suggestions?
Once https://github.com/JaGeo/LobsterPy/pull/226 is merged, all my comments would be addressed. All comments addressed :)
We (@naik-aakash and I) have addressed the comments in https://github.com/JaGeo/LobsterPy/pull/226, @RMeli .
@editorialbot generate pdf
:warning: An error happened when generating the pdf.
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Hello @berquist, how are you? How is the review coming along? Please let me know if you have any questions or blockers.
Hi Rocco, sorry I've been unresponsive, I should be done in a day or two unless there are issues or PRs I need to file against the main project repo.
No pressure @berquist! I'm just checking in periodically to make sure everything is alright. =)
There is now a slight delay from our side. We hope to include an additional suggestion from @berquist for our tutorial in the next few days. See here https://github.com/JaGeo/LobsterPy/pull/232
The comments on the tutorial from you, @berquist, have been addressed. Please let us know if you have further suggestions.
(Cc @RMeli )
I've finished reviewing the code, documentation, and the paper, and am happy to recommend LobsterPy for submission to JOSS. My background is in molecular electronic structure, not materials or periodic systems, but there is clearly a substantial amount of work done here. I also get the impression that a lot of this work is hiding in atomate2.
The sections that follow are not required for acceptance, but I think will make the code friendlier for both users and developers, even if those developers are not external contributors.
Reading https://jageo.github.io/LobsterPy/reference/cli_subcommands/createinputs.html there is the statement
It works only with PBE POTCARs.
that doesn't appear when running lobsterpy create-inputs --help
. More importantly, no justification is given for the statement, but I think I found it in https://doi.org/10.1002/cplu.202200123
For the time being, two basis sets (Koga and pbeVASPfit2015) can be used to cover the whole periodic table, although only pbeVASPfit2015 includes additional orbitals important to the solid state (e. g., 2p in metallic Be[21]).
I would at least reproduce this comment in the help string, and ideally put more of the reasoning somewhere in the documentation, perhaps under a general "limitations" section.
For creating inputs, it would be good to have a simple example for a common case: it wasn't clear to me if the test data used by test_cli.py
is there only for edge cases or for the common case as well.
Some suggestions on the developer experience:
The unit tests take a while to run (8 minutes in serial, 1.5 minutes with -n 8 --dist worksteal
on a 16 core machine). The provided suggestion to use xdist
is a good one. If you find that developers complain still, consider using pytest markers to group tests by time.
The top-level requirements.txt
doesn't seem to be used anywhere. Since it is already covered properly by the pyproject.toml
, consider removing it.
Consider removing black
from the pre-commit config and using - id: ruff-format
since the config is already in pyproject.toml
. Similarly, the top-level pylintrc
is confusing since it isn't part of pre-commit. Consolidating around tools and cleaning up their configurations will make your lives easier even if it doesn't affect users.
I strongly recommend adding https://pre-commit.ci/ to the GitHub workflow so that all the pre-commit rules can be enforced for each PR even if someone forgets to install the hook locally. (I see configuration for it exists, so someone has considered this before, but it's not turned on.)
I am happy to open PRs for any of these if you wish, though adding the CI service is purely an admin action.
Thank you @berquist for the review and recommendation!
The sections that follow are not required for acceptance, but I think will make the code friendlier for both users and developers
@JaGeo (and team), would you be able to look into the additional suggestions and apply them where you see appropriate?
@RMeli , yes, sure, we will try to go ahead with this starting from next Monday. 🙂
@berquist , thank you for the review. All of the suggestions are extremely helpful! And we are surely happy about PRs.
Thanks again to @berquist for all the helpful suggestions. We have now addressed the comments in different PRs. @berquist has kindly also addressed some of the comments (thanks!)
Documentation
Reading https://jageo.github.io/LobsterPy/reference/cli_subcommands/createinputs.html there is the statement
It works only with PBE POTCARs.
that doesn't appear when running
lobsterpy create-inputs --help
. More importantly, no justification is given for the statement, but I think I found it in https://doi.org/10.1002/cplu.202200123For the time being, two basis sets (Koga and pbeVASPfit2015) can be used to cover the whole periodic table, although only pbeVASPfit2015 includes additional orbitals important to the solid state (e. g., 2p in metallic Be[21]).
I would at least reproduce this comment in the help string, and ideally put more of the reasoning somewhere in the documentation, perhaps under a general "limitations" section.
For creating inputs, it would be good to have a simple example for a common case: it wasn't clear to me if the test data used by
test_cli.py
is there only for edge cases or for the common case as well.
We have now extended the current REAMDE.md to also cover this limitation of the cli functionality to create inputs. Furthermore, we added one example to the example folder including REAMDE.md. (see https://github.com/JaGeo/LobsterPy/pull/244)
Developer experience
Some suggestions on the developer experience:
- The unit tests take a while to run (8 minutes in serial, 1.5 minutes with
-n 8 --dist worksteal
on a 16 core machine). The provided suggestion to usexdist
is a good one. If you find that developers complain still, consider using pytest markers to group tests by time.- The top-level
requirements.txt
doesn't seem to be used anywhere. Since it is already covered properly by thepyproject.toml
, consider removing it.- Consider removing
black
from the pre-commit config and using- id: ruff-format
since the config is already inpyproject.toml
. Similarly, the top-levelpylintrc
is confusing since it isn't part of pre-commit. Consolidating around tools and cleaning up their configurations will make your lives easier even if it doesn't affect users.
These first comments have been kindly addressed by @berquist . Thus, I hope this is all fine now.
- I strongly recommend adding https://pre-commit.ci/ to the GitHub workflow so that all the pre-commit rules can be enforced for each PR even if someone forgets to install the hook locally. (I see configuration for it exists, so someone has considered this before, but it's not turned on.)
I have added the pre-commit.ci to the github workflow and have added the corresponding badge on the README.md (https://github.com/JaGeo/LobsterPy/pull/240)
@berquist , we hope this is now all fine from your side. If so, we would release a new version of the code. (cc @RMeli )
Yes, all is good.
Thank you very much @berquist and @srmnitc for the timely and in-depth review, it's really appreciated! I see you checklists are now complete.
Thanks also to @JaGeo (and team) for engaging so well with the reviewers.
I'll have a good final look at the submission too, and then you can create a new release.
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@JaGeo I see you have the repository already mirrored on Zenodo. Would it make sense to add the name of the software to the Zenodo title? Something like LobsterPy: Automated Bonding Analysis with Crystal Orbital Hamilton Populations
?
@JaGeo Is affiliation (1) correct? "Department Materials Chemistry" sounds a bit odd to me (but I'm not a native English speaker). I see that on the BAM website it is called "Materials Chemistry department"? Or maybe "Department 6: Materials Chemistry" would be more appropriate? If it's correct as it is, please discard my comment.
@JaGeo Is affiliation (1) correct? "Department Materials Chemistry" sounds a bit odd to me (but I'm not a native English speaker). I see that on the BAM website it is called "Materials Chemistry department"? Or maybe "Department 6: Materials Chemistry" would be more appropriate? If it's correct as it is, please discard my comment.
We can surely replace it with Materials Chemistry Department! Thanks for the suggestion!
@JaGeo I see you have the repository already mirrored on Zenodo. Would it make sense to add the name of the software to the Zenodo title? Something like
LobsterPy: Automated Bonding Analysis with Crystal Orbital Hamilton Populations
?
Yes, I can change this.
@RMeli :
Zenodo: https://zenodo.org/records/10631237 Would this be fine? I would repeat this change for our next release as well.
Affiliation: I changed the affiliation as suggested: https://github.com/JaGeo/LobsterPy/blob/main/paper/paper.md
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Zenodo: https://zenodo.org/records/10631237 Would this be fine? I would repeat this change for our next release as well.
Looks great, I think this will be much easier to find.
@JaGeo I see that the author list on Zenodo is also different from the author list of the paper. The JOSS editorial guide states that
Check the archive deposit has the correct metadata (title and author list), and request the author edit it if it doesn’t match the paper.
This is my first time editing, I'll ask internally if this is an hard rule but as a minimum the authors in the paper should be all included in the Zenodo citation (I think); the other way around I don't think should hold. Will the missing authors be added with the next release or do you need to change this manually?
@JaGeo I see that the author list on Zenodo is also different from the author list of the paper. The JOSS editorial guide states that
Check the archive deposit has the correct metadata (title and author list), and request the author edit it if it doesn’t match the paper.
This is my first time editing, I'll ask internally if this is an hard rule but as a minimum the authors in the paper should be all included in the Zenodo citation (I think); the other way around I don't think should hold. Will the missing authors be added with the next release or do you need to change this manually?
I will change this manually. The problem comes from the CITATION.cff
file in the repo. Zenodo uses it as a basis for the citation. I am happy to do this correctly for the next release!
I asked internally how it works. I hope that the Zenodo list can be a superset (i.e. all contributors) of the JOSS authors (main/core contributors). I'll let you know ASAP how to proceed.
Everything else looks good. =)
Great, @RMeli . We just had this additional question, if we could acknowledge the reviewers in the paper.
@JaGeo yes, you can acknowledge anyone you want, including the reviewers.
@RMeli As a part of this PR that will also fix some tiny issues with the README and our code coverage determination, we have added that acknowledgment now: https://github.com/JaGeo/LobsterPy/pull/246
@editorialbot generate pdf
I will release a new version of the code and the corresponding archive on zenodo as soon as you let me know about the requirements for the authors, @RMeli
Submitting author: !--author-handle-->@JaGeo<!--end-author-handle-- (Janine George) Repository: https://github.com/JaGeo/LobsterPy Branch with paper.md (empty if default branch): Version: v0.3.8 Editor: !--editor-->@RMeli<!--end-editor-- Reviewers: @berquist, @srmnitc Archive: 10.5281/zenodo.10713348
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
@berquist & @srmnitc, 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 @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 @berquist
📝 Checklist for @srmnitc