GitHub

CRAN release Dependencies Code coverage R-CMD-check status Test coverage CI status

Downloads per month Downloads total Last commit Lifecycle status

Build fast interactive data analysis pipelines that scale.

{pipeflow} simply lets you add R functions one by one, wiring them into a pipeline that stays consistent as you go. Modify, remove, or insert steps at any stage, and manage all parameters in one place.

Thanks to its intuitive interface, using {pipeflow} quickly pays off in the beginning while in the long run helps keeping a clear and structured overview of your project.

cartoon

Why use {pipeflow}

Installation

# Install release version from CRAN
install.packages("pipeflow")
# Install development version from GitHub
devtools::install_github("rpahl/pipeflow")

Usage

library(pipeflow)
p <- pip_new("demo") |>
    pip_add("numbers", \(n = 5) seq_len(n)) |>
    pip_add("squared", \(x = ~numbers) x^2) |>
    pip_add("total",   \(x = ~squared) sum(x))
p
# <pipeflow_pip> demo (3 steps)
# -----------------------------
#       step depends    out state
# 1: numbers         [NULL]   new
# 2: squared numbers [NULL]   new
# 3:   total squared [NULL]   new
pip_run(p)
# info [2026-06-20 19:16:29.615 UTC]: Start run of pipeflow_pip 'demo'
# info [2026-06-20 19:16:29.616 UTC]: Step 1/3 numbers
# info [2026-06-20 19:16:29.618 UTC]: Step 2/3 squared
# info [2026-06-20 19:16:29.620 UTC]: Step 3/3 total
# info [2026-06-20 19:16:29.622 UTC]: Finished run of pipeflow_pip 'demo'
pip_collect_out(p)
# $numbers
# [1] 1 2 3 4 5
# 
# $squared
# [1]  1  4  9 16 25
# 
# $total
# [1] 55

Getting Started

It is recommended to read the vignettes in the order they are listed below:

Advanced topics

Benchmarks

Read the original on github.com ↗