Closed whedon closed 3 years ago
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @adamhsparks, @mikerspencer it looks like you're currently assigned to review this paper :tada:.
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
:star: Important :star:
If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿
To fix this do the following two things:
For a list of things I can do to help you, just type:
@whedon commands
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
@whedon generate pdf
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.32614/RJ-2018-009 is OK
- 10.2830/63132 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:
:wave: @mikerspencer, please update us on how your review is going.
:wave: @adamhsparks, please update us on how your review is going.
@mikerspencer and @adamhsparks, we have an automatic reminder two weeks into the review. Feel free to provide an update if you have one. And if you have any issues as you work on your reviews, please let me know. Sometimes reviewers have permissions issues with being able to check the checkboxes, if that comes up for you, just let me know and I should be able to fix it.
I have to admit, I'm a bit slow off the mark here and can't remember what I've actually done. If I check this invitation, https://github.com/openjournals/joss-reviews/invitations GitHub says it's expired. Did I manage to accept before that happened?
@whedon re-invite @adamhsparks as reviewer
OK, the reviewer has been re-invited.
@adamhsparks please accept the invite by clicking this link: https://github.com/openjournals/joss-reviews/invitations
This should be a fresh invite link. Let me know if you have issues with check-boxes after using it.
Ok, that's great. Now the tick boxes work for me. 🙏
@mikerspencer and @adamhsparks, a friendly reminder that we are nearing the end of the six week period in which JOSS requests you complete your reviews. If you have any questions, please let me know.
Thanks for the reminder. This is on my to-do list for today.
Overall the package is well written and I'm impressed with the real-world use-case examples in the vignettes. This will be a great benefit to the community by providing an easy to use resource for a reproducible workflow that centralises data fetching for this data resource. Other tools that offer access to this resource are discussed, along with the advantages of this tool over them.
The contribution guidelines are some of the most clear I've seen. Well done!
I've opened a few issues in the repository for the code or documentation issues I've found or other thoughts.
Here are some more specific comments on the paper and package.
geonames_download()
and borders_download()
, the reason for this isn't clear to me.@adamhsparks thanks for your review. @kadyb if discussion is necessary regarding any of the comments I'd recommend making an issue in the main repository. Otherwise you can respond here.
@mikerspencer a friendly reminder to provide an update on your review.
Thanks again to both of you for contributing to the JOSS review process.
Thanks @kbarnhart. It's amazing 6 weeks have passed so quickly. My son's school started back today, so I've suddenly got a normal amount of time. I'll work through the review and get it back today or tomorrow.
@mikerspencer thanks for letting me know. At JOSS, we aim to be very understanding that the pandemic has changed people's time availability (e.g. , see this blog post from early in the pandemic). Just keep me posted if you need more time beyond this week.
@kbarnhart I've finished my review. There's a lot to commend, especially how clearly the package is structured and documented.
I've raised a couple of minor issues (61, 62 & 63), but unfortunately I was unable to test functionality due to issue 64. Issue 64 is a connection error when downloading datasets, which consistently occurs at ~15 MB through a download. The issue doesn't affect smaller downloads, e.g. the 2.4 MB files in the automated tests. I've tested at two different times of day and am reasonably sure my internet connection is stable. I'm unsure what to recommend, but have suggested adding larger files to the automated download tests.
@mikerspencer thanks for doing this review.
@kadyb, when you think you have addressed all of the points the reviewers have raised, please ping them and me here so they can re-visit their review checklists.
If you have any questions for me, please tag me on this issue (or in the in-repo issues).
Hello @adamhsparks, thanks for all the suggestions! Here are my explanations for your review:
I think that the paper would benefit from some edits for clarity and flow, so I've not ticked that off yet. I found the writing to be mostly clear, all of the content was covered as required, but in some places the language was awkward and hard to follow.
We made some text improvements - kadyb/rgugik@9add06b, but we are also interested in your feedback. Do you have any other recommendations on how to improve the text?
Two functions have zero test coverage, geonames_download() and borders_download(), the reason for this isn't clear to me.
These functions are just for data download and do not contain any complex logic. They are not automatically tested because the downloaded files are large (e.g., 375 MB) and server space is limited.
I noted that the test coverage in the README badge, ~87% and paper, don't match what I get locally, ~80%. I'm unsure of the reasons for such a discrepancy?
This is related to the above issue. Three functions are excluded from automatic testing due to large download files sizes, and two functions because IP addresses from GitHub are blocked (but you can still test them locally). Here is the "test coverage" configuration file. Please run this code to get identical results locally:
fun_excl = c("geonames_download", "borders_download")
cov = covr::package_coverage(function_exclusions = fun_excl)
cov
#> rgugik Coverage: 87.48%
There are four vignettes in the pkgdown website, but only three in the package as installed from the master branch?
The "Spatial Databases" vignette is an article containing translated names only (unlike the other vignettes that provide practical examples of searching, retrieving and processing data), so we felt that it should only be available on the package website.
In several places "digital elevation model" is spelled as "Digital Elevation Model", this is not correct, it is not a proper noun.
Fixed in https://github.com/kadyb/rgugik/pull/67.
@whedon generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
Hello, @mikerspencer thanks for the review and praise! I would like to respond here to the downloading problem you described:
(...) unfortunately I was unable to test functionality due to issue 64. Issue 64 is a connection error when downloading datasets, which consistently occurs at ~15 MB through a download. The issue doesn't affect smaller downloads, e.g. the 2.4 MB files in the automated tests. I've tested at two different times of day and am reasonably sure my internet connection is stable.
Both reviewers confirmed this problem. On our side it is hard to reproduce, but the error is certainly there. We think it rather affects foreign users (we suppose it could be due to lower server priority). Nevertheless, thanks to the very active and helpful attitude of the reviewers, we tested two solutions to prevent this problem:
utils::download.file()
backend, which supports different download methods. The default method failed, however reviewers confirmed that changing the method helps to resolve the issue. We have therefore corrected the error returned to clearly inform the user that they can change the method (https://github.com/kadyb/rgugik/pull/68).curl::curl_download()
) as a backend. However, we detected a problem on Windows (it has been reported to the package developer) and it requires more testing to ensure smooth operation (user can test this using the development version of the package).More information can be found here. We believe that the actions taken are sufficient.
@kadyb good work on the solution. Which version should I test to complete my review? I presume the updated error returned in not yet on CRAN?
@mikerspencer, yes, you're right. Currently, all changes have been made to the development version on GitHub.
Please use the code below to install the development version (this will allow to test the first proposed solution):
# install.packages("remotes")
remotes::install_github("kadyb/rgugik")
To test the second solution (downloading files via curl
package) , please use this:
remotes::install_github("kadyb/rgugik@usecurl")
@kadyb thanks for making these changes in response to reviewer comments.
@adamhsparks and @mikerspencer once you've had a change to evaluate these changes, please let me know if additional issues remain. Thanks again for contributing reviews.
@kbarnhart I've finished my review. It's a really solid piece of work and was a pleasure to review. Well done to @kadyb.
@mikerspencer - I didn't realize you were reviewing this submission as well - now I feel bad for bugging you on the other one, but not bad enough that I'm not semi-subtly reminding you about that one too :)
@danielskatz Yes, a little bit of awkward timing that the other one came back at a similar time. Don't worry, I've not forgotten - it's in my home tabs, so I see it each time I open a browser session. I'd like to get it off my desk this week, for my own sanity along with yours and the authors!
@mikerspencer, thank you very much for your time, all comments and kind words. Good luck with the second review!
Code all looks good. I've added comments in the PDF that I've attached here for my comments on the paper as requested.
@adamhsparks, thanks. I corrected all these shortcomings in https://github.com/kadyb/rgugik/commit/265692224a7b6398cdec68f7c89cc0c39347ad7c. Test coverage should be ~87% (https://github.com/kadyb/rgugik/commit/ee186247c3fd885bd61034a7fe53a3171b12b3b0).
@adamhsparks and @mikerspencer thanks so much for revisiting your reviews after @kadyb made revisions.
@adamhsparks it looks like there are a couple of remaining check boxes on your list. If these issues have been addressed, please check them off. Otherwise, let @kadyb know what is needed to address them.
@kbarnhart, since @kadyb has just addressed my comments I can now go back and check everything and will update.
The paper's grammar looks good now but the test coverage, both with the badge and with the paper is still an issue. I just pulled the latest and ran covr::report()
and got this result of ~80% coverage. Not 87% or 89%?
geonames_download()
and borders_download()
functions are just for data download and do not contain any complex logic. They are not automatically tested because the downloaded files are large (e.g., 375 MB) and server space is limited. We use this configuration file to calculate the test coverage value on codecov.io. Please run this code to get identical results locally:
fun_excl = c("geonames_download", "borders_download")
cov = covr::package_coverage(function_exclusions = fun_excl)
cov
#> rgugik Coverage: 87.55%
Ah, thanks for the explanation.
I’m curious, why not use the #nocov
tags in these files to exclude coverage if they aren’t/don’t need to be tested?
On 15 Mar 2021, at 6:15 pm, Krzysztof Dyba @.***> wrote:
geonames_download() and borders_download() functions are just for data download and do not contain any complex logic. They are not automatically tested because the downloaded files are large (e.g., 375 MB) and server space is limited. We use this https://github.com/kadyb/rgugik/blob/master/.github/workflows/test-coverage.yml configuration file to calculate the test coverage value on codecov.io https://codecov.io/gh/kadyb/rgugik. Please run this code to get identical results locally:
fun_excl = c("geonames_download", "borders_download") cov = covr::package_coverage(function_exclusions = fun_excl) cov
> rgugik Coverage: 87.55%
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/2948#issuecomment-799297804, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYMIAWTLDURIWUB3ZA22Z3TDXM5PANCNFSM4V25BBEQ.
@kbarnhart, @kadyb has done a fantastic job with this. I've ticked off the remaining boxes (my previous question notwithstanding).
I’m curious, why not use the
#nocov
tags in these files to exclude coverage if they aren’t/don’t need to be tested?
I could be wrong, but I think the preferred way is to use the function_exclusions
argument. However, there are many ways to achieve the effect.
@adamhsparks, thanks for your time and helpful comments!
@whedon generate pdf
Thanks, in that case I may be doing it wrong! I’ve learned something new doing this review.
On 15 Mar 2021, at 7:00 pm, Krzysztof Dyba @.***> wrote:
I’m curious, why not use the #nocov tags in these files to exclude coverage if they aren’t/don’t need to be tested?
I could be wrong, but I think the preferred way is to use the function_exclusions argument. However, there are many ways to achieve the effect.
@adamhsparks https://github.com/adamhsparks, thanks for your time and helpful comments!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/2948#issuecomment-799326289, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYMIAXE345LYAWPDDRMNKLTDXSGFANCNFSM4V25BBEQ.
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@whedon check references
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.32614/RJ-2018-009 is OK
- 10.2830/63132 is OK
MISSING DOIs
- None
INVALID DOIs
- None
@whedon generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@kadyb at this point could you:
I can then move forward with accepting the submission.
v0.2.1
)10.5281/zenodo.4606706
)If something is wrong, please let me know.
@whedon set v0.2.1 as version
OK. v0.2.1 is the version.
Submitting author: @kadyb (Krzysztof Dyba) Repository: https://github.com/kadyb/rgugik Version: v0.2.1 Editor: @kbarnhart Reviewer: @adamhsparks, @mikerspencer Archive: 10.5281/zenodo.4606706
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
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
@adamhsparks & @mikerspencer, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @kbarnhart 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 ✨
Review checklist for @adamhsparks
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @mikerspencer
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper