Package: rixpress 0.12.3

Bruno Rodrigues

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.

Authors:Bruno Rodrigues [aut, cre], William Michael Landau [rev], Anthony Martinez [rev]

rixpress_0.12.3.tar.gz
rixpress_0.12.3.zip(r-4.7)rixpress_0.12.3.zip(r-4.6)rixpress_0.12.3.zip(r-4.5)
rixpress_0.12.3.tgz(r-4.6-any)rixpress_0.12.3.tgz(r-4.5-any)
rixpress_0.12.3.tar.gz(r-4.7-any)rixpress_0.12.3.tar.gz(r-4.6-any)
rixpress_0.12.3.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
rixpress/json (API)

# Install 'rixpress' in R:
install.packages('rixpress', repos = c('https://packages.ropensci.org', 'https://cloud.r-project.org'))

Reviews:rOpenSci Software Review #706

Bug tracker:https://github.com/ropensci/rixpress/issues

Pkgdown/docs site:https://docs.ropensci.org

On CRAN:

Conda:

9.07 score 52 stars 96 scripts 485 downloads 31 exports 15 dependencies

Last updated from:d365ad4d59 (on main). Checks:10 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK153
pkgdown docsOK183
source / vignettesOK217
linux-release-x86_64OK156
macos-release-arm64OK91
macos-oldrel-arm64OK109
windows-develOK96
windows-releaseOK89
windows-oldrelOK90
wasm-releaseOK161

Exports:add_importadjust_importrxp_check_chroniclesrxp_copyrxp_dag_for_cirxp_export_artifactsrxp_garxp_gcrxp_ggdagrxp_import_artifactsrxp_initrxp_inspectrxp_jlrxp_jl_filerxp_list_logsrxp_loadrxp_makerxp_pipelinerxp_populaterxp_pyrxp_py_filerxp_py2rrxp_qmdrxp_rrxp_r_filerxp_r2pyrxp_readrxp_rmdrxp_tracerxp_visnetworkrxp_write_dag

Dependencies:clicpp11glueigraphjsonlitelatticelifecyclemagrittrMatrixpkgconfigprocessxpsR6rlangvctrs

Managing Cached Build Artifacts
Introduction | Build Logs: The Key to Your Pipeline's History | Cleaning Up Artifacts with rxp_gc() | 1. Targeted Deletion: Cleaning Up Old Builds | 2. Full Garbage Collection | Conclusion

Last update: 2026-02-18
Started: 2025-09-02

Organising Large Projects with Sub-Pipelines
Large Pipelines Become Unwieldy | Basic Usage | Visualising Sub-Pipelines | Switching Between Colour Modes | How It Works Internally | Best Practices | Conclusion

Last update: 2026-02-18
Started: 2026-01-24

Core Rixpress Functions and Usage
Getting data into the pipeline | Declaring build steps | Generating the pipeline | Defining a Reproducible Shell for Execution | Optional steps before building the pipeline | Graphical representation of the pipeline's DAG | Tracing the lineage of derivations | Building and inspecting outputs | No-op builds for individual derivations | Caveats | Conclusion

Last update: 2026-02-03
Started: 2025-08-18

Polyglot Pipelines and Literate Programming
Analysing the mtcars dataset using R and Python | Building a Quarto or R Markdown document

Last update: 2026-02-03
Started: 2025-08-18

Setting Up a Pipeline from Scratch
Installing the required software | Bootstrapping a project

Last update: 2026-02-03
Started: 2025-08-18

Using Chronicler for Error-Tolerant Pipelines
The Problem: Silent Failures | What is {chronicler}? | The Challenge with Nix Builds | The Solution: Automatic Chronicle Checking | Three-State Status System | Complete Example | Automatic Warnings | Best Practices | When to Use Chronicler | Further Reading

Last update: 2026-02-01
Started: 2026-01-31

Running Pipelines in CI
Running pipelines on GitHub Actions

Last update: 2026-01-28
Started: 2025-08-18

Effective Debugging
Introduction | The First Response to a Failed Build: rxp_inspect() | Investigating Structural Issues with rxp_trace() | A Proactive Strategy: Isolating Derivations with noop_build | Historical Debugging: Going Back in Time | Conclusion

Last update: 2026-01-28
Started: 2025-09-02

Encoding, Decoding, and Cross-Language Data Transfer
Introduction | Custom Encoding and Decoding in R | Cross-Language Data Transfer: R ↔ Python | Summary

Last update: 2026-01-28
Started: 2025-09-06

Importing Data Files
Importing a single local file | Importing a single file from the internet | Importing many files from a directory | Importing files with dependencies (e.g., Shapefiles) | Conclusion

Last update: 2026-01-28
Started: 2025-09-03

Introductory Concepts
Definitions | Derivations | Dependencies of derivations | The Nix store and hermetic builds | Summary and conclusion

Last update: 2026-01-28
Started: 2025-08-18

Polyglot Pipelines with Julia and R
Generating waveshaders data using Julia and plotting it using R | Setting up the environment | Creating the pipeline | Helper functions | Data transfer between R and Julia | Conclusion

Last update: 2026-01-28
Started: 2025-08-18

Scope and Roadmap
Overview | What rixpress is | What rixpress is not | Primary audience | In-scope features (current) | Out-of-scope features (not planned) | Roadmap | Near-term (next minor releases) | Maybe later | Not planned | How to propose new features | Related projects and inspiration | Links

Last update: 2026-01-28
Started: 2025-08-18

Using {cmdstanr} with {rixpress}
Setting up the Environment | Setting up the pipeline | Compiling and Sampling the Model | Custom Serialisation | Summary

Last update: 2026-01-28
Started: 2025-08-18

Readme and manuals

Help Manual

Help pageTopics
Add an Import Statement to Python Files in the _rixpress Folder Matching a Nix Environment Nameadd_import
Adjust Python Import Statementsadjust_import
Print Method for Derivation Objectsprint.rxp_derivation
Print Method for rxp_pipeline Objectsprint.rxp_pipeline
Check Pipeline Outputs for Chronicle Statusrxp_check_chronicles
Copy Derivations From the Nix Store to Current Working Directoryrxp_copy
Export DAG of Pipeline and Prepare It for Rendering on CIrxp_dag_for_ci
Export Nix Store Paths to an Archiverxp_export_artifacts
Run a Pipeline on GitHub Actionsrxp_ga
Garbage Collect Rixpress Build Artifacts and Logsrxp_gc
Create a Directed Acyclic Graph (DAG) Representing the Pipeline Using '{ggplot2}'rxp_ggdag
Import Nix Store Paths from an Archiverxp_import_artifacts
Initialize Rixpress Projectrxp_init
Inspect the Build Result of a Pipelinerxp_inspect
Create a Nix Expression Running a Julia Functionrxp_jl
Creates a Nix Expression That Reads In a File (or Folder of Data) Using Juliarxp_jl_file
List All Available Build Logsrxp_list_logs
Load Output of a Derivationrxp_load
Build Pipeline Using Nixrxp_make
Create a Named Pipeline of Derivationsrxp_pipeline
Generate Nix Pipeline Coderxp_populate
Create a Nix Expression Running a Python Functionrxp_py
Creates a Nix Expression That Reads In a File (or Folder of Data) Using Pythonrxp_py_file
Transfer Python Object into an R Sessionrxp_py2r
Render a Quarto Document as a Nix Derivationrxp_qmd
Create a Nix Expression Running an R Functionrxp_r
Creates a Nix Expression That Reads In a File (or Folder of Data) Using Rrxp_r_file
Transfer R Object into a Python Sessionrxp_r2py
Read Output of a Derivationrxp_read
Render an R Markdown Document as a Nix Derivationrxp_rmd
Trace Lineage of Derivationsrxp_trace
Create a Directed Acyclic Graph (DAG) Representing the Pipeline Using '{visNetwork}'rxp_visnetwork
Generate a DAG From a List of Derivationsrxp_write_dag