Skip to content
The Data-Centered Data Flow manager for R
Branch: dev
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
R merged void differences Dec 3, 2018
Rmd update README Aug 4, 2017
inst moving remote sample to github Nov 17, 2017
man merged void differences Dec 3, 2018
tests Added enableSuggestions parameter for faster repo_get Dec 3, 2018
NAMESPACE news file updated Dec 3, 2018 fixed version number, added cran comment Nov 18, 2017


Master branch: Travis-CI Build Status Dev branch: Travis-CI Build Status


Repo is a data-centered data flow manager. It allows to store R data files in a central local repository, together with tags, annotations, provenance and dependence information. Any saved object can then be easily located and loaded through the repo interface.

A paper about Repo has been published in BMC Bioinformatics.

Latest news are found in the file of the "Untested" branch.

Repo is developed by Francesco Napolitano alt text

Minimal example

Repository creation in the default folder:

    rp <- repo_open()

Putting some stuff (it is saved on permanent storage). In this case, just values and names are specified:

    rp$put(Inf, "God")
    rp$put(0, "user")

Putting specifying dependencies:

    rp$put(pi, "The Pi costant", depends="God")
    rp$put(1:10, "r", depends="user")

Getting stuff from the repository on the fly:

    diam <- 2 * rp$get("r")
    circum <- 2 * rp$get("The Pi costant") * rp$get("r")
    area <- rp$get("The Pi costant") * rp$get("r") ^ 2

Putting with verbose descriptions:

    rp$put(diam, "diameters", "These are the diameters", depends = "r")
    rp$put(circum, "circumferences", "These are the circumferences",
           depends = c("The Pi costant", "r"))
    rp$put(area, "areas", "This are the areas",
           depends = c("The Pi costant", "r"))

Repository contents:

#>              ID Dims Size
#>             God    1 42 B
#>            user    1 40 B
#>  The Pi costant    1 45 B
#>               r   10 60 B
#>       diameters   10 65 B
#>  circumferences   10 94 B
#>           areas   10 93 B
#> Root:            /tmp/RtmpIjPq16/kZJJAjPdwgCB 
#> Number of items: 7 
#> Total size:      439 B
#> ID:           areas
#> Description:  This are the areas
#> Tags:         
#> Dimensions:   10
#> Timestamp:    2017-08-04 15:40:03
#> Size on disk: 93 B
#> Provenance:   
#> Attached to:  -
#> Stored in:    sk/nr/zy/sknrzyen718nms80t89timt6fyrc2zvx
#> MD5 checksum: 65b946a5ffd6d1a63572e1ccfe3a9e08
#> URL:          -

Visualizing dependencies:


plot of chunk depgraph

Development branches

  • Master: stable major releases, usually in sync with lastest CRAN version.

  • Dev: fairly stable minor releases.

  • Untested: unstable, in progress versions. Latest news appear in the "" file of this branch.


Besides inline help, two documents are available as introductory material:

Download and Installation

Repo is on CRAN and can be installed from within R as follows:

> install.packages("repo")

However, CRAN versions are not updated very often. Latest stable release can be downloaded from Github at Repo can then be installed from the downloaded sources as follows:

> install.packages("path-to-downloaded-source", repos=NULL)

devtools users can download and install at once the latest development version from github as follows:

> install_github("franapoli/repo", ref="dev")
You can’t perform that action at this time.