-
-
Notifications
You must be signed in to change notification settings - Fork 104
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
rsi: Efficiently Retrieve and Process Satellite Imagery #636
Comments
Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type |
🚀 Editor check started 👋 |
Another quick note -- I will not be able to transfer this repository to rOpenSci if accepted. I had asked on Slack and was told by Yani that this was acceptable, though it's only mentioned in the book here. I want to flag this at the start, in case it turns out to be an issue! |
Checks for rsi (v0.2.0.9000)git hash: 694d2a5f
Important: All failing checks above must be addressed prior to proceeding (Checks marked with 👀 may be optionally addressed.) Package License: Apache License (>= 2) 1. Package DependenciesDetails of Package Dependency Usage (click to open)
The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.
Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table. basenames (20), c (19), class (10), lapply (9), length (8), vapply (8), args (6), formals (6), list (6), mget (6), tryCatch (5), file.path (4), for (4), max (4), min (4), options (4), tempfile (4), ifelse (3), url (3), all (2), call (2), character (2), drop (2), eval (2), is.null (2), nrow (2), paste (2), paste0 (2), unlist (2), with (2), col (1), data.frame (1), dirname (1), get (1), grep (1), mapply (1), merge (1), ncol (1), numeric (1), readLines (1), replicate (1), seq_len (1), source (1), str2lang (1), suppressWarnings (1), t (1), tempdir (1), tolower (1), toupper (1), vector (1) rsibuild_progressr (5), spectral_indices (3), extract_urls (2), remap_band_names (2), alos_palsar_mask_function (1), calc_scale_strings (1), calculate_indices (1), check_indices (1), check_type_and_length (1), default_query_function (1), download_web_indices (1), filter_bands (1), filter_platforms (1), get_alos_palsar_imagery (1), get_dem (1), get_landsat_imagery (1), get_naip_imagery (1), get_rescaling_formula (1), get_sentinel1_imagery (1), get_sentinel2_imagery (1), get_stac_data (1), is_pc (1), landsat_mask_function (1), maybe_sign_items (1), set_gdalwarp_extent (1), spectral_indices_url (1) rlangarg_match (4), caller_env (2), warn (2), exec (1), new_environment (1) terrarast (5), sprc (2), crs (1), nlyr (1), predict (1) rstacassets_url (2), items_datetime (2), stac_search (1) glueglue (4) methodsis (3) future.applyfuture_lapply (2) statspredict (1), setNames (1) toolsfile_ext (1), R_user_dir (1) httruser_agent (1) progressrprogressor (1) sfst_bbox (1) NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately. 2. Statistical PropertiesThis package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing. Details of statistical properties (click to open)
The package has:
Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the The final measure (
2a. Network visualisationClick to see the interactive network visualisation of calls between objects in package 3.
|
id | name | conclusion | sha | run_number | date |
---|---|---|---|---|---|
8486854009 | Lock Threads | success | 694d2a | 156 | 2024-03-30 |
8482543797 | pages build and deployment | success | 1de384 | 65 | 2024-03-29 |
8482287996 | pkgdown | success | 694d2a | 135 | 2024-03-29 |
8482287992 | R-CMD-check | success | 694d2a | 131 | 2024-03-29 |
8482287990 | R-CMD-check-hard | success | 694d2a | 131 | 2024-03-29 |
8482287998 | test-coverage | success | 694d2a | 131 | 2024-03-29 |
3b. goodpractice
results
R CMD check
with rcmdcheck
rcmdcheck found no errors, warnings, or notes
Test coverage with covr
ERROR: Test Coverage Failed
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
function | cyclocomplexity |
---|---|
get_stac_data | 44 |
stack_rasters | 28 |
check_type_and_length | 25 |
Static code analyses with lintr
lintr found the following 127 potential issues:
message | number of times |
---|---|
Avoid library() and require() calls in packages | 4 |
Lines should not be more than 80 characters. | 123 |
4. Other Checks
Details of other checks (click to open)
✖️ The following 2 function names are duplicated in other packages:
-
calculate_indices
from ClusterStability
-
sign_planetary_computer
from rstac
Package Versions
package | version |
---|---|
pkgstats | 0.1.3.11 |
pkgcheck | 0.1.2.21 |
Editor-in-Chief Instructions:
Processing may not proceed until the items marked with ✖️ have been resolved.
Guessing covr fails due to not setting my custom This environment variable is used to skip a test on my covr CI. The tl;dr is that rsi executes some code in a minimal environment to protect against malicious code downloaded from the internet, which prevents covr from injecting its tracking inside of that minimal environment. I still want the file to be tested (and the other pieces of the file to be counted in coverage), though, so I wrapped the local environment section in You can see my code coverage report at https://app.codecov.io/gh/Permian-Global-Research/rsi and my CI workflow for this at https://github.com/Permian-Global-Research/rsi/blob/main/.github/workflows/test-coverage.yaml |
@ropensci-review-bot assign @jhollist as editor |
Assigned! @jhollist is now the editor |
@mikemahoney218 Been swamped these last few days. I will work on digging through this today and tomorrow and get back to you soon and should hopefully be ready to start finding reviewers. I am looking forward to this review. Does look like an interesting package! |
No worries, and thanks for the update! |
@ropensci-review-bot check rsi |
I'm sorry human, I don't understand that. You can see what commands I support by typing:
|
@ropensci-review-bot check package |
Thanks, about to send the query. |
🚀 Editor check started 👋 |
Just want to flag that I'm still expecting (your version of) covr to fail, due to #636 (comment) The core issue is that As a result, I toggle the tests that hit this code path using a custom I don't want to disable the whole .R file from covr, because covr can instrument the rest of the file, and I don't want to drop these tests (or make them off by default) because I'd like |
Checks for rsi (v0.2.0.9000)git hash: e71186f2
Important: All failing checks above must be addressed prior to proceeding (Checks marked with 👀 may be optionally addressed.) Package License: Apache License (>= 2) 1. Package DependenciesDetails of Package Dependency Usage (click to open)
The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.
Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table. basenames (20), c (19), class (10), lapply (9), length (8), vapply (8), args (6), formals (6), list (6), mget (6), tryCatch (5), file.path (4), for (4), max (4), min (4), options (4), tempfile (4), ifelse (3), url (3), all (2), call (2), character (2), drop (2), eval (2), is.null (2), nrow (2), paste (2), paste0 (2), unlist (2), with (2), col (1), data.frame (1), dirname (1), get (1), grep (1), mapply (1), merge (1), ncol (1), numeric (1), readLines (1), replicate (1), seq_len (1), source (1), str2lang (1), suppressWarnings (1), t (1), tempdir (1), tolower (1), toupper (1), vector (1) rsibuild_progressr (5), spectral_indices (3), extract_urls (2), remap_band_names (2), alos_palsar_mask_function (1), calc_scale_strings (1), calculate_indices (1), check_indices (1), check_type_and_length (1), default_query_function (1), download_web_indices (1), filter_bands (1), filter_platforms (1), get_alos_palsar_imagery (1), get_dem (1), get_landsat_imagery (1), get_naip_imagery (1), get_rescaling_formula (1), get_sentinel1_imagery (1), get_sentinel2_imagery (1), get_stac_data (1), is_pc (1), landsat_mask_function (1), maybe_sign_items (1), set_gdalwarp_extent (1), spectral_indices_url (1) rlangarg_match (4), caller_env (2), warn (2), exec (1), new_environment (1) terrarast (5), sprc (2), crs (1), nlyr (1), predict (1) rstacassets_url (2), items_datetime (2), stac_search (1) glueglue (4) methodsis (3) future.applyfuture_lapply (2) statspredict (1), setNames (1) toolsfile_ext (1), R_user_dir (1) httruser_agent (1) progressrprogressor (1) sfst_bbox (1) NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately. 2. Statistical PropertiesThis package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing. Details of statistical properties (click to open)
The package has:
Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the The final measure (
2a. Network visualisationClick to see the interactive network visualisation of calls between objects in package 3.
|
id | name | conclusion | sha | run_number | date |
---|---|---|---|---|---|
8572262292 | Commands | skipped | bc9e46 | 46 | 2024-04-05 |
8639486278 | Lock Threads | success | e71186 | 168 | 2024-04-11 |
8575408691 | pages build and deployment | success | f75519 | 69 | 2024-04-05 |
8575285598 | pkgdown | success | e71186 | 140 | 2024-04-05 |
8575285595 | R-CMD-check | success | e71186 | 135 | 2024-04-05 |
8575285599 | R-CMD-check-hard | success | e71186 | 135 | 2024-04-05 |
8575285597 | test-coverage | success | e71186 | 135 | 2024-04-05 |
3b. goodpractice
results
R CMD check
with rcmdcheck
rcmdcheck found no errors, warnings, or notes
Test coverage with covr
ERROR: Test Coverage Failed
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
function | cyclocomplexity |
---|---|
get_stac_data | 44 |
stack_rasters | 28 |
check_type_and_length | 25 |
Static code analyses with lintr
lintr found the following 127 potential issues:
message | number of times |
---|---|
Avoid library() and require() calls in packages | 4 |
Lines should not be more than 80 characters. | 123 |
4. Other Checks
Details of other checks (click to open)
✖️ The following 2 function names are duplicated in other packages:
-
calculate_indices
from ClusterStability
-
sign_planetary_computer
from rstac
Package Versions
package | version |
---|---|
pkgstats | 0.1.3.11 |
pkgcheck | 0.1.2.21 |
Editor-in-Chief Instructions:
Processing may not proceed until the items marked with ✖️ have been resolved.
@mikemahoney218 Thanks for the update. And as you expected the bot checks fail. I am not too worried about that given you have good coverage and can demonstrate it with the codecov reports. We will want to make sure that this coverage is reported out in the repositories README. You may already be doing that, I just haven't checked yet! Stay tuned, I am working on this today and tomorrow and expect to move on to finding reviewers shortly after that! |
Editor checks:
Editor commentsI think we are ready to pass on to reviewers! Nice Job! Only one very small request:
I like to see a more upfront CONTRIBUTING. I always get lost trying to find them when embedded inside Also, I have no concerns about the tests failing on the bot. You have implemented them well, the coverage is good, and the badge makes it easy to find. |
@ropensci-review-bot seeking reviewers |
Please add this badge to the README of your package repository: [![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/636_status.svg)](https://github.com/ropensci/software-review/issues/636) Furthermore, if your package does not have a NEWS.md file yet, please create one to capture the changes made during the review process. See https://devguide.ropensci.org/releasing.html#news |
Added the link to CONTRIBUTING! |
@ropensci-review-bot assign @mdsumner as reviewer |
@mdsumner added to the reviewers list. Review due date is 2024-05-09. Thanks @mdsumner for accepting to review! Please refer to our reviewer guide. rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more. |
@ropensci-review-bot set due date for @mdsumner to 2024-05-24 |
Review due date for @mdsumner is now 24-May-2024 |
Submitting Author Name: Mike Mahoney
Due date for @mdsumner: 2024-05-24Submitting Author Github Handle: @mikemahoney218
Repository: https://github.com/Permian-Global-Research/rsi/
Version submitted:
Submission type: Standard
Editor: @jhollist
Reviewers: @mdsumner
Archive: TBD
Version accepted: TBD
Language: en
Scope
Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
Explain how and why the package falls under these categories (briefly, 1-2 sentences):
This package supports (spatial) data retrieval from APIs implementing the OGC STAC API standard, processing the downloaded data (including automated masking, compositing and rescaling) computing spectral indices from those data, and wrangling the outputs into formats useful for modeling and visualization.
Anyone with a need to download and process spatial data, particularly remote sensing data, particularly satellite-based earth observation rasters. We've used rsi to automate the entire data preparation process of forest carbon and structure models (not yet published), but the package is broadly useful to anyone working in Earth surface modeling.
Yes:
There are a few minor things that I think rsi does better than other approaches (we sign items right before each one is downloaded, for instance, whereas some other packages sign items before starting to download the entire set, meaning the signature can expire causing large downloads to fail), but this difference I think is mostly a matter of taste. I'm very familiar with local GDAL, terra, and sf, and so rsi tries to get users back to working with local GDAL, terra, and sf as fast as possible.
NA
NA
pkgcheck
items which your package is unable to pass.I have never successfully gotten the CI item to be a check, and I have no idea why. I'm using the standardApparently this is a local-only issue.usethis
functions to structure my CI, for what it's worth!I addressed failing covr in #636 (comment)
Technical checks
Confirm each of the following by checking the box.
This package:
Publication options
Do you intend for this package to go on CRAN?
Do you intend for this package to go on Bioconductor?
Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:
MEE Options
Code of conduct
The text was updated successfully, but these errors were encountered: