🔲®️ Install and run programs, outside of R, inside of R
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
R
man
other
tests
.Rbuildignore
.gitignore
.travis.yml
DESCRIPTION
LICENSE
NAMESPACE
README.Rmd
README.md
dev.R
logo.png

README.md

Install and run programs, outside of R, inside of R

Build Status Coverage Status

The Outsider is always unhappy, but he is an agent that ensures the happiness for millions of 'Insiders'.

The Outsider, Wilson, 1956.


Integrating external programs into a deployable, R workflow can be challenging. Although there are many useful functions and packages (e.g. system() or reticulate) for calling code and software from alternative languages, these approaches require users to independently install dependant software and may not work across platforms.outsider aims to make this easier by allowing users to install, run and control programs outside of R across all operating systems.

Installation

To install the development version of the package ...

devtools::install_github('AntonelliLab/outsider')

Additionally, you will also need to install Docker desktop. To install Docker visit the Docker website and follow the instructions for your operating system: Install Docker.

Quick examples

library(outsider)
# outsider modules are hosted on GitHub
# this repo is a demonstration outsider module
# it contains a function for printing 'Hello World!' in Ubuntu 18.04
repo <- 'dombennett/om..hello.world..1.0'
module_install(repo = repo)
# look up the help files for the module
module_help(repo = repo)
# import the 'hello_world' function
hello_world <- module_import(fname = 'hello_world', repo = repo)
# run the imported function
hello_world()
#> Hello world!
#> ------------
#> DISTRIB_ID=Ubuntu
#> DISTRIB_RELEASE=18.04
#> DISTRIB_CODENAME=bionic
#> DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

Available external programs

Listing will appear soon!

How does it work?

Dans l'obscurité de ma prison roulante, j'ai retrouvé un à un, comme du fond de ma fatigue, tous les bruits familiers d'une ville que j'aimais et d'une certaine heure où il m'arrivait de me sentir content. Le cri des vendeurs de journaux dans l'air déjà détendu, les derniers oiseaux dans le square, l'appel des marchands de sandwiches, la plainte des tramways dans les hauts tournants de la ville et cette rumeur du ciel avant que la nuit bascule sur le port, tout cela recomposait pour moi un itinéraire d'aveugle, que je connaissais bien avant d'entrer en prison.

L'étranger, Camus, 1942.

Things can a get a little existentialist when coding. Not everything works; bugs, errors and failures. This can be especially true when you're forced to pull code together from multiple programs and on different operating systems. But even during these darkest moments, there can be light.

The light in this case comes from a big, blue whale called docker and a weird cephalopod-mammal hybrid called GitHub.

outsider_outline

Version

Development version 0.

Maintainer

Dom Bennett