Skip to content
master
Go to file
Code
This branch is 10 commits behind dev.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
R
 
 
Rmd
 
 
 
 
man
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

output
github_document

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

Repo

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 NEWS.md file of the "Untested" branch.

Repo is developed by Francesco Napolitano alt text

Minimal example

Repository creation in the default folder:

    library(repo)
    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:

    print(rp)
#>              ID Dims  Size
#>             God    1  51 B
#>            user    1  49 B
#>  The Pi costant    1  55 B
#>               r   10  99 B
#>       diameters   10  75 B
#>  circumferences   10 103 B
#>           areas   10 103 B
    rp$info()
#> Root:            /tmp/RtmpuWggyW/zW79im0Pc1xO 
#> Number of items: 7 
#> Total size:      535 B
    rp$info("areas")
#> ID:           areas
#> Description:  This are the areas
#> Tags:         
#> Dimensions:   10
#> Timestamp:    2019-12-18 16:20:56
#> Size on disk: 103 B
#> Provenance:   
#> Attached to:  -
#> Stored in:    o7/bu/g5/o7bug58bbc1n94cnrgsb7ozc5b4txe1s
#> MD5 checksum: 56ad410055fedb0cae012d813a130291
#> URL:          -

Visualizing dependencies:

    rp$dependencies()

plot of chunk depgraph

Development branches

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

  • Dev: minor releases passing automatic checks.

  • Untested: in progress versions and prototype code, not necessarily working.

Manuals

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

Latest stable release can be downloaded from Github at https://github.com/franapoli/repo. Repo can then be installed from the downloaded sources as follows:

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

devtools users can install directly from github as follows:

> install_github("franapoli/repo", ref="dev")

About

The Data-Centered Data Flow manager for R

Resources

Packages

No packages published

Languages

You can’t perform that action at this time.