Skip to content
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

yfR: Downloads and Organizes Financial Data from Yahoo Finance #523

Closed
11 of 27 tasks
msperlin opened this issue Mar 30, 2022 · 79 comments
Closed
11 of 27 tasks

yfR: Downloads and Organizes Financial Data from Yahoo Finance #523

msperlin opened this issue Mar 30, 2022 · 79 comments
Assignees

Comments

@msperlin
Copy link

msperlin commented Mar 30, 2022

Date accepted: 2022-06-21

Submitting Author Name: Marcelo Perlin
Submitting Author Github Handle: @msperlin
Other Package Authors Github handles: (comma separated, delete if none)
Repository: https://github.com/msperlin/yfR
Version submitted: 0.0.1
Submission type: Standard
Editor: @melvidoni
Reviewers: @s3alfisc, @thisisnic

Due date for @s3alfisc: 2022-05-29

Due date for @thisisnic: 2022-06-13

Archive: TBD
Version accepted: TBD
Language: en

  • Paste the full DESCRIPTION file inside a code block below:
Package: yfR
Title: Downloads and Organizes Financial Data from Yahoo Finance
Version: 0.0.1
Authors@R: person("Marcelo", "Perlin", email = "[email protected]", role = c("aut", "cre"))
Description: Facilitates download of financial data from Yahoo Finance <https://finance.yahoo.com/>, 
 a vast repository of stock price data across multiple financial exchanges. The package offers a local caching system
 and support for parallel computation.
URL: https://github.com/msperlin/yfR
BugReports: https://github.com/msperlin/yfR/issues
Depends:
    R (>= 4.1)
Imports: stringr, curl, tidyr, 
    lubridate, furrr, purrr, future, tibble, zoo,
    cli, readr, rvest, dplyr, quantmod
License: MIT + file LICENSE
LazyData: true
RoxygenNote: 7.1.2
Suggests: 
    knitr,
    rmarkdown,
    testthat (>= 3.0.0),
    ggplot2,
    covr
VignetteBuilder: knitr
Config/testthat/edition: 3

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.):

    • data retrieval
    • data extraction
    • data munging
    • data deposition
    • workflow automation
    • version control
    • citation management and bibliometrics
    • scientific software wrappers
    • field and lab reproducibility tools
    • database software bindings
    • geospatial data
    • text analysis
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences):

Package yfR retrieves and organizes data from Yahoo Finance, a large repository for stock price data.

  • Who is the target audience and what are scientific applications of this package?

Target audience are students, researchers and industry practioneers in the field of Finance and Economics.

Package yfR is the second and backwards-incompatible version of BatchGetSymbols, also developed by me. My plan is to first deprecate BatchGetSymbols and later remove it from CRAN and archive it in Github.

Moreover, there are other packages, such as quantmod, that downloads data from Yahoo Finance, but none with similar features to yfR and BatchGetSymbols.

Yes.

  • If you made a pre-submission inquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

  • Explain reasons for any pkgcheck items which your package is unable to pass.

Unfortinately, I was not able to run pkgcheck locally as I was unable to install (or make) dependency ctags in my Linux Mint 20.3 machine. Nonetheless, I read through and followed all guidelines available in the manual.

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
  • 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)
  • (Scope: Do consider MEE's Aims and Scope 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
Copy link
Collaborator

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

@ropensci-review-bot
Copy link
Collaborator

🚀

The following problem was found in your submission template:

  • 'author1' variable must be GitHub hanle only ('@myhandle')
    Editors: Please ensure these problems with the submission template are rectified. Package checks have been started regardless.

👋

@ropensci-review-bot
Copy link
Collaborator

Oops, something went wrong with our automatic package checks. Our developers have been notified and package checks will appear here as soon as we've resolved the issue. Sorry for any inconvenience.

@ropensci-review-bot
Copy link
Collaborator

Checks for yfR (v0.0.1)

git hash: c345549c

  • ✔️ Package name is available
  • ✔️ has a 'codemeta.json' file.
  • ✔️ has a 'contributing' file.
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✔️ 'DESCRIPTION' has a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✔️ All functions have examples.
  • ✖️ Package has no continuous integration checks.
  • ✔️ Package coverage is 87.8%.
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.

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

Package License: MIT + file LICENSE


1. 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 8 files) and
  • 1 authors
  • 1 vignette
  • no internal data file
  • 14 imported packages
  • 6 exported functions (median 16 lines of code)
  • 34 non-exported functions in R (median 12 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

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 8 50.7
files_vignettes 3 92.4
files_tests 5 81.7
loc_R 779 61.1
loc_vignettes 160 41.2
loc_tests 184 53.0
num_vignettes 1 64.8
n_fns_r 40 49.3
n_fns_r_exported 6 29.1
n_fns_r_not_exported 34 56.6
n_fns_per_file_r 3 45.9
num_params_per_fn 2 11.9
loc_per_fn_r 14 45.4
loc_per_fn_r_exp 16 38.0
loc_per_fn_r_not_exp 12 42.0
rel_whitespace_R 29 73.7
rel_whitespace_vignettes 65 65.5
rel_whitespace_tests 56 72.7
doclines_per_fn_exp 20 13.8
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 37 59.9

1a. Network visualisation

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


2. goodpractice and other checks

Details of goodpractice and other checks (click to open)


3b. goodpractice results

R CMD check with rcmdcheck

rcmdcheck found no errors, warnings, or notes

Test coverage with covr

Package coverage: 87.78

Cyclocomplexity with cyclocomp

The following functions have cyclocomplexity >= 15:

function cyclocomplexity
yf_get 23
yf_get_single_ticker 22

Static code analyses with lintr

lintr found the following 2 potential issues:

message number of times
Avoid library() and require() calls in packages 2


Package Versions

package version
pkgstats 0.0.3.96
pkgcheck 0.0.2.276


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with ✖️ have been resolved.

@mpadge
Copy link
Member

mpadge commented Mar 31, 2022

@jooolia The faling check is just because the README does not have a CI badge. @msperlin Could you please add an R CMD check badge to your readme? (We check for CI via badges rather than workflow results, because we do accept submissions from arbitrary code-hosting platforms, not just GitHub.) Thanks!

@msperlin
Copy link
Author

Good morning.

Sure, I just added the R-CMD badge.

@jooolia
Copy link
Member

jooolia commented Apr 1, 2022

@ropensci-review-bot check package

@ropensci-review-bot
Copy link
Collaborator

Thanks, about to send the query.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@ropensci-review-bot
Copy link
Collaborator

Oops, something went wrong with our automatic package checks. Our developers have been notified and package checks will appear here as soon as we've resolved the issue. Sorry for any inconvenience.

@ropensci-review-bot
Copy link
Collaborator

Checks for yfR (v0.0.1)

git hash: 1ee2f6f5

  • ✔️ Package name is available
  • ✔️ has a 'codemeta.json' file.
  • ✔️ has a 'contributing' file.
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✔️ 'DESCRIPTION' has a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✔️ Package coverage is 87.8%.
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.

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 69
internal yfR 17
internal utils 3
imports dplyr 11
imports purrr 5
imports readr 5
imports stringr 4
imports rvest 3
imports tidyr 2
imports lubridate 2
imports furrr 2
imports future 2
imports tibble 1
imports zoo 1
imports quantmod 1
imports curl NA
imports cli NA
suggests knitr NA
suggests rmarkdown NA
suggests testthat NA
suggests ggplot2 NA
suggests covr 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(<path/to/repo>)', and examining the 'external_calls' table.

base

c (6), file.path (5), as.Date (4), min (4), paste0 (4), data.frame (3), file.exists (3), length (3), list (3), seq (3), as.character (2), as.numeric (2), for (2), max (2), names (2), options (2), rep (2), switch (2), tempdir (2), as.POSIXct (1), class (1), file (1), is.na (1), lapply (1), list.files (1), order (1), seq_along (1), setdiff (1), sum (1), Sys.Date (1), Sys.getenv (1), which (1)

yfR

fix_ticker_name (2), get_morale_boost (2), set_cli_msg (2), yf_get_available_indices (2), calc_ret (1), date_to_unix (1), fct_format_wide (1), unix_to_date (1), yf_get (1), yf_get_available_collections (1), yf_get_ibov_stocks (1), yf_get_index_comp (1), yf_get_single_ticker (1)

dplyr

first (3), bind_rows (2), tibble (2), filter (1), lag (1), mutate (1), rename (1)

purrr

map (2), map_chr (2), pmap (1)

readr

read_rds (4), write_rds (1)

stringr

fixed (1), str_c (1), str_detect (1), str_split (1)

rvest

html_nodes (2), html_table (1)

utils

data (2), capture.output (1)

furrr

furrr_options (2)

future

availableCores (1), plan (1)

lubridate

wday (2)

tidyr

all_of (1), pivot_wider (1)

quantmod

getSymbols (1)

tibble

tibble (1)

zoo

index (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 8 files) and
  • 1 authors
  • 1 vignette
  • no internal data file
  • 14 imported packages
  • 6 exported functions (median 16 lines of code)
  • 34 non-exported functions in R (median 12 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

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 8 50.7
files_vignettes 3 92.4
files_tests 5 81.7
loc_R 779 61.1
loc_vignettes 160 41.2
loc_tests 184 53.0
num_vignettes 1 64.8
n_fns_r 40 49.3
n_fns_r_exported 6 29.1
n_fns_r_not_exported 34 56.6
n_fns_per_file_r 3 45.9
num_params_per_fn 2 11.9
loc_per_fn_r 14 45.4
loc_per_fn_r_exp 16 38.0
loc_per_fn_r_not_exp 12 42.0
rel_whitespace_R 29 73.7
rel_whitespace_vignettes 65 65.5
rel_whitespace_tests 56 72.7
doclines_per_fn_exp 20 13.8
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 37 59.9

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

GitHub Workflow Results

name conclusion sha date
pages build and deployment success 1ee2f6 2022-03-31
pkgdown success 51af0f 2022-03-30
R-CMD-check success 1ee2f6 2022-03-31
render-rmarkdown failure f3dbe5 2022-03-30
test-coverage success 1ee2f6 2022-03-31

3b. goodpractice results

R CMD check with rcmdcheck

rcmdcheck found no errors, warnings, or notes

Test coverage with covr

Package coverage: 87.78

Cyclocomplexity with cyclocomp

The following functions have cyclocomplexity >= 15:

function cyclocomplexity
yf_get 23
yf_get_single_ticker 22

Static code analyses with lintr

lintr found the following 2 potential issues:

message number of times
Avoid library() and require() calls in packages 2


Package Versions

package version
pkgstats 0.0.4.4
pkgcheck 0.0.3.6


Editor-in-Chief Instructions:

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

@jooolia
Copy link
Member

jooolia commented Apr 1, 2022

Dear @msperlin,
Thank you for your submission. The package has passed all of the automated package checks and the test coverage is good.
Could you expand a bit more on how this package differs from quantmod and tidyquant?
Thanks, Julia

@msperlin
Copy link
Author

msperlin commented Apr 2, 2022

Good morning Julia,

The main goal of yfR is to help user download large ammounts of data from Yahoo Finance (YF).

Packages quantmod and tidyquant also offers a function for downloading price data from YF, but only that. Besides importing data, yfR offers the following functionalities:

  • Organization and clean up of data

    • Users can set a threshold for what is "bad" data with respect to matching dates to a benchmark dataset (SP500 is usually used);
    • Users can also ask for "complete data", where all missing dates are set as NA for later substitution;
    • Log or arithmetic returns, much used in research, are also calculated by default;
    • User can aggregate the data to weekly, monthly or yearly, always keeping the same data structure.
  • smarter downloads

    • A local (and smart) session-persistent caching system is implemented. This means that, within a session, the data is never downloaded twice and only missing portions of data are downloaded;
    • Support for parallel computing. Users can easily set up concurrent R sessions for faster download of data.
  • Practicality

    • yfR innovates with a "collection" system, where one can easily import a collection of tickers such as the SP500 composition in a single function call.

@jooolia
Copy link
Member

jooolia commented Apr 3, 2022

Thank you @msperlin, I am discussing with the other editors and will get back to you. Thanks, Julia

@jooolia
Copy link
Member

jooolia commented Apr 29, 2022

Thanks for your patience @msperlin. The fit seems to be good for us and I am now looking for a handling editor.
Thanks, Julia

@msperlin
Copy link
Author

Great, thanks @jooolia.

@jooolia jooolia removed their assignment May 1, 2022
@jooolia
Copy link
Member

jooolia commented May 1, 2022

@ropensci-review-bot assign @melvidoni as editor

@ropensci-review-bot
Copy link
Collaborator

Assigned! @melvidoni is now the editor

@melvidoni
Copy link
Contributor

@ropensci-review-bot seeking reviewers

@ropensci-review-bot
Copy link
Collaborator

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

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

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

@msperlin
Copy link
Author

msperlin commented May 2, 2022

Thanks. The badge is added in dc712f4abac246604721ed7f2926f9794e4e7f99 and the news file already exists.

@msperlin
Copy link
Author

msperlin commented Jun 7, 2022

Dear @thisisnic, please find my replies below.

Again, thanks for the time reviewing my package. I've made many changes based on your comments. All changes are in the main branch.

Review Comments

Overall, I think this is an excellent package and I especially appreciate that it both retrieves the data and puts it into tidy format - as someone who's taught workshops in the past, this kind of thing is really helpful!

Thanks! I'm glad you enjoyed using it.

As @s3alfisc did such a good job of covering areas around design and possible extensions, I thought I'd instead focus on code review, and areas that I might tweak to ensure the code is as maintainable as possible. A lot of the comments below are stylistic, or just questions, and so feel free to take or leave as many of them as you wish.

The only point which I think definitely does need addressing is mentioned in the comment above which references an issue opened on the repo - adding a minimum version of quantmod to the DESCRIPTION file, as otherwise the examples shown in the vignette fail to run correctly.

Yes, this is fixed in the latest commit 2749f6fbdad562fe6f963e409470916d58f6fdb2.

This is my first review, so I hope this is as expected, and if there are any areas which I've missed or focussed on too much, I'm happy to receive feedback on that.

Comments on yf_get.R

This is well documented. There are places where I might choose to shorten parameter names to make them more easily memorable, but this is a personal preference rather than a recommendation. The code is skimmable, the comments help guide me through what's happening, variable names are intuitive, and error messages are informative.

Thanks.

A few typos: "cant" instead of "can't".

Fixed.

Some error messages have the text "ERROR" in them - I'd recommend removing these, as this is duplicating the in-built error text, e.g. it outputs as Error: ERROR: cant change class of last_date to 'Date'

Fixed.

I see some code which edits a dplyr option: options(dplyr.summarise.inform = FALSE) and later resets it: options(dplyr.summarise.inform = TRUE). Could it perhaps be useful to the user if you were to check if it is already set or set to a different value, and use a call to on.exit() to reset it to its previous value later on, to prevent changing their chosen setting without them knowing? [Edited to add: you can also do this via withr::local_options()]

You're right. I changed the code so that the user choice is always respected.

There is some commented out code in yf_get.R (lines 270 - 273) - can this be removed?

Done.

This function does a lot of things, and I might consider abstracting out some of the logic into smaller helper functions in future to make it easier to test in a more modular way. However, I don't think this is a problem here, as the code is well commented and flows in a logical order.

I agree. It is becoming a long code. I'll keep that in mind.

Comments on collections.R

Again, well commented and well documented, which is great.

Thanks!

It looks like yf_get_available_collections() just calls yf_get_available_indices() and returns the results - could you instead define it more simply, e.g. yf_get_available_collections() <- yf_get_available_indices()? And, what's the reason for having both? (This function changed slightly between when I first reviewed this and later came back to it, but I think the question is still relevant)

The idea is for later to have collections that are not indices. This is way I broke it into separate functions.

yf_collection_get() - it says it returns a "dataframe" - perhaps this could be either "data frame" (the concept) or "data.frame" (the object type) for more clarity?

Done.

Quick question - any reason this file doesn't have the yf prefix, but the other ones do? Not important, just curious.

My mistake. Its fixed.

Another tiny comment - I wonder if yf_get_collection() might feel like a better fit with the other function names than yf_collection_get()?

I followed the convention of using "object""verb" when naming functions. In fact, I just realized I used the wrong convention in some functions.
For consistency, I changed all names to the "object"
"verb" pattern except yf_get(), which I feel is short, concise and intuitive.

Comments on yf_convert_to_wide.R

Chunk of whitespace within the definition of fct_format_wide() which could be removed.

Done.

Comments on yf_get_clean_data.R

Some commented out code here - can this be removed?

Done.

Comments on yf_get_single_ticker.R

Love the use of the cli package to add messages to really help the user see what's going on.

Thanks. I really like it too.

Comments on "getting started" vignette

In the plot comparing the daily/weekly/monthly/yearly data, I might consider removing geom_point() and just using geom_line() as during a naive look at the plot, I wondered what the thickness of the lines meant before realising that the points had blurred together. I might also use breaks on the x axis with a higher frequency than five years.

Agreed. To fix it, I increased the time time period and removed the geom_point() layer.

@melvidoni
Copy link
Contributor

@thisisnic and @s3alfisc what are your thoughts on the changes?
Do let me know if you are satisfied with these changes, or if there is anything else outstanding.

@s3alfisc
Copy link

Hi @melvidoni, I will try to take a closer look at @msperlin's comments this weekend / early next week =)

@thisisnic
Copy link

Thanks for the reminder there @melvidoni - I am happy with the changes made.

@melvidoni
Copy link
Contributor

Thanks @thisisnic! We will wait until after the weekend for @s3alfisc's comments then!

@s3alfisc
Copy link

Hi all, I am very happy with the changes. The package looks and works great! In particular, I am super happy about how the documentation has evolved! :)

@melvidoni
Copy link
Contributor

@ropensci-review-bot approve yfR

@ropensci-review-bot
Copy link
Collaborator

Approved! Thanks @msperlin for submitting and @s3alfisc, @thisisnic for your reviews! 😁

To-dos:

  • Transfer the repo to rOpenSci's "ropensci" GitHub organization under "Settings" in your repo. I have invited you to a team that should allow you to do so. You will need to enable two-factor authentication for your GitHub account.
    This invitation will expire after one week. If it happens write a comment @ropensci-review-bot invite me to ropensci/<package-name> which will re-send an invitation.
  • After transfer write a comment @ropensci-review-bot finalize transfer of <package-name> where <package-name> is the repo/package name. This will give you admin access back.
  • Fix all links to the GitHub repo to point to the repo under the ropensci organization.
  • Delete your current code of conduct file if you had one since rOpenSci's default one will apply, see https://devguide.ropensci.org/collaboration.html#coc-file
  • If you already had a pkgdown website and are ok relying only on rOpenSci central docs building and branding,
    • deactivate the automatic deployment you might have set up
    • remove styling tweaks from your pkgdown config but keep that config file
    • replace the whole current pkgdown website with a redirecting page
    • replace your package docs URL with https://docs.ropensci.org/package_name
    • In addition, in your DESCRIPTION file, include the docs link in the URL field alongside the link to the GitHub repository, e.g.: URL: https://docs.ropensci.org/foobar, https://github.com/ropensci/foobar
  • Fix any links in badges for CI and coverage to point to the new repository URL.
  • Increment the package version to reflect the changes you made during review. In NEWS.md, add a heading for the new version and one bullet for each user-facing change, and each developer-facing change that you think is relevant.
  • We're starting to roll out software metadata files to all rOpenSci packages via the Codemeta initiative, see https://docs.ropensci.org/codemetar/ for how to include it in your package, after installing the package - should be easy as running codemetar::write_codemeta() in the root of your package.
  • You can add this installation method to your package README install.packages("<package-name>", repos = "https://ropensci.r-universe.dev") thanks to R-universe.

Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them "rev"-type contributors in the Authors@R field (with their consent).

Welcome aboard! We'd love to host a post about your package - either a short introduction to it with an example for a technical audience or a longer post with some narrative about its development or something you learned, and an example of its use for a broader readership. If you are interested, consult the blog guide, and tag @ropensci/blog-editors in your reply. She will get in touch about timing and can answer any questions.

We maintain an online book with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding (with advice on releases, package marketing, GitHub grooming); the guide also feature CRAN gotchas. Please tell us what could be improved.

Last but not least, you can volunteer as a reviewer via filling a short form.

@msperlin
Copy link
Author

Thanks @s3alfisc, @thisisnic! Realy appreciate the feedback.

I'll make all changes and report here soon.

@msperlin
Copy link
Author

@ropensci-review-bot finalize transfer of yfR

@ropensci-review-bot
Copy link
Collaborator

Transfer completed.
The yfR team is now owner of the repository and the author has been invited to the team

@msperlin
Copy link
Author

@s3alfisc, @thisisnic Can I include you both as reviewers in the DESCRIPTION file?

@thisisnic
Copy link

Of course, @msperlin , thanks!

@msperlin
Copy link
Author

@melvidoni I've made all required changes. Please let me know if anything else is needed.
I'm also interested in a blog post @ropensci/blog-editors

@s3alfisc
Copy link

Same with me @msperlin, and thanks! :)

@melvidoni
Copy link
Contributor

@melvidoni I've made all required changes. Please let me know if anything else is needed. I'm also interested in a blog post @ropensci/blog-editors

Excellent, thanks. Please, tick all the boxes in the corresponding post if you can.

@msperlin
Copy link
Author

@melvidoni I've made all required changes. Please let me know if anything else is needed. I'm also interested in a blog post @ropensci/blog-editors

Excellent, thanks. Please, tick all the boxes in the corresponding post if you can.

@melvidoni
I can't tick the boxes in the original post. Should I write a new reply?

@melvidoni
Copy link
Contributor

No worries, then it's fine @msperlin

@msperlin
Copy link
Author

I'm planning to submit to CRAN tomorrow. Is that Ok? (sorry but I did not see any guideline about when to submit to cran)

@melvidoni
Copy link
Contributor

It should be okay.

@steffilazerte
Copy link
Member

Hi @msperlin,

We'd love to have a blog post about yfR, thank you for offering!

We publish two types of articles, blog posts and technotes. Let us know which type of article you'd like to write and when you think you might have it ready by, and we'll pencil in a publication date that will give us time for a quick review (the date can always change if things go faster or slower than expected).

We have a guide for blog authors (https://blogguide.ropensci.org/) and when you're ready and have a pull request, just set me as the reviewer or ping me and I'll come by to give you some feedback.

Let me know if you have any questions, thanks!

@msperlin
Copy link
Author

Thanks @steffilazerte. I'll have a look on the material you posted. But, I will need some time, maybe a couple of weeks to write the post. I'll let you know.

@steffilazerte
Copy link
Member

Perfectly reasonable 😁

@msperlin
Copy link
Author

@steffilazerte I wrote a blog post. Just send you the PR and set your as reviewer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants