Master branch: Travis-CI Build Status Dev branch: Travis-CI Build Status Untested branch: Travis-CI Build Status [1.2]: (me on Twitter) [1]:


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][1.2]][1]

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
plot of chunk depgraph

Development branches


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")