The goal of timber is to facilitate logging in a clinical environment with the goal of making code easily traceable and reproducible.

Installation

This package is still in development and currently is only available from GitHub. To install the development version run the following:

devtools::install_github("atorus-research/timber")

What is timber?

While many packages to facilitate the logging of code already exist in the R ecosystem, it is hard to find a solution that works well for clinical programming applications. Many logging implementations are more implicit and rely on user input to create the log for the execution of a script. While this is useful for logging specific events of an application, in clinical programming a log has a set purpose.

timber is built around the concept of creating a log for the execution of an R script that provides an overview of what happened as well as the environment that it happened in. We set out to create a flexible logging utility that could provide the necessary information to anyone reviewing the code execution so they can recreate the execution environment and run the code for themselves. timber is purpose-built for the needs of clinical programming to capture necessary elements of the environment and execution to be able to create a complete view of the program execution.

Using timber

timber can be used in a file or through scripting. More information on how to use timber can be found in vignette("timber")

Future development

While this development version has been released, the development team is still making improvements to the package. This release is intended to give access to the core functionality of timber while it is still being developed. While the main functions and functionality have already been created, there are still many behind the scenes items that need to be addressed.

The main item we still need to address is unit testing. While functional testing has been done during development, the package still lacks unit tests. We believe that the functions will work as intended currently, we will be adding unit tests in an upcoming release. We intend to not change the function names or functionality during this development so that anyone using the package can continue using it even after updates.