ropensci / software-review

rOpenSci Software Peer Review.
286 stars 104 forks source link

osmapiR: an implementation of OpenStreetMap API v0.6 for R #633

Open jmaspons opened 3 months ago

jmaspons commented 3 months ago

Submitting Author Name: Joan Maspons Submitting Author Github Handle: !--author1-->@jmaspons<!--end-author1-- Repository: https://github.com/jmaspons/osmapiR Version submitted: 0.0.0.22 Submission type: Standard Editor: !--editor-->@adamhsparks<!--end-editor-- Reviewers: @jonthegeek, @ccamara

Due date for @jonthegeek: 2024-05-20 Due date for @ccamara: 2024-06-11

Archive: TBD Version accepted: TBD Language: en


Type: Package
Package: osmapiR
Title: OpenStreetMap API
Version: 0.0.0.22
Authors@R: 
    person("Joan", "Maspons", , "joanmaspons@gmail.com", role = c("aut", "cre"),
           comment = c(ORCID = "0000-0003-2286-8727"))
Maintainer: Joan Maspons <joanmaspons@gmail.com>
Description: Implements OpenStreetMap API v0.6
    (<https://wiki.openstreetmap.org/wiki/API_v0.6>).
License: GPL (>= 3)
URL: https://jmaspons.github.io/osmapiR https://github.com/jmaspons/osmapiR
BugReports: https://github.com/jmaspons/osmapiR/issues
Imports: 
    curl,
    httr2,
    xml2
Suggests: 
    httptest2,
    httpuv,
    knitr,
    rmarkdown,
    testthat (>= 3.0.0)
Config/testthat/edition: 3
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.1
X-schema.org-keywords: open street map, openstreetmap, OSM, openstreetmap-api, osmapi, API
VignetteBuilder: knitr

Scope

osmapiR allows retrieving all kind of data from the OpenStreetMap project.

Useful for people working in OSM and to study the evolution of the map.

osmapiR is the only package to access other OpenStreetMap data than the maps data (map notes, GPS traces, changelogs and users). It can be also useful to get the history of the OSM objects and is the only package that allows editing and upload any kind of data.

To access the OSM map data for purposes other than editing or exploring the history of the objects, perhaps is better to use the other packages that implements the Overpass API (osmdata) or that works with .pbf files (osmexcract).

The package allows accessing all the public data from www.openstreetmap.org. All calls use https and OAuth2 is used for authenticated calls. I redirect the user to osmdata or osmecract in the README and in the documentation of the functions to get map data as recommended by the OSM policies.

Some functions implement API calls restricted to users with moderator role and are not well documented in the OSM wiki. These functions lack a return value in docs. Some functions that cause editions in the OSM servers don't have examples to avoid that the user accidentally run it.

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

MEE Options - [ ] The package is novel and will be of interest to the broad readership of the journal. - [ ] The manuscript describing the package is no longer than 3000 words. - [ ] You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see [MEE's Policy on Publishing Code](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/journal-resources/policy-on-publishing-code.html)) - (*Scope: Do consider MEE's [Aims and Scope](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/aims-and-scope/read-full-aims-and-scope.html) for your manuscript. We make no guarantee that your manuscript will be within MEE scope.*) - (*Although not required, we strongly recommend having a full manuscript prepared when you submit here.*) - (*Please do not submit your package separately to Methods in Ecology and Evolution*)

Code of conduct

adamhsparks commented 3 weeks ago

@ccamara, this is a lovely review, thank you!

mpadge commented 3 weeks ago

Apologies @jmaspons @ccamara and @adamhsparks for checks not appearing previously. The call was issued exactly when our system was in rebuild mode, as mentioned in our Dev Guide (4th point in the list). I'll manually trigger the check results now.

ropensci-review-bot commented 3 weeks ago

Checks for osmapiR (v0.0.0.36)

git hash: ed615e82

Package License: GPL (>= 3)


1. Package Dependencies

Details 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. |type |package | ncalls| |:----------|:---------|------:| |internal |base | 914| |internal |osmapiR | 207| |internal |utils | 26| |internal |stats | 12| |internal |graphics | 6| |imports |xml2 | 306| |imports |httr2 | 112| |imports |curl | NA| |suggests |httptest2 | NA| |suggests |httpuv | NA| |suggests |knitr | NA| |suggests |rmarkdown | NA| |suggests |testthat | NA| |linking_to |NA | NA| 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()', and examining the 'external_calls' table.

base

character (121), c (66), lapply (57), version (50), data.frame (41), names (38), for (31), do.call (29), format (29), seq_len (29), vapply (28), list (27), integer (25), nrow (24), length (23), paste (19), as.POSIXct (16), comment (16), Sys.time (16), logical (15), rbind (15), attr (11), unique (10), row.names (9), structure (9), getOption (8), return (8), search (8), apply (7), objects (7), open (7), url (7), gsub (6), t (6), if (5), mapply (4), nchar (4), sort (4), split (4), switch (4), drop (3), I (3), match (3), paste0 (3), tempfile (3), unlist (3), any (2), as.character (2), attributes (2), body (2), cbind (2), date (2), dimnames (2), file (2), ifelse (2), inherits (2), intersect (2), matrix (2), ncol (2), options (2), order (2), seq_along (2), setdiff (2), UseMethod (2), abs (1), all (1), all.equal (1), as.Date (1), col (1), cumsum (1), duplicated (1), is.na (1), is.null (1), isTRUE (1), range (1), rm (1), sum (1), tryCatch (1), vector (1), which (1), which.min (1)

xml2

xml_child (68), xml_add_child (53), xml_new_root (45), xml_attrs (29), xml_find_all (25), xml_text (23), xml_children (21), xml_name (15), xml_attr (9), xml_set_attr (8), xml_contents (4), xml_length (2), as_list (1), write_xml (1), xml_remove (1), xml_set_text (1)

osmapiR

osmapi_request (49), changeset_xml2DF (7), note_xml2DF (6), get_osmapi_url (5), osm_fetch_objects (5), gpx_meta_xml2DF (4), changeset_create_xml (3), comments_as_text (3), members_as_text (3), object_xml2DF (3), osm_get_metadata_gpx (3), osm_query_changesets (3), tags_as_text (3), empty_object (2), empty_user (2), error_body (2), fetch_objects_batches (2), gpx_xml2list (2), new_osmapi_objects (2), new_relation_members (2), new_tags_df (2), oauth_client_osmapi (2), osm_details_logged_user (2), osm_full_object (2), osm_permissions (2), osm_read_changeset (2), osm_read_note (2), osmchange_upload_response_xml2DF (2), tags_xml2mat_wide (2), authenticate_osmapi (1), comments_as_text.changeset_comments (1), comments_as_text.comments (1), comments_as_text.default (1), comments_as_text.note_comments (1), empty_changeset (1), empty_gpx (1), empty_notes (1), fix_duplicated_columns (1), logged_user_details_xml2list (1), logout_osmapi (1), members_as_text.default (1), members_as_text.relation_members (1), members_as_text.way_members (1), new_way_members (1), node_2xml (1), node_create_2xml (1), node_new_2xml (1), node_update_2xml (1), oauth_request (1), object_DF2xml (1), object_new_DF2xml (1), object_update_DF2xml (1), osm_api_versions (1), osm_bbox_objects (1), osm_capabilities (1), osm_close_changeset (1), osm_close_note (1), osm_comment_changeset_discussion (1), osm_create_changeset (1), osm_create_comment_note (1), osm_create_gpx (1), osm_create_note (1), osm_create_object (1), osm_delete_gpx (1), osm_delete_note (1), osm_delete_object (1), osm_details_user (1), osm_details_users (1), osm_diff_upload_changeset (1), osm_download_changeset (1), osm_feed_notes (1), osm_get_changesets (1), osm_get_data_gpx (1), osm_get_gpx_metadata (1), osm_get_notes (1), osm_get_objects (1), osm_get_points_gps (1), osm_get_preferences_user (1), osm_get_user_details (1), osm_hide_comment_changeset_discussion (1), osm_history_object (1), osm_list_gpxs (1), osm_read_bbox_notes (1), osm_read_object (1), osm_redaction_object (1), osm_relations_object (1), osm_reopen_note (1), osm_search_notes (1), osm_set_preferences_user (1), osm_subscribe_changeset_discussion (1), osm_unhide_comment_changeset_discussion (1), osm_unsubscribe_changeset_discussion (1), osm_update_changeset (1), osm_update_gpx (1), osm_update_object (1), osm_version_object (1), osm_ways_node (1), osmapi_objects (1), osmcha_DF2xml (1), osmchange_create (1), osmchange_delete (1), osmchange_modify (1), osmchange_xml2DF (1), parse_html_error_body (1), print.osmapi_changesets (1), print.osmapi_map_notes (1), print.osmapi_OsmChange (1)

httr2

req_perform (45), resp_body_xml (36), request (7), req_url_query (6), resp_body_string (6), req_url_path (2), oauth_client (1), obfuscated (1), req_body_file (1), req_body_form (1), req_body_raw (1), req_error (1), req_retry (1), req_user_agent (1), resp_body_html (1), resp_header (1)

utils

timestamp (25), page (1)

stats

na.omit (5), df (3), pt (2), time (2)

graphics

text (6)

**NOTE:** Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


2. Statistical Properties

This 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: - code in R (100% in 24 files) and - 1 authors - 2 vignettes - no internal data file - 3 imported packages - 55 exported functions (median 23 lines of code) - 208 non-exported functions in R (median 16 lines of code) --- Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used: - `loc` = "Lines of Code" - `fn` = "function" - `exp`/`not_exp` = exported / not exported All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by [the `checks_to_markdown()` function](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) The final measure (`fn_call_network_size`) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile. |measure | value| percentile|noteworthy | |:------------------------|-----:|----------:|:----------| |files_R | 24| 85.5| | |files_vignettes | 2| 85.7| | |files_tests | 127| 99.9| | |loc_R | 2829| 89.7| | |loc_vignettes | 165| 42.4| | |loc_tests | 20807| 99.7|TRUE | |num_vignettes | 2| 89.2| | |n_fns_r | 263| 92.9| | |n_fns_r_exported | 55| 89.2| | |n_fns_r_not_exported | 208| 93.6| | |n_fns_per_file_r | 6| 73.0| | |num_params_per_fn | 2| 11.9| | |loc_per_fn_r | 17| 52.0| | |loc_per_fn_r_exp | 23| 52.6| | |loc_per_fn_r_not_exp | 16| 52.7| | |rel_whitespace_R | 31| 94.8| | |rel_whitespace_vignettes | 33| 41.6| | |rel_whitespace_tests | 2| 93.9| | |doclines_per_fn_exp | 41| 51.4| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 180| 87.4| | ---

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

#### 3a. Continuous Integration Badges [![R-CMD-check.yaml](https://github.com/jmaspons/osmapiR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/jmaspons/osmapiR/actions) [![pkgdown.yaml](https://github.com/jmaspons/osmapiR/actions/workflows/pkgdown.yaml/badge.svg)](https://github.com/jmaspons/osmapiR/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 9211513259|: Manually run by jmaspons |success |27e5c7 | 2|2024-05-23 | | 9436274016|pages build and deployment |success |f580aa | 114|2024-06-09 | | 9436259239|pkgdown |success |ed615e | 157|2024-06-09 | | 9436259243|R-CMD-check |success |ed615e | 155|2024-06-09 | | 9436259248|test-coverage |success |ed615e | 155|2024-06-09 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) rcmdcheck found no errors, warnings, or notes #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 92.93 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- osm_get_objects | 46 osm_query_changesets | 41 osmchange_modify | 32 osm_set_preferences_user | 19 set_osmapi_connection | 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 1437 potential issues: message | number of times --- | --- Lines should not be more than 80 characters. This line is 100 characters. | 14 Lines should not be more than 80 characters. This line is 101 characters. | 22 Lines should not be more than 80 characters. This line is 102 characters. | 25 Lines should not be more than 80 characters. This line is 103 characters. | 18 Lines should not be more than 80 characters. This line is 104 characters. | 22 Lines should not be more than 80 characters. This line is 105 characters. | 24 Lines should not be more than 80 characters. This line is 106 characters. | 25 Lines should not be more than 80 characters. This line is 107 characters. | 15 Lines should not be more than 80 characters. This line is 108 characters. | 29 Lines should not be more than 80 characters. This line is 109 characters. | 13 Lines should not be more than 80 characters. This line is 110 characters. | 29 Lines should not be more than 80 characters. This line is 111 characters. | 24 Lines should not be more than 80 characters. This line is 112 characters. | 38 Lines should not be more than 80 characters. This line is 113 characters. | 44 Lines should not be more than 80 characters. This line is 114 characters. | 43 Lines should not be more than 80 characters. This line is 115 characters. | 34 Lines should not be more than 80 characters. This line is 116 characters. | 24 Lines should not be more than 80 characters. This line is 117 characters. | 58 Lines should not be more than 80 characters. This line is 118 characters. | 61 Lines should not be more than 80 characters. This line is 119 characters. | 54 Lines should not be more than 80 characters. This line is 120 characters. | 41 Lines should not be more than 80 characters. This line is 121 characters. | 2 Lines should not be more than 80 characters. This line is 122 characters. | 1 Lines should not be more than 80 characters. This line is 123 characters. | 5 Lines should not be more than 80 characters. This line is 124 characters. | 3 Lines should not be more than 80 characters. This line is 125 characters. | 1 Lines should not be more than 80 characters. This line is 127 characters. | 2 Lines should not be more than 80 characters. This line is 128 characters. | 1 Lines should not be more than 80 characters. This line is 129 characters. | 4 Lines should not be more than 80 characters. This line is 12959 characters. | 1 Lines should not be more than 80 characters. This line is 130 characters. | 3 Lines should not be more than 80 characters. This line is 131 characters. | 2 Lines should not be more than 80 characters. This line is 133 characters. | 3 Lines should not be more than 80 characters. This line is 135 characters. | 5 Lines should not be more than 80 characters. This line is 136 characters. | 2 Lines should not be more than 80 characters. This line is 138 characters. | 3 Lines should not be more than 80 characters. This line is 141 characters. | 2 Lines should not be more than 80 characters. This line is 142 characters. | 2 Lines should not be more than 80 characters. This line is 143 characters. | 3 Lines should not be more than 80 characters. This line is 144 characters. | 1 Lines should not be more than 80 characters. This line is 145 characters. | 2 Lines should not be more than 80 characters. This line is 146 characters. | 1 Lines should not be more than 80 characters. This line is 147 characters. | 1 Lines should not be more than 80 characters. This line is 148 characters. | 3 Lines should not be more than 80 characters. This line is 149 characters. | 1 Lines should not be more than 80 characters. This line is 151 characters. | 2 Lines should not be more than 80 characters. This line is 153 characters. | 3 Lines should not be more than 80 characters. This line is 154 characters. | 2 Lines should not be more than 80 characters. This line is 155 characters. | 1 Lines should not be more than 80 characters. This line is 157 characters. | 1 Lines should not be more than 80 characters. This line is 158 characters. | 1 Lines should not be more than 80 characters. This line is 160 characters. | 3 Lines should not be more than 80 characters. This line is 161 characters. | 3 Lines should not be more than 80 characters. This line is 163 characters. | 1 Lines should not be more than 80 characters. This line is 164 characters. | 4 Lines should not be more than 80 characters. This line is 165 characters. | 2 Lines should not be more than 80 characters. This line is 167 characters. | 1 Lines should not be more than 80 characters. This line is 168 characters. | 1 Lines should not be more than 80 characters. This line is 170 characters. | 1 Lines should not be more than 80 characters. This line is 172 characters. | 1 Lines should not be more than 80 characters. This line is 175 characters. | 1 Lines should not be more than 80 characters. This line is 176 characters. | 5 Lines should not be more than 80 characters. This line is 177 characters. | 5 Lines should not be more than 80 characters. This line is 180 characters. | 2 Lines should not be more than 80 characters. This line is 182 characters. | 1 Lines should not be more than 80 characters. This line is 183 characters. | 2 Lines should not be more than 80 characters. This line is 184 characters. | 2 Lines should not be more than 80 characters. This line is 185 characters. | 1 Lines should not be more than 80 characters. This line is 186 characters. | 4 Lines should not be more than 80 characters. This line is 188 characters. | 2 Lines should not be more than 80 characters. This line is 190 characters. | 1 Lines should not be more than 80 characters. This line is 192 characters. | 2 Lines should not be more than 80 characters. This line is 194 characters. | 1 Lines should not be more than 80 characters. This line is 196 characters. | 2 Lines should not be more than 80 characters. This line is 197 characters. | 1 Lines should not be more than 80 characters. This line is 203 characters. | 2 Lines should not be more than 80 characters. This line is 204 characters. | 4 Lines should not be more than 80 characters. This line is 208 characters. | 2 Lines should not be more than 80 characters. This line is 209 characters. | 2 Lines should not be more than 80 characters. This line is 210 characters. | 1 Lines should not be more than 80 characters. This line is 214 characters. | 6 Lines should not be more than 80 characters. This line is 215 characters. | 2 Lines should not be more than 80 characters. This line is 216 characters. | 4 Lines should not be more than 80 characters. This line is 219 characters. | 1 Lines should not be more than 80 characters. This line is 220 characters. | 2 Lines should not be more than 80 characters. This line is 221 characters. | 3 Lines should not be more than 80 characters. This line is 226 characters. | 1 Lines should not be more than 80 characters. This line is 229 characters. | 1 Lines should not be more than 80 characters. This line is 234 characters. | 1 Lines should not be more than 80 characters. This line is 235 characters. | 1 Lines should not be more than 80 characters. This line is 250 characters. | 1 Lines should not be more than 80 characters. This line is 251 characters. | 1 Lines should not be more than 80 characters. This line is 253 characters. | 1 Lines should not be more than 80 characters. This line is 256 characters. | 1 Lines should not be more than 80 characters. This line is 259 characters. | 1 Lines should not be more than 80 characters. This line is 262 characters. | 1 Lines should not be more than 80 characters. This line is 263 characters. | 1 Lines should not be more than 80 characters. This line is 264 characters. | 1 Lines should not be more than 80 characters. This line is 268 characters. | 1 Lines should not be more than 80 characters. This line is 271 characters. | 1 Lines should not be more than 80 characters. This line is 272 characters. | 2 Lines should not be more than 80 characters. This line is 273 characters. | 4 Lines should not be more than 80 characters. This line is 283 characters. | 1 Lines should not be more than 80 characters. This line is 287 characters. | 1 Lines should not be more than 80 characters. This line is 289 characters. | 1 Lines should not be more than 80 characters. This line is 290 characters. | 1 Lines should not be more than 80 characters. This line is 292 characters. | 1 Lines should not be more than 80 characters. This line is 299 characters. | 1 Lines should not be more than 80 characters. This line is 303 characters. | 1 Lines should not be more than 80 characters. This line is 304 characters. | 1 Lines should not be more than 80 characters. This line is 311 characters. | 1 Lines should not be more than 80 characters. This line is 312 characters. | 2 Lines should not be more than 80 characters. This line is 314 characters. | 1 Lines should not be more than 80 characters. This line is 317 characters. | 1 Lines should not be more than 80 characters. This line is 327 characters. | 1 Lines should not be more than 80 characters. This line is 331 characters. | 1 Lines should not be more than 80 characters. This line is 338 characters. | 1 Lines should not be more than 80 characters. This line is 340 characters. | 1 Lines should not be more than 80 characters. This line is 371 characters. | 1 Lines should not be more than 80 characters. This line is 379 characters. | 1 Lines should not be more than 80 characters. This line is 380 characters. | 3 Lines should not be more than 80 characters. This line is 385 characters. | 1 Lines should not be more than 80 characters. This line is 390 characters. | 1 Lines should not be more than 80 characters. This line is 391 characters. | 1 Lines should not be more than 80 characters. This line is 402 characters. | 1 Lines should not be more than 80 characters. This line is 410 characters. | 1 Lines should not be more than 80 characters. This line is 420 characters. | 1 Lines should not be more than 80 characters. This line is 433 characters. | 1 Lines should not be more than 80 characters. This line is 446 characters. | 1 Lines should not be more than 80 characters. This line is 463 characters. | 1 Lines should not be more than 80 characters. This line is 496 characters. | 1 Lines should not be more than 80 characters. This line is 505 characters. | 1 Lines should not be more than 80 characters. This line is 518 characters. | 1 Lines should not be more than 80 characters. This line is 5275 characters. | 1 Lines should not be more than 80 characters. This line is 567 characters. | 1 Lines should not be more than 80 characters. This line is 664 characters. | 4 Lines should not be more than 80 characters. This line is 667 characters. | 2 Lines should not be more than 80 characters. This line is 668 characters. | 2 Lines should not be more than 80 characters. This line is 669 characters. | 4 Lines should not be more than 80 characters. This line is 705 characters. | 3 Lines should not be more than 80 characters. This line is 715 characters. | 1 Lines should not be more than 80 characters. This line is 788 characters. | 1 Lines should not be more than 80 characters. This line is 81 characters. | 39 Lines should not be more than 80 characters. This line is 82 characters. | 33 Lines should not be more than 80 characters. This line is 83 characters. | 40 Lines should not be more than 80 characters. This line is 84 characters. | 20 Lines should not be more than 80 characters. This line is 85 characters. | 26 Lines should not be more than 80 characters. This line is 86 characters. | 42 Lines should not be more than 80 characters. This line is 87 characters. | 34 Lines should not be more than 80 characters. This line is 88 characters. | 24 Lines should not be more than 80 characters. This line is 89 characters. | 23 Lines should not be more than 80 characters. This line is 90 characters. | 19 Lines should not be more than 80 characters. This line is 91 characters. | 38 Lines should not be more than 80 characters. This line is 92 characters. | 43 Lines should not be more than 80 characters. This line is 93 characters. | 32 Lines should not be more than 80 characters. This line is 94 characters. | 32 Lines should not be more than 80 characters. This line is 95 characters. | 21 Lines should not be more than 80 characters. This line is 96 characters. | 26 Lines should not be more than 80 characters. This line is 97 characters. | 22 Lines should not be more than 80 characters. This line is 98 characters. | 26 Lines should not be more than 80 characters. This line is 99 characters. | 25


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.1.5.2 | |pkgcheck |0.1.2.42 |


Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

adamhsparks commented 3 weeks ago

Apologies @jmaspons @ccamara and @adamhsparks for checks not appearing previously. The call was issued exactly when our system was in rebuild mode, as mentioned in our Dev Guide (4th point in the list). I'll manually trigger the check results now.

Thanks, @mpadge. I admit, I didn't read that bullet point before. Now I know!

mpadge commented 3 weeks ago

Another update for @ccamara @adamhsparks. Carlos, you were unable to start the package checks because Adam's' original call to the bot was assign ccamara as reviewer when it should have been assign @ccamara as reviewer. This logged the reviewer as "ccamara", which of course has no meaning in GitHub terms. I've updated the template above to insert the missing @ symbols, so now you're officially recognised as a reviewer here. Adam, you can add this to your list of ...

Now I know!

... even more :rofl:

jmaspons commented 3 weeks ago

Thanks for the review, @ccamara! I will try to improve the README with your feedback and, as you would like to contribute with the docs, I will ask you to review the PR.

but I can see osm_create_gpx . osm_update_gpxand osm_delete_gpx do not include an empty example, pointing to a dedicated vignette instead, which I believe is missing.

I will check what's missing to include the vignette in the package, but you can check it at https://jmaspons.github.io/osmapiR/articles/how_to_edit_gps_traces.html

P.S.: now I realize that we just meet in an OSM changelog discussion recently. Perhaps we are neighbours :)

adamhsparks commented 3 weeks ago

Another update for @ccamara @adamhsparks. Carlos, you were unable to start the package checks because Adam's' original call to the bot was assign ccamara as reviewer when it should have been assign @ccamara as reviewer. This logged the reviewer as "ccamara", which of course has no meaning in GitHub terms. I've updated the template above to insert the missing @ symbols, so now you're officially recognised as a reviewer here. Adam, you can add this to your list of ...

Now I know!

... even more 🤣

This editor position is the hardest job I have. 😂

ccamara commented 3 weeks ago

@jmaspons a pleasure! Thanks for fixing the vignettes part so quickly (I detected another problem, though: rmarkdown is now required to build vignettes, so needs to be specified (see PR https://github.com/jmaspons/osmapiR/pull/24) or added as a required dependency.

Yes, to be honest, when I started reviewing your package yesterday, your name sounded familiar, and I realised that it was a happy coincidence that our paths crossed on OSM a the day before! (For the record: that doesn't mean any conflict of interest in my review).

@mpadge thank you very much for the friendly explanation. You're building such a great community here by treating people so well!

@adamhsparks the experience couldn't have been more positive for me and I'm learning a lot here. I'm not sure if there's anything else I need to do as a reviewer.

adamhsparks commented 3 weeks ago

@ccamara, we wait for @jmaspons to make the requested changes and then the reviews have the chance to comment further or approve

jmaspons commented 2 weeks ago

PR with improvements in the README and docs based on the review of @ccamara at https://github.com/jmaspons/osmapiR/pull/25

ccamara commented 2 weeks ago

@jmaspons , I reviewed the PR and looks great to me. Excellent job.

jmaspons commented 2 weeks ago

Hey all, I (finally) read an email from @adamhsparks about this. Just to say: would be happy to review. Looks really interesting and can provide feedback if that would be useful.

Should we wait for the review of @Robinlovelace, @adamhsparks ? He offered to review the package but has not been assigned as a reviewer. I'm not in a hurry, and I'm happy with the feedback. As soon as you give me the OK, I will submit the package to CRAN.

adamhsparks commented 2 weeks ago

@jmaspons, no, Robin was not a reviewer of this package. We have all the reviews in and are waiting on your changes.

jmaspons commented 2 weeks ago

Ok @adamhsparks. From my side, if there is no new feedback from reviewers, I would call it done with https://github.com/jmaspons/osmapiR/pull/21 and https://github.com/jmaspons/osmapiR/pull/25

adamhsparks commented 2 weeks ago

@jmaspons, please submit your response so that the bot updates the issue.

We ask that you respond to reviewers’ comments within 2 weeks of the last-submitted review, but you may make updates to your package or respond at any time. Your response should include a link to the updated NEWS.md of your package. Here is an author response example. We encourage ongoing conversations between authors and reviewers. See the reviewing guide for more details.

See: see https://devguide.ropensci.org/authors-guide.html for more details.

jmaspons commented 2 weeks ago

Thanks to everybody involved in the review! There is no NEWS file yet as there is no release. I will submit the package after the review as I expect that the planned changes can fit the current API of the package.

Response to @jonthegeek

I implemented all the suggestions with https://github.com/jmaspons/osmapiR/pull/21

Response to @ccamara

I implemented the suggestions with https://github.com/jmaspons/osmapiR/pull/25

adamhsparks commented 2 weeks ago

@ropensci-review-bot submit response https://github.com/ropensci/software-review/issues/633#issuecomment-2165983155

ropensci-review-bot commented 2 weeks ago

I'm sorry @adamhsparks, I'm afraid I can't do that. That's something only author1 and author-others are allowed to do.

adamhsparks commented 2 weeks ago

@jmaspons, can you please submit your response?

jmaspons commented 2 weeks ago

@ropensci-review-bot submit response https://github.com/ropensci/software-review/issues/633#issuecomment-2165983155

ropensci-review-bot commented 2 weeks ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@ropensci-review-bot help

jmaspons commented 2 weeks ago

@ropensci-review-bot submit response https://github.com/ropensci/software-review/issues/633#issuecomment-2165983155

ropensci-review-bot commented 2 weeks ago

Logged author response!

adamhsparks commented 2 weeks ago

@jmaspons, thank you!

adamhsparks commented 1 week ago

@jonthegeek and @ccamara, when you have time, could you approve the changes that have been made or offer further suggestions? 🙏

ccamara commented 1 week ago

Hello, I thought I had done it here: https://github.com/ropensci/software-review/issues/633#issuecomment-2163019078 , but I may be missing something. How/Where should I approve any new/same changes? (sorry for the newbie question).

Anyway, and just to clarify: I'm happy with the changes being made and the current status of the project.

EDIT: I'm adding the template

Reviewer Response

Final approval (post-review)

Estimated hours spent reviewing: 4

jonthegeek commented 1 week ago

Reviewer Response

Final approval (post-review)

Estimated hours spent reviewing: 1.5

jonthegeek commented 1 week ago

Hello, I thought I had done it here: #633 (comment) , but I may be missing something. How/Where should I approve any new/same changes? (sorry for the newbie question).

Anyway, and just to clarify: I'm happy with the changes being made and the current status of the project.

There's a template in the guide. I had totally missed that, too. Thanks for the poke, @adamhsparks !

adamhsparks commented 1 week ago

Thank you, @jonthegeek. @ccamara, John's correct, there's a template and I'm just making sure that I have final approval from the reviewers clearly stated here.

ropensci-review-bot commented 1 week ago

@jmaspons: please post your response with @ropensci-review-bot submit response <url to issue comment> if you haven't done so already (this is an automatic reminder).

Here's the author guide for response. https://devguide.ropensci.org/authors-guide.html