ropensci / software-review

rOpenSci Software Peer Review.
291 stars 104 forks source link

Download and Parse Public Data Released by B3 Exchange #534

Closed msperlin closed 1 year ago

msperlin commented 2 years ago

Date accepted: 2023-02-08

Submitting Author Name: Marcelo S. Perlin Submitting Author Github Handle: !--author1-->@msperlin<!--end-author1-- Other Package Authors Github handles: (comma separated, delete if none) !--author-others-->@wilsonfreitas<!--end-author-others-- Repository: https://github.com/wilsonfreitas/rb3 Version submitted: 0.0.3 Submission type: Standard Editor: !--editor-->@emilyriederer<!--end-editor-- Reviewers: @pachadotdev, @quishqa

Due date for @pachadotdev: 2022-10-16 Due date for @quishqa: 2022-10-24

Archive: TBD Version accepted: TBD Language: en

Package: rb3
Title: Download and Parse Public Data Released by B3 Exchange
Description: Download and parse public files released by B3 and convert them
    into useful formats and data structures common to data analysis
    practitioners.
Version: 0.0.3
Authors@R: c(person("Wilson", "Freitas",
                    email = "wilson.freitas@gmail.com",
                    role = c("aut", "cre")),
             person("Marcelo", "Perlin",
                    email = "marceloperlin@gmail.com",
                    role = "aut"))
License: MIT + file LICENSE
LazyData: true
Depends:
    R (>= 4.1.0),
Imports:
    bizdays,
    stringr,
    proto,
    cli,
    readr,
    dplyr,
    rvest,
    httr,
    jsonlite,
    purrr,
    ascii,
    rlang,
    methods,
    yaml,
    digest,
    base64enc
Suggests:
    testthat,
    knitr,
    DT,
    miniUI,
    shiny,
    xtable,
    rmarkdown,
    ggplot2,
    covr,
    scales,
    magrittr,
    tibble,
    tidyr,
    fixedincome
Collate:
    'rb3-package.R'
    'util.R'
    'transmute.R'
    'fields.R'
    'handlers.R'
    'marketdata.R'
    'download-data.R'
    'file.R'
    'convert_to.R'
    'scraper-cdi.R'
    'scraper-futures.R'
    'scraper-yc.R'
    'scraper-cotahist.R'
    'addin-show-templates.R'
    'addin-display-template.R'
    'readers.R'
    'downloaders.R'
    'zzz.R'
BugReports: https://github.com/wilsonfreitas/rb3/issues
URL: https://github.com/wilsonfreitas/rb3,
    http://wilsonfreitas.github.io/rb3/
VignetteBuilder: knitr
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.2
Config/testthat/edition: 3
Encoding: UTF-8

Scope

The package downloads and organizes raw financial data directly from B3, the main financial exchange in Brazil. These datasets are not available in any other way.

Academic researchers and practioners of financial markets.

No.

Yes.

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

ropensci-review-bot commented 2 years ago

Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.

ropensci-review-bot commented 2 years ago

Error (500). The editorcheck service is currently unavailable

msperlin commented 2 years ago

@wilsonfreitas

ropensci-review-bot commented 2 years ago

Checks for rb3 (v0.0.3)

git hash: cbb35b8a

Important: All failing checks above must be addressed prior to proceeding

Package License: MIT + file LICENSE


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 | 231| |internal |rb3 | 174| |internal |stats | 26| |internal |utils | 19| |internal |graphics | 15| |imports |methods | 14| |imports |httr | 9| |imports |purrr | 9| |imports |stringr | 7| |imports |jsonlite | 5| |imports |bizdays | 4| |imports |proto | 4| |imports |rvest | 4| |imports |dplyr | 3| |imports |readr | 2| |imports |ascii | 1| |imports |digest | 1| |imports |base64enc | 1| |imports |cli | NA| |imports |rlang | NA| |imports |yaml | NA| |suggests |shiny | 9| |suggests |miniUI | 2| |suggests |testthat | NA| |suggests |knitr | NA| |suggests |DT | NA| |suggests |xtable | NA| |suggests |rmarkdown | NA| |suggests |ggplot2 | NA| |suggests |covr | NA| |suggests |scales | NA| |suggests |magrittr | NA| |suggests |tibble | NA| |suggests |tidyr | NA| |suggests |fixedincome | 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

list (40), class (16), for (10), if (10), c (9), lapply (9), format (8), is.null (7), names (7), url (7), attr (6), F (6), length (6), as.Date (5), colnames (5), do.call (5), paste0 (4), structure (4), UseMethod (4), by (3), file.path (3), readLines (3), seq (3), as.data.frame (2), as.integer (2), body (2), match (2), options (2), parent.frame (2), Reduce (2), seq_along (2), sign (2), strptime (2), sub (2), sum (2), Sys.Date (2), table (2), try (2), as.character (1), as.numeric (1), as.POSIXct (1), basename (1), charToRaw (1), data.frame (1), dim (1), environment (1), evalq (1), exists (1), get (1), gsub (1), missing (1), order (1), print (1), rbind (1), rep (1), strftime (1), switch (1), t (1), tempdir (1)

rb3

handler (30), fields (11), server (6), download_data (5), width (5), composite (4), match_regex (4), retrieve_template (4), transmuter (4), get (3), query_cdi (3), read_fwf (3), read_marketdata (3), take (3), cachedir (2), code2month (2), fields_description (2), fields_handlers (2), fields_names (2), fields_widths (2), flatten_names (2), iter_rules (2), pass_thru_handler (2), rule_result (2), show_templates (2), unformat (2), apply_rule (1), apply_rule.class_rule (1), apply_rule.predicate_rule (1), apply_rule.regex_rule (1), as_dbl (1), as.data.frame.fields (1), cdi_get (1), clearcache (1), convert_to (1), cotahist_bdrs_get (1), cotahist_equity_get (1), cotahist_equity_options_get (1), cotahist_funds_get (1), cotahist_funds_options_get (1), cotahist_get (1), cotahist_index_options_get (1), cotahist_indexes_get (1), cotahist_units_get (1), cotahist_units_options_get (1), csv_read_file (1), curve_download (1), curve_read (1), datetime_download (1), display_template (1), field (1), fields_description.fields (1), fields_handlers.fields (1), fields_names.fields (1), fields_widths.fields (1), filter_equity_data (1), format_equity (1), format_options (1), futures_get (1), futures_mget (1), fwf_read_file (1), get_single_yc (1), idi_get (1), json_read_file (1), just_download_data (1), keys (1), match_class (1), match_predicate (1), maturity2date (1), mcsv_read_file (1), mfwf_read_file (1), new_field (1), new_part (1), options_open_interest_read (1), parse_columns (1), print.fields (1), print.parts (1), put (1), register (1), save_resource (1), settlement_prices_download (1), settlement_prices_read (1), simple_download (1), single_futures_get (1), stock_indexes_composition_download (1), stock_indexes_composition_reader (1), to_dbl (1), unzip_recursive (1)

stats

df (25), pt (1)

utils

data (15), read.table (2), methods (1), unzip (1)

graphics

text (10), lines (5)

methods

setGeneric (4), as (3), is (3), representation (2), initialize (1), setRefClass (1)

httr

content (3), GET (3), parse_url (2), POST (1)

purrr

map_chr (5), map_lgl (3), map_int (1)

shiny

dialogViewer (4), runGadget (2), shinyApp (2), h3 (1)

stringr

str_replace (2), str_sub (2), str_detect (1), str_match (1), str_pad (1)

jsonlite

fromJSON (3), toJSON (2)

bizdays

bizseq (2), add.bizdays (1), bizdayse (1)

proto

proto (4)

rvest

read_html (2), html_element (1), html_table (1)

dplyr

bind_rows (2), tibble (1)

miniUI

miniPage (2)

readr

read_file (1), read_rds (1)

ascii

ascii (1)

base64enc

base64encode (1)

digest

digest (1)


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 18 files) and - 2 authors - 2 vignettes - no internal data file - 16 imported packages - 25 exported functions (median 4 lines of code) - 200 non-exported functions in R (median 9 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 | 18| 78.3| | |files_vignettes | 2| 85.7| | |files_tests | 18| 95.7| | |loc_R | 1345| 75.6| | |loc_vignettes | 203| 50.1| | |loc_tests | 276| 62.4| | |num_vignettes | 2| 89.2| | |n_fns_r | 225| 91.3| | |n_fns_r_exported | 25| 73.6| | |n_fns_r_not_exported | 200| 93.2| | |n_fns_per_file_r | 7| 78.2| | |num_params_per_fn | 1| 1.6|TRUE | |loc_per_fn_r | 8| 20.0| | |loc_per_fn_r_exp | 4| 4.3|TRUE | |loc_per_fn_r_not_exp | 9| 27.1| | |rel_whitespace_R | 12| 66.1| | |rel_whitespace_vignettes | 17| 26.9| | |rel_whitespace_tests | 30| 68.1| | |doclines_per_fn_exp | 42| 52.8| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 134| 83.7| | ---

2a. Network visualisation

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


3. goodpractice and other checks

Details of goodpractice and other checks (click to open)

#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/wilsonfreitas/rb3/workflows/R-CMD-check/badge.svg)](https://github.com/wilsonfreitas/rb3/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 2306339093|pages build and deployment |success |38384b | 33|2022-05-11 | | 2306316808|pkgdown |success |cbb35b | 36|2022-05-11 | | 2306316813|R-CMD-check |success |cbb35b | 54|2022-05-11 | | 2306316802|test-coverage |success |cbb35b | 54|2022-05-11 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following check_fail: 1. no_import_package_as_a_whole #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 74.58 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) No functions have cyclocomplexity >= 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 3 potential issues: message | number of times --- | --- Lines should not be more than 80 characters. | 3


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.0.4.30 | |pkgcheck |0.0.3.19 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

mpadge commented 2 years ago

@msperlin The build failure in the checks above is because

Error: 'load_builtin_calendars' is not an exported object from 'namespace:bizdays'

That generally means you're not locally using latest versions of all dependency packages. Please let us know when you've fixed that, and the other issues identified above. Thanks.


Edit: I see that it was actually our system which needed updating to the new bizdays released yesterday on CRAN. Checks have been updated accordingly.

emilyriederer commented 2 years ago

Hello @msperlin and many thanks for your submission.

We are discussing whether the package is in scope and need a bit more information.

I see you are the author of other packages such as GetDFDData2 already on CRAN. Could you please help to clarify the differences between these two packages? Is the former focused only on financial statements whereas this package provides more granular time series? While I'm sure your two packages are not "competing", I want to fully understand what makes this package novel and how it is best in class.

Similarly, I see a B3 data listed on general services like Yahoo Finance which I know can be accessed through a number of packages including yfR, quantmod, and tidyquant. Could you elaborate on why none of these packages are in a "comparison set"?

Thank you!

msperlin commented 2 years ago

Hi @emilyriederer

Please find my replies below:

I see you are the author of other packages such as GetDFDData2 already on CRAN. Could you please help to clarify the differences between these two packages? Is the former focused only on financial statements whereas this package provides more granular time series? While I'm sure your two packages are not "competing", I want to fully understand what makes this package novel and how it is best in class.

The different between GetDFPDAta2 and rb3 is in their scope and audience. Package GetDFPData2 is related to financial documents released by companies to the exchange and its audience is mostly business analysts. This includes sales, profit, and many other financial information on a annual basis. Meanwhile, you cant think of rb3 as an interface to all trade data available at the b3 website, including prices of many different type of contracts such as options, equities (companies) and futures. ITs audience is more related to traders and market participants.

While there is some relationship between datasets from rb3 (stock prices) and GetDFPData2 (financial statements) for equities, there is none for other types of markets.

Similarly, I see a B3 data listed on general services like Yahoo Finance which I know can be accessed through a number of packages including yfR, quantmod, and tidyquant. Could you elaborate on why none of these packages are in a "comparison set"?

The data is indeed simillar, but only for equities (companies). Yahoo finance, for example, does not provide historical prices for futures or option contracts. Package rb3 also provides access to historical yield curves, which is a very unique (and rare) set of data in finance.

msperlin commented 2 years ago

@wilsonfreitas I just fixed the code for codemeta and contributing file. The other problems are deeper in the code. Can you please have a look?

wilsonfreitas commented 2 years ago

Hi @emilyriederer and @msperlin

I added the examples to the functions show_templates and display_templates. rb3 is not a function, it is just the tag @name being used in the package documentantion, I changed that.

And with respect to <<- operator, it is used with a ReferenceClass, and accoding to documentation this is the suggest way to modify objects fields. So, I believe that this is not an issue.

wilsonfreitas commented 2 years ago

Furtherly, the test coverage is now 84%.

mpadge commented 2 years ago

Thanks @wilsonfreitas, our check system has just been updated to do what above link says: Allow global assignment operator if in RefClass statement. Your package no longer fails that check :+1:

And FYI, another new check has just been added which in your case reports this:


4. Other Checks

:heavy_multiplication_x: The following function name is duplicated in other packages:


That's currently a "trial" function so you don't necessarily need to respond, but feel free to change the name if you want.

wilsonfreitas commented 2 years ago

Hi @mpadge

Thanks @wilsonfreitas, our check system has just been updated to do what above link says: Allow global assignment operator if in RefClass statement. Your package no longer fails that check 👍

This is great!


emilyriederer commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

Editor check started

:wave:

ropensci-review-bot commented 2 years ago

Checks for rb3 (v0.0.3)

git hash: e7aa4be0

Important: All failing checks above must be addressed prior to proceeding

Package License: MIT + file LICENSE


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 | 229| |internal |rb3 | 170| |internal |stats | 26| |internal |utils | 19| |internal |graphics | 15| |imports |methods | 14| |imports |httr | 9| |imports |purrr | 9| |imports |stringr | 7| |imports |jsonlite | 5| |imports |bizdays | 4| |imports |proto | 4| |imports |rvest | 4| |imports |dplyr | 3| |imports |readr | 2| |imports |ascii | 1| |imports |digest | 1| |imports |base64enc | 1| |imports |cli | NA| |imports |rlang | NA| |imports |yaml | NA| |suggests |shiny | 9| |suggests |miniUI | 2| |suggests |testthat | NA| |suggests |knitr | NA| |suggests |DT | NA| |suggests |xtable | NA| |suggests |rmarkdown | NA| |suggests |ggplot2 | NA| |suggests |covr | NA| |suggests |scales | NA| |suggests |magrittr | NA| |suggests |tibble | NA| |suggests |tidyr | NA| |suggests |fixedincome | 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

list (40), class (16), for (10), if (10), c (9), lapply (9), format (8), is.null (7), names (7), url (7), attr (6), F (6), length (6), as.Date (5), colnames (5), do.call (5), paste0 (4), structure (4), by (3), file.path (3), readLines (3), seq (3), seq_along (3), as.data.frame (2), as.integer (2), body (2), match (2), options (2), parent.frame (2), Reduce (2), sign (2), strptime (2), sub (2), sum (2), Sys.Date (2), table (2), try (2), as.character (1), as.numeric (1), as.POSIXct (1), basename (1), charToRaw (1), data.frame (1), dim (1), environment (1), evalq (1), exists (1), get (1), gsub (1), missing (1), order (1), print (1), rbind (1), rep (1), row.names (1), strftime (1), switch (1), t (1), tempdir (1)

rb3

handler (30), fields (11), server (6), download_marketdata (5), width (5), composite (4), match_regex (4), retrieve_template (4), transmuter (4), get (3), query_cdi (3), read_fwf (3), read_marketdata (3), take (3), cachedir (2), code2month (2), fields_description (2), fields_handlers (2), fields_names (2), fields_widths (2), flatten_names (2), iter_rules (2), pass_thru_handler (2), rule_result (2), show_templates (2), unformat (2), apply_rule (1), apply_rule.class_rule (1), apply_rule.predicate_rule (1), apply_rule.regex_rule (1), as_dbl (1), as.data.frame.fields (1), cdi_get (1), clearcache (1), convert_to (1), cotahist_bdrs_get (1), cotahist_equity_get (1), cotahist_equity_options_get (1), cotahist_funds_get (1), cotahist_funds_options_get (1), cotahist_get (1), cotahist_index_options_get (1), cotahist_indexes_get (1), cotahist_units_get (1), cotahist_units_options_get (1), csv_read_file (1), curve_download (1), curve_read (1), datetime_download (1), display_template (1), field (1), filter_equity_data (1), format_equity (1), format_options (1), futures_get (1), futures_mget (1), fwf_read_file (1), get_single_yc (1), idi_get (1), json_read_file (1), just_download_data (1), keys (1), match_class (1), match_predicate (1), maturity2date (1), mcsv_read_file (1), mfwf_read_file (1), new_field (1), new_part (1), options_open_interest_read (1), parse_columns (1), print.fields (1), print.parts (1), put (1), register (1), save_resource (1), settlement_prices_download (1), settlement_prices_read (1), simple_download (1), single_futures_get (1), stock_indexes_composition_download (1), stock_indexes_composition_reader (1), to_dbl (1), unzip_recursive (1)

stats

df (25), pt (1)

utils

data (15), read.table (2), methods (1), unzip (1)

graphics

text (10), lines (5)

methods

setGeneric (4), as (3), is (3), representation (2), initialize (1), setRefClass (1)

httr

content (3), GET (3), parse_url (2), POST (1)

purrr

map_chr (5), map_lgl (3), map_int (1)

shiny

dialogViewer (4), runGadget (2), shinyApp (2), h3 (1)

stringr

str_replace (2), str_sub (2), str_detect (1), str_match (1), str_pad (1)

jsonlite

fromJSON (3), toJSON (2)

bizdays

bizseq (2), add.bizdays (1), bizdayse (1)

proto

proto (4)

rvest

read_html (2), html_element (1), html_table (1)

dplyr

bind_rows (2), tibble (1)

miniUI

miniPage (2)

readr

read_file (1), read_rds (1)

ascii

ascii (1)

base64enc

base64encode (1)

digest

digest (1)


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 18 files) and - 2 authors - 2 vignettes - no internal data file - 16 imported packages - 25 exported functions (median 4 lines of code) - 192 non-exported functions in R (median 9 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 | 18| 78.3| | |files_vignettes | 2| 85.7| | |files_tests | 20| 96.3| | |loc_R | 1342| 75.6| | |loc_vignettes | 203| 50.1| | |loc_tests | 612| 78.8| | |num_vignettes | 2| 89.2| | |n_fns_r | 217| 90.9| | |n_fns_r_exported | 25| 73.6| | |n_fns_r_not_exported | 192| 92.9| | |n_fns_per_file_r | 7| 77.8| | |num_params_per_fn | 1| 1.6|TRUE | |loc_per_fn_r | 9| 24.3| | |loc_per_fn_r_exp | 4| 4.3|TRUE | |loc_per_fn_r_not_exp | 9| 27.1| | |rel_whitespace_R | 12| 65.3| | |rel_whitespace_vignettes | 17| 26.9| | |rel_whitespace_tests | 21| 77.6| | |doclines_per_fn_exp | 42| 52.8| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 134| 83.7| | ---

2a. Network visualisation

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


3. goodpractice and other checks

Details of goodpractice and other checks (click to open)

#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/wilsonfreitas/rb3/workflows/R-CMD-check/badge.svg)](https://github.com/wilsonfreitas/rb3/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 2319766131|pages build and deployment |success |452491 | 41|2022-05-13 | | 2319747523|pkgdown |success |e7aa4b | 44|2022-05-13 | | 2319747525|R-CMD-check |success |e7aa4b | 63|2022-05-13 | | 2319747522|test-coverage |success |e7aa4b | 63|2022-05-13 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following check_fail: 1. no_import_package_as_a_whole #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 85.34 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) No functions have cyclocomplexity >= 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 11 potential issues: message | number of times --- | --- Avoid using sapply, consider vapply instead, that's type safe | 3 Lines should not be more than 80 characters. | 8


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.0.4.30 | |pkgcheck |0.0.3.19 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

emilyriederer commented 2 years ago

Thanks for the answers on the package uniqueness, @msperlin . I really appreciate the additional context on the package's unique value. I will proceed to look for editors for this package. Would you mind adding more details and context to the README? After reading it someone with little domain knowledge should have been informed about the aim, goals and functionality of the package.

msperlin commented 2 years ago

Thanks @emilyriederer. I added to the README.md the explicit datasets available at rb3. This should give context to the reader and set rb3 apart from other packages.

emilyriederer commented 2 years ago

Hello again, @msperlin !

Thanks for updating the README.

I noticed that you are also currently going through active review for yfR (#523) right now. Discussing with the editorial board, we think the best policy is for developers to undertake reviews sequentially. That way, any relevant feedback or discussions from one review can be applied more seamlessly to the next.

As such, I am going to apply the hold tag for now. Once #523 is complete, please ping me in this thread and we will pick back up where we left off.

msperlin commented 2 years ago

No problem @emilyriederer. Makes sense to me. I'll get back here once yfR finishes its review (probably in a month from now).

maelle commented 2 years ago

@ropensci-review-bot put on hold

ropensci-review-bot commented 2 years ago

Submission on hold!

ropensci-review-bot commented 2 years ago

@maelle: Please review the holding status

maelle commented 2 years ago

@msperlin do you still intend to submit this package?

msperlin commented 2 years ago

Hi @maelle,

@wilsonfreitas is the main author of the package and has done far more work on the code than myself. I believe the decision should be his.

wilsonfreitas commented 2 years ago

Hi @maelle and @msperlin let's go!

I believe we have to check if the changes broke the checks we have done in the past.

@msperlin could you help me with that?

msperlin commented 2 years ago

Great! I believe the code should be fine. I'll try to start the check from here.

msperlin commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

Editor check started

:wave:

ropensci-review-bot commented 2 years ago

Checks for rb3 (v0.0.7)

git hash: c8149e1c

Important: All failing checks above must be addressed prior to proceeding

Package License: MIT + file LICENSE


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 | 295| |internal |rb3 | 244| |internal |stats | 34| |internal |utils | 19| |internal |graphics | 17| |imports |stringr | 16| |imports |purrr | 14| |imports |XML | 14| |imports |methods | 13| |imports |httr | 9| |imports |jsonlite | 8| |imports |dplyr | 7| |imports |bizdays | 5| |imports |rvest | 4| |imports |proto | 2| |imports |readr | 2| |imports |base64enc | 2| |imports |tidyr | 2| |imports |ascii | 1| |imports |yaml | 1| |imports |digest | 1| |imports |readxl | 1| |imports |cli | NA| |imports |rlang | NA| |suggests |shiny | 9| |suggests |miniUI | 2| |suggests |testthat | NA| |suggests |knitr | NA| |suggests |DT | NA| |suggests |xtable | NA| |suggests |rmarkdown | NA| |suggests |ggplot2 | NA| |suggests |covr | NA| |suggests |scales | NA| |suggests |magrittr | NA| |suggests |tibble | NA| |suggests |withr | 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

list (49), c (20), class (16), for (13), format (13), if (12), names (10), args (9), lapply (9), as.Date (7), is.null (7), url (7), attr (6), by (6), F (6), length (6), paste0 (6), as.integer (5), colnames (5), do.call (5), as.data.frame (4), seq (4), structure (4), Sys.Date (4), try (4), readLines (3), seq_along (3), body (2), comment (2), file.path (2), match (2), options (2), parent.frame (2), Reduce (2), sign (2), strptime (2), sub (2), sum (2), t (2), table (2), as.character (1), as.numeric (1), as.POSIXct (1), basename (1), character (1), charToRaw (1), data.frame (1), dim (1), dirname (1), environment (1), evalq (1), exists (1), get (1), getOption (1), gsub (1), missing (1), order (1), rawToChar (1), rbind (1), rep (1), row.names (1), scan (1), strftime (1), switch (1), system.file (1), which (1)

rb3

handler (31), download_marketdata (14), fields (13), read_marketdata (11), retrieve_template (9), server (6), width (5), cachedir (4), composite (4), match_regex (4), transmuter (4), fields_handlers (3), filter_equity_data (3), get (3), ibovespa_index_get (3), query_cdi (3), read_fwf (3), take (3), code2month_newcode (2), code2month_oldcode (2), fields_description (2), fields_names (2), fields_widths (2), get_single_marketdata (2), iter_rules (2), pass_thru_handler (2), rule_result (2), show_templates (2), single_index_get (2), unformat (2), apply_rule (1), apply_rule.class_rule (1), apply_rule.predicate_rule (1), apply_rule.regex_rule (1), as_dbl (1), as.data.frame.fields (1), base64_datetime_download (1), cdi_get (1), check_parameters (1), ck_if_null (1), clearcache (1), code2month (1), company_cash_dividends_download (1), company_cash_dividends_reader (1), company_details_download (1), company_details_reader (1), company_listed_supplement_download (1), company_listed_supplement_reader (1), convert_to (1), cotahist_bdrs_get (1), cotahist_equity_get (1), cotahist_equity_options_get (1), cotahist_equity_options_superset (1), cotahist_etfs_get (1), cotahist_fiagros_get (1), cotahist_fidcs_get (1), cotahist_fiis_get (1), cotahist_funds_options_get (1), cotahist_get (1), cotahist_get_symbols (1), cotahist_index_options_get (1), cotahist_indexes_get (1), cotahist_options_by_symbol_superset (1), cotahist_units_get (1), csv_read_file (1), curve_download (1), curve_read (1), datetime_download (1), display_template (1), field (1), flatten_names (1), format_equity (1), format_options (1), futures_get (1), futures_mget (1), fwf_read_file (1), get_single_indexreport (1), get_single_yc (1), get_single_yc_ipca (1), get_single_yc_usd (1), idi_get (1), index_by_segment_get (1), index_comp_get (1), index_get (1), index_get_from_file (1), index_weights_get (1), indexes_get (1), indexes_last_update (1), indexreport_get (1), indexreport_mget (1), indexreport_reader (1), json_read_file (1), just_download_data (1), keys (1), match_class (1), match_predicate (1), maturity2date (1), maturity2date_newcode (1), maturity2date_oldcode (1), mcsv_read_file (1), mfwf_read_file (1), new_field (1), new_part (1), options_open_interest_read (1), parse_columns (1), pricereport_reader (1), print.fields (1), print.parts (1), put (1), register (1), save_resource (1), settlement_prices_download (1), settlement_prices_read (1), simple_download (1), single_futures_get (1), stock_indexes_composition_download (1), stock_indexes_composition_reader (1), stock_indexes_current_portfolio_download (1), stock_indexes_json_reader (1), stock_indexes_statistics_download (1), stock_indexes_theo_portfolio_download (1), take.list (1), to_dbl (1), unzip_recursive (1)

stats

df (33), pt (1)

utils

data (15), read.table (2), methods (1), unzip (1)

graphics

text (11), lines (5), symbols (1)

stringr

str_sub (4), str_match (3), str_replace (3), str_c (1), str_detect (1), str_glue (1), str_length (1), str_pad (1), str_replace_all (1)

purrr

map_chr (5), map_dfr (5), map_lgl (3), map_int (1)

XML

getNodeSet (9), xmlValue (3), xmlInternalTreeParse (2)

methods

setGeneric (4), is (3), as (2), representation (2), initialize (1), setRefClass (1)

httr

GET (3), content (2), parse_url (2), headers (1), POST (1)

shiny

dialogViewer (4), runGadget (2), shinyApp (2), h3 (1)

jsonlite

fromJSON (7), toJSON (1)

dplyr

bind_rows (4), tibble (3)

bizdays

bizseq (5)

rvest

read_html (2), html_element (1), html_table (1)

base64enc

base64decode (1), base64encode (1)

miniUI

miniPage (2)

proto

proto (2)

readr

read_file (1), read_rds (1)

tidyr

pivot_longer (2)

ascii

ascii (1)

digest

digest (1)

readxl

read_excel (1)

yaml

yaml.load_file (1)

**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 19 files) and - 2 authors - 3 vignettes - no internal data file - 19 imported packages - 45 exported functions (median 6 lines of code) - 273 non-exported functions in R (median 10 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 | 19| 79.7| | |files_vignettes | 3| 92.4| | |files_tests | 21| 96.6| | |loc_R | 2156| 85.6| | |loc_vignettes | 366| 69.9| | |loc_tests | 870| 84.9| | |num_vignettes | 3| 94.2| | |n_fns_r | 318| 94.6| | |n_fns_r_exported | 45| 86.2| | |n_fns_r_not_exported | 273| 95.7|TRUE | |n_fns_per_file_r | 9| 85.5| | |num_params_per_fn | 2| 11.9| | |loc_per_fn_r | 10| 28.4| | |loc_per_fn_r_exp | 6| 10.5| | |loc_per_fn_r_not_exp | 10| 31.3| | |rel_whitespace_R | 11| 75.5| | |rel_whitespace_vignettes | 21| 54.6| | |rel_whitespace_tests | 21| 83.4| | |doclines_per_fn_exp | 41| 51.4| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 254| 90.8| | ---

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](https://github.com/wilsonfreitas/rb3/workflows/R-CMD-check/badge.svg)](https://github.com/wilsonfreitas/rb3/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 2944675656|pages build and deployment |success |e1b4ca | 84|2022-08-28 | | 2944663451|pkgdown |success |c8149e | 90|2022-08-28 | | 2944663450|R-CMD-check |success |c8149e | 110|2022-08-28 | | 2944663449|test-coverage |success |c8149e | 110|2022-08-28 | --- #### 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: 83.01 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) No functions have cyclocomplexity >= 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 34 potential issues: message | number of times --- | --- Avoid library() and require() calls in packages | 13 Avoid using sapply, consider vapply instead, that's type safe | 3 Lines should not be more than 80 characters. | 18


4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following function name is duplicated in other packages: - - `index_get` from elastic


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.1.1.20 | |pkgcheck |0.1.0.9 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

mpadge commented 2 years ago

@msperlin and @emilyriederer you may ignore the "functions do not document return values" fail, as that has only come online long after this package was submitted. @msperlin you may of course update your code to document these, as they'll also fail CRAN checks for new packages, but that's up to you. The duplicated names checks may also be ingored for the moment.

emilyriederer commented 2 years ago

Thanks for the clarification, @mpadge ! With that, I think it sounds like we should be ready to proceed with the review. I will begin to work towards assigning a handling editor.

ropensci-review-bot commented 2 years ago

Assigned! @maurolepore is now the editor

emilyriederer commented 2 years ago

@ropensci-review-bot assign @emilyriederer as editor

ropensci-review-bot commented 2 years ago

Assigned! @emilyriederer is now the editor

emilyriederer commented 2 years ago

Hi @msperlin and @wilsonfreitas - since my EiC term has ended, I have self-volunteered to be the editor for this package as well. I will begin considering reviewers, but in the mean time, please let me direct your attention to a few items found in the automated checks:

emilyriederer commented 2 years ago

Editor checks:

Editor comments

I think this package is quite close to being read for review. I just want to note a few core issues:

Additionally, from the automated checks, I want to highlight a few items in particular:


wilsonfreitas commented 2 years ago

Hi @emilyriederer,

Thanks for your suggestions. I'm answering your questions here.

Tests: If the package has some interactivity / HTTP / plot production etc. are the tests using state-of-the-art tooling? Ok, I see valuable points here, I'll work on them.

Project management: Are the issue and PR trackers in a good shape, e.g. are there outstanding bugs, is it clear when feature requests are meant to be tackled? Yes, it is, but we don't have an structured process to be managed.

I'm going to work on the other points: dependencies, formatting, function names ... Thanks

emilyriederer commented 2 years ago

Hi @wilsonfreitas ! I hope you are well. I thought I'd follow up and see if you had a chance to make any updates in response to my comments? Most all of my comments were a bit open-ended and not a hard, binary requirement. Once you've incorporated them to your satisfaction, I can begin to look for reviewers.

wilsonfreitas commented 2 years ago

Hi @emilyriederer, thanks!!

Unfortunately I am slower than I'd like, but I have a few updates.

In the CONTRIBUTING.md, I notice there are no instructions about setting up API keys for testing. Can you please confirm that users do not need to provide any authentication information for these APIs?

The package makes heavy use of web scraping, it does not require any API to access the data and no setup is necessary for testing. Should I make this clear in the CONTRIBUTING.md?

Please review and resolve the formatting issues found by lintr

Done!

You may consider whether it is a concern that index_get() is a function name used in other packages. I doubt if this package would be used much with elastic so I don't foresee the conflict arising frequently, but if another name suits you equally well, it might be better to change

If this is not blocking I'd prefer to keep index_get as function name.

Some stated imports (e.g. cli) are not found as being used. Can this dependency be removed?

Currently, I am working on this point.

Since this is an API-heavy package, please consider the rOpenSci guidance for http testing best practices. I think some of the tools listed there could be helpful to make the current checks more robust

I am reading this book to see what can be applied in the package.

wilsonfreitas commented 2 years ago

Hi @emilyriederer

I think I am done for now. The last commits have many changes implementing your suggestions. We can go forward with the process.

emilyriederer commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

Editor check started

:wave:

ropensci-review-bot commented 2 years ago

Checks for rb3 (v0.0.7)

git hash: a68bc21f

(Checks marked with :eyes: may be optionally addressed.)

Package License: MIT + file LICENSE


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 | 290| |internal |rb3 | 248| |internal |stats | 38| |internal |utils | 19| |internal |graphics | 18| |imports |stringr | 15| |imports |purrr | 14| |imports |XML | 14| |imports |methods | 13| |imports |httr | 9| |imports |jsonlite | 8| |imports |dplyr | 7| |imports |bizdays | 5| |imports |rvest | 4| |imports |cli | 3| |imports |proto | 2| |imports |readr | 2| |imports |base64enc | 2| |imports |tidyr | 2| |imports |ascii | 1| |imports |yaml | 1| |imports |digest | 1| |imports |readxl | 1| |imports |rlang | NA| |suggests |shiny | 9| |suggests |miniUI | 2| |suggests |testthat | NA| |suggests |knitr | NA| |suggests |DT | NA| |suggests |xtable | NA| |suggests |rmarkdown | NA| |suggests |ggplot2 | NA| |suggests |covr | NA| |suggests |scales | NA| |suggests |magrittr | NA| |suggests |tibble | NA| |suggests |withr | 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

list (50), c (20), class (16), for (13), if (12), names (10), args (9), lapply (9), format (8), as.Date (7), is.null (7), url (7), attr (6), by (6), F (6), length (6), as.integer (5), colnames (5), do.call (5), as.data.frame (4), seq (4), structure (4), Sys.Date (4), try (4), getOption (3), readLines (3), seq_along (3), body (2), comment (2), file.path (2), match (2), options (2), parent.frame (2), Reduce (2), sign (2), strptime (2), sub (2), sum (2), t (2), table (2), as.character (1), as.numeric (1), as.POSIXct (1), basename (1), character (1), charToRaw (1), data.frame (1), dim (1), dirname (1), environment (1), evalq (1), exists (1), get (1), gsub (1), missing (1), order (1), paste (1), paste0 (1), rawToChar (1), rbind (1), rep (1), row.names (1), scan (1), strftime (1), switch (1), system.file (1), warning (1), which (1)

rb3

handler (31), download_marketdata (14), fields (13), read_marketdata (11), retrieve_template (9), server (6), width (5), cachedir (4), composite (4), match_regex (4), transmuter (4), fields_handlers (3), filter_equity_data (3), get (3), ibovespa_index_get (3), query_cdi (3), read_fwf (3), take (3), alert_fun (2), code2month_newcode (2), code2month_oldcode (2), fields_description (2), fields_names (2), fields_widths (2), get_single_marketdata (2), iter_rules (2), pass_thru_handler (2), rule_result (2), show_templates (2), single_index_get (2), unformat (2), alert (1), apply_rule (1), apply_rule.class_rule (1), apply_rule.predicate_rule (1), apply_rule.regex_rule (1), as_dbl (1), as.data.frame.fields (1), base64_datetime_download (1), cdi_get (1), check_parameters (1), ck_if_null (1), clearcache (1), code2month (1), company_cash_dividends_download (1), company_cash_dividends_reader (1), company_details_download (1), company_details_reader (1), company_listed_supplement_download (1), company_listed_supplement_reader (1), convert_to (1), cotahist_bdrs_get (1), cotahist_equity_get (1), cotahist_equity_options_get (1), cotahist_equity_options_superset (1), cotahist_etfs_get (1), cotahist_fiagros_get (1), cotahist_fidcs_get (1), cotahist_fiis_get (1), cotahist_funds_options_get (1), cotahist_get (1), cotahist_get_symbols (1), cotahist_index_options_get (1), cotahist_indexes_get (1), cotahist_options_by_symbol_superset (1), cotahist_units_get (1), csv_read_file (1), curve_download (1), curve_read (1), datetime_download (1), display_template (1), field (1), flatten_names (1), format_equity (1), format_options (1), futures_get (1), futures_mget (1), fwf_read_file (1), get_single_indexreport (1), get_single_yc (1), get_single_yc_ipca (1), get_single_yc_usd (1), idi_get (1), index_by_segment_get (1), index_comp_get (1), index_get (1), index_get_from_file (1), index_weights_get (1), indexes_get (1), indexes_last_update (1), indexreport_get (1), indexreport_mget (1), indexreport_reader (1), json_read_file (1), just_download_data (1), keys (1), log_map_process_along (1), match_class (1), match_predicate (1), maturity2date (1), maturity2date_newcode (1), maturity2date_oldcode (1), mcsv_read_file (1), mfwf_read_file (1), new_field (1), new_part (1), options_open_interest_read (1), parse_columns (1), pricereport_reader (1), print.fields (1), print.parts (1), put (1), register (1), save_resource (1), settlement_prices_download (1), settlement_prices_read (1), simple_download (1), single_futures_get (1), stock_indexes_composition_download (1), stock_indexes_composition_reader (1), stock_indexes_current_portfolio_download (1), stock_indexes_json_reader (1), stock_indexes_statistics_download (1), stock_indexes_theo_portfolio_download (1), take.list (1), to_dbl (1), unzip_recursive (1)

stats

df (37), pt (1)

utils

data (15), read.table (2), methods (1), unzip (1)

graphics

text (12), lines (5), symbols (1)

stringr

str_sub (4), str_match (3), str_replace (3), str_c (1), str_detect (1), str_length (1), str_pad (1), str_replace_all (1)

purrr

map_chr (5), map_dfr (5), map_lgl (3), map_int (1)

XML

getNodeSet (9), xmlValue (3), xmlInternalTreeParse (2)

methods

setGeneric (4), is (3), as (2), representation (2), initialize (1), setRefClass (1)

httr

GET (3), content (2), parse_url (2), headers (1), POST (1)

shiny

dialogViewer (4), runGadget (2), shinyApp (2), h3 (1)

jsonlite

fromJSON (7), toJSON (1)

dplyr

bind_rows (4), tibble (3)

bizdays

bizseq (5)

rvest

read_html (2), html_element (1), html_table (1)

cli

cli_alert_danger (1), cli_alert_info (1), cli_alert_success (1)

base64enc

base64decode (1), base64encode (1)

miniUI

miniPage (2)

proto

proto (2)

readr

read_file (1), read_rds (1)

tidyr

pivot_longer (2)

ascii

ascii (1)

digest

digest (1)

readxl

read_excel (1)

yaml

yaml.load_file (1)

**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 19 files) and - 2 authors - 3 vignettes - no internal data file - 19 imported packages - 45 exported functions (median 6 lines of code) - 279 non-exported functions in R (median 10 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 | 19| 79.7| | |files_vignettes | 3| 92.4| | |files_tests | 21| 96.6| | |loc_R | 2195| 85.9| | |loc_vignettes | 367| 70.0| | |loc_tests | 881| 85.1| | |num_vignettes | 3| 94.2| | |n_fns_r | 324| 94.7| | |n_fns_r_exported | 45| 86.2| | |n_fns_r_not_exported | 279| 95.8|TRUE | |n_fns_per_file_r | 9| 85.8| | |num_params_per_fn | 2| 11.9| | |loc_per_fn_r | 10| 28.4| | |loc_per_fn_r_exp | 6| 10.5| | |loc_per_fn_r_not_exp | 10| 31.3| | |rel_whitespace_R | 11| 75.6| | |rel_whitespace_vignettes | 21| 54.6| | |rel_whitespace_tests | 20| 83.4| | |doclines_per_fn_exp | 41| 51.4| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 273| 91.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](https://github.com/wilsonfreitas/rb3/workflows/R-CMD-check/badge.svg)](https://github.com/wilsonfreitas/rb3/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 3122140453|pages build and deployment |success |f0d98e | 87|2022-09-25 | | 3122126808|pkgdown |success |a68bc2 | 93|2022-09-25 | | 3122126812|R-CMD-check |success |a68bc2 | 113|2022-09-25 | | 3122126809|test-coverage |success |a68bc2 | 113|2022-09-25 | --- #### 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: 80.6 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) No functions have cyclocomplexity >= 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 20 potential issues: message | number of times --- | --- Avoid library() and require() calls in packages | 13 Avoid using sapply, consider vapply instead, that's type safe | 3 Lines should not be more than 80 characters. | 4


4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following function name is duplicated in other packages: - - `index_get` from elastic


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.1.1.44 | |pkgcheck |0.1.0.24 |


Editor-in-Chief Instructions:

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

emilyriederer commented 2 years ago

Thanks @wilsonfreitas ! This all looks great. I will begin to look for reviewers 🎉

emilyriederer commented 2 years ago

@ropensci-review-bot seeking reviewers

ropensci-review-bot commented 2 years ago

Please add this badge to the README of your package repository:

[![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/534_status.svg)](https://github.com/ropensci/software-review/issues/534)

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

emilyriederer commented 2 years ago

@ropensci-review-bot assign @pachadotdev as reviewer