2024-10-14 / Yohann Mansiaux / development, package, tips

Beyond Functions: How to Enrich an R Package with Data

As package developers, we often focus on custom functions, their documentation, and unit testing. To provide a more complete user experience, it can be helpful to include data within the package. Here’s everything you need to know! If you’re not familiar with unit testing, we recommend reading our article on the subject: : https://rtask.thinkr.fr/expectations-verified-dive-into-the-world-of-unit-tests-with-expect_/ Short on time? Here’s the gist ...

2024-10-04 / Murielle / development, package, tips

Expectations, Verified! Dive into the World of Unit Tests with expect_*()

Unit tests are essential in the development of an R package. They ensure that your functions work as expected while protecting you from regressions when you improve or modify your code. Thanks to the {testthat} package, writing and automating tests in R becomes simple and intuitive. At the core of this approach are the expect_*() functions, which play a central ...

gtlabr hex logo inside a rectangle

2024-05-17 / Sébastien Rochette / development, docker, package

gitlabr V2.1.0 – gitlab-ci with ‘pak’ and functions to deal with groups on GitLab

A lot of cleanups, new features, and bug fixes for this new version of ‘gitlabr’. You will find brand-new CI/CD templates and functions to manage GitLab groups from R. Brand new gitlab-ci with ‘pak’, ready to use The template for checking R packages uses {pak} for dependency management. You will no longer have issues with missing system dependencies. You should ...

2024-02-16 / Swann Floc’hlay / development, package

Tame your namespace with a dash of suggests

We’ve all felt it, that little wave of shiver through our skin as we watch the check of our newest commit running, thinking “Where could this possibly go wrong?”. And suddenly, the three little redeeming ticks 0 errors ✔ | 0 warnings ✔ | 0 notes ✔ Allelhuia! 🎉 We git commit the whole thing, we git push proudly our ...

banner with sticker logo of fusen package

2023-12-12 / Sébastien Rochette / fusen, development, package, thinkrverse

‘fusen’ v0.6.0 (beta): a new Rmd/Qmd parser with ‘lightparser’ to try before release

{fusen} now relies on {lightparser} to detect the different parts of a Rmd or a Qmd file before inflating your flat file as a R package. Before the release on CRAN, I need you to test the development version and tell me if there are any edge cases with your flat files. TL;DR Please try the pre-release version of {fusen} ...

fusen - Gotta inflate' em all

2023-07-21 / Yohann Mansiaux / development, fusen, package, Rmarkdown, thinkrverse

fusen v0.5: Gotta inflate ’em all !

No more amnesia for {fusen}! With v0.5, it now has “memory”, allowing you to inflate all your flat files simultaneously. The aim of this latest version of {fusen} is to provide an ever smoother package development experience, for both novice and experiences users. {fusen} continues to make life easier for package creators. One of the main changes in this new ...

2023-06-01 / Sébastien Rochette / thinkrverse, development, fusen, package

{attachment} v0.4.0: Breaking changes and configuration file for a better experience

{attachment} v0.4.0 stores your parameters in a configuration file for an easier use during your package development: run att_amend_desc() from anywhere, it will re-use your last set of parameters.  This comes with some breaking changes for a better experience.   The goal of attachment is to help to deal with package dependencies during package development. It also gives useful tools ...

2022-10-04 / Sébastien Rochette / development, fusen, package, Rmarkdown, thinkrverse, tips

Package dev with {fusen} & {attachment}: load all functions of a flat, manage qmd and auto-fill Remotes field

One aim of our open-source packages at ThinkR is to make our development workflows easier. {attachment} and {fusen} are developed maintained to help packages development and maintenance. Inception… If they help us every day, they can probably help you as well! In this blog post, I present the lastest changes of these two packages. If you want to know how ...

2021-12-19 / Sébastien Rochette / development, fusen, package, Rmarkdown, thinkrverse

‘fusen’ v0.3: Better project templates, grouped functions and numerous other enhancements

{fusen} gets some maturity! v0.3 is a big rebranding for a more fluid experience, from beginners to advanced developers. Creating a fully documented and tested package has never been so easy and enjoyable. Experience “Rmd first” to the fullest. At first, I imagined {fusen} to help beginners start building R packages. Following the ‘Rmd first’ method, I am convinced that ...

2021-11-14 / Sébastien Rochette / development, package, thinkrverse

{attachment} v0.2.4: fill the Remotes field

A new version of {attachment} is available on CRAN. Get dependencies installed from GitHub, GitLab, … and add the link to the ‘Remotes’ field in the DESCRIPTION file of your package. install.packages(“attachment”) While waiting for CRAN release, you can install from GitHub: remotes::install_github(“ThinkR-open/[email protected]”) {attachment} helps you deal with dependencies during your package development. All packages used in your code needs ...

gtlabr hex logo inside a rectangle

2021-08-31 / Sébastien Rochette / development, git, package, thinkrverse, tips

{gitlabr} v2.0 is on CRAN!

You regularly create projects on GitLab with a common skeleton, you want to retrieve the list of GitLab issues to create a report, you are looking for batch modifications of your projects? Use the GitLab API from your preferred programming language R. Communicate with GitLab API from R Here is a small example as issued from the {gitlabr} Readme on ...

Pictures of multiple origamis boxes and animals

2021-08-05 / Sébastien Rochette / development, fusen, package, Rmarkdown, thinkrverse

{fusen} is now available on CRAN!

With first version of {fusen} 0.2.4 now available on CRAN, you do not have any excuses not to try it in your daily workflows. install.packages(“fusen”) Add new documented and tested functionalities in an existing package If you already develop packages, {fusen} is for you. Developing a package requires to write some code and examples in multiple places: “R/”, “tests/”, “vignettes/”. ...