Packages
R packages
rix: Reproducible Data Science environments with Nix
Simplifies the creation of reproducible data science environments using the ‘Nix’ package manager, as described in Dolstra (2006) <ISBN 90-393-4130-3>. The included ‘rix()’ function generates a complete description of the environment as a ‘default.nix’ file, which can then be built using ’Nix’. This results in project specific software environments with pinned versions of R, packages, linked system dependencies, and other tools. Additional helpers make it easy to run R code in ‘Nix’ software environments for testing and production.
rixpress: Build Reproducible Analytical Pipelines with Nix
Streamlines the creation of reproducible analytical pipelines using ‘default.nix’ expressions generated via the ‘rix’ package for reproducibility. Define derivations in ‘R’, ‘Python’ or ‘Julia’, chain them into a composition of pure functions and build the resulting pipeline using ‘Nix’ as the underlying end-to-end build tool. Functions to plot the pipeline as a directed acyclic graph are included, as well as functions to load and inspect intermediary results for interactive analysis. User experience heavily inspired by the ‘targets’ package.
chronicler: Add Logging to Functions
Decorate functions to make them return enhanced output. The enhanced output consists in an object of type ‘chronicle’ containing the result of the function applied to its arguments, as well as a log detailing when the function was run, what were its inputs, what were the errors (if the function failed to run) and other useful information. Tools to handle decorated functions are included, such as a forward pipe operator that makes chaining decorated functions possible.
Python packages
ryxpress
ryxpress is a Python reimplementation/port of the R package {rixpress}. It provides helpers and a small framework to build and work with reproducible, polyglot analytical pipelines that are built with Nix.
talvez
talvez is a lightweight Python implementation of a Maybe monad (Just / Nothing) inspired by the R package {maybe}.
cronista
cronista is a Python port of my R package {chronicler}.