arrgh: a Go interface to the OpenCPU R server system

Abstract

OpenCPU (Ooms 2014) provides an interface to the R system for statistical computing (R Core Team 2015). The OpenCPU API provides a number of HTTP endpoints and a JSON Remote Procedure Call protocol (Ooms 2013), either to a remote host or to a single user local server. Go is a simple statically typed compiled language that provides many benefits for scientific computing. However, Go currently lacks the rich statistical analysis tools available in R. So an interface between R and Go would allow building analytical tools utilising the simplicity and high performance of Go and the statistical analysis tools available within R. The arrgh package is intended to be used by Go developers wanting to add rich statistical analysis to Go analytical tools. The arrgh package provides a Go client for the OpenCPU system, including the management of a local server when needed. Data exchange between Go and OpenCPU is via standard HTTP content types, with arrgh providing tools to facilitate encoding and endpoint targeting.

Publication
The Journal of Open Source Software

Ooms, Jeroen. 2013. “OpenCPU Api Documentation.” https://www.opencpu.org/api.html.

———. 2014. “The Opencpu System: Towards a Universal Interface for Scientific Computing Through Separation of Concerns.” arXiv:1406.4806 [stat.CO]. http://arxiv.org/abs/1406.4806.

R Core Team. 2015. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.