Embedded Scientific Computing and Reproducible Research with R

The OpenCPU system exposes an http API for embedded scientific computing with R. The server can run either as a single-user development server within the interactive R session, or as a multi-user linux stack based on rApache and NGINX. The current R package implements the core of the system. When loaded in R, it automatically initiates the single-user server and displays the web address in the console. The OpenCPU website has more detailed API documentation.



  • Fix bug to support non interactive: Rscript -e 'opencpu::opencpu$debug(4000)'
  • Suggest: feather


  • Workaround for unloadNamespace bug in R 3.3.0


  • Lazy load import packages using pkg::name instead of importFrom()


  • Replace 'RProtoBuf' dependency with 'protolite'


  • Bump version to sync with cloud server
  • Workaround in eval_fork for mccollect race condition bug


  • Fix for case sensitive Github usernames


  • Support Auth over CORS


  • Add a CITATION file
  • Fix for new rhttpd system in R 3.2.0


  • Add support for "Accept" request header
  • Update /man/html stylesheet
  • Add back support for URL parameters
  • Only use AppArmor if available
  • Add default robots.txt and favicon to cloud server
  • Cloud server now sets HOME envvar to tempdir()
  • Add support for x12345::foo arguments
  • Remove ocpu_tmp_ prefix for session directories in tmp_library
  • Bunch of internal changes to support Fedora/Redhat RPM packages


  • Add support for application/json payloads for Github webhooks
  • Disable forks in OSX (again) due to issues with rJava
  • Disable unloading of packages in eval_current due to issues with rJavas
  • Fix for eol in csv/tab output on Windows
  • Fix for hash collisions with large amounts of sessions
  • Add whitepaper vignette and url to package


  • Bug fix for JSON input data
  • Bump jsonlite depends to 0.9.8


  • Make session-key lenght configurable, default to 9.


  • HTTP 201 301 302 now uses absolute URL in Location header
  • Don't print call for internal stop() errors
  • Change vignette builder to knitr
  • Update devtools and httr dependencies
  • Replace CR+LF by LF before parsing code snippets
  • Add support for index.html in package root dir
  • Disable compression in storring sessions to gain speed
  • Clean up parsing code


  • Add support for private github repositories using access token authentication.
  • Use ~/.opencpu.conf as primary config file for single user server.
  • Disable hyperlinks in HTML man pages.
  • Bug fix for rscripts on the cloud server.
  • Experimental support for dot-dot-dot arguments.


  • Don't send attachement header for SVG anymore.
  • Upgrade rApache to 1.2.5: avoid receiveBin() when apreq alread parsed
  • Start using HTTP 405 instead of 400 for invalid methods


  • Use latest version of jsonlite
  • Better support for lazy load data API
  • Moved CRON scripts to update cran, bioc, github libraries inside the package
  • Use rstudio proxy when single-user server is loaded in rstudio-server.


  • Replaced dependency RJSONIO with jsonlite for all toJSON/fromJSON
  • Add support for pkg/data API
  • Improve CI email notifications
  • add /console shortcut
  • correct MIME headers for fonts


  • Adding Github CI stuff
  • New config parameters: "public.url" and "smtp.server", "timelimit.webhook"


  • Version bump for CRAN release.
  • Detect /ocpu/user libraries from /etc/passwd.


  • Don't fork on MAC for "safe" requests (to reduce risk of fork issues)
  • Temporary change fork method to psock method on OSX because of problems in Mavericks.
  • Adding opencpu$view() to take advantage of Rstudio viewing panel if available
  • Set quick=true for install_github
  • Use bitmapType="cairo" if available
  • Temporary implementation of HTTP OPTIONS for CORS in chrome.
  • Adding Access-Control-Allow-Headers and Access-Control-Expose-Headers to support CORS preflighting.


  • Fixed bug when timeout > 60s (reported by Jordy Coolen)
  • Fixed nginx warning in the cloud server
  • Upgrade evaluate to 0.5.1
  • Add support for Apache 2.4 / Ubuntu Saucy in cloud server with mpm_prefork


  • Invisible return values are now stored but not printed
  • Dependency update to evaluate 0.4.10


  • Capture output for install.packages, install_github and biocInstaller
  • Remove rapache library change in onAttach


  • Fix bugs for uploading files
  • Fix bugs for storing files from a session
  • Set default bitmap type to Cairo (to prevent problems with forks on MAC)

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.6.1 by Jeroen Ooms, 10 months ago

https://www.opencpu.org https://github.com/jeroenooms/opencpu#readme

Report a bug at https://github.com/jeroenooms/opencpu/issues

Browse source code at https://github.com/cran/opencpu

Authors: Jeroen Ooms

Documentation:   PDF Manual  

Task views: Web Technologies and Services

Apache License 2.0 license

Imports evaluate, httpuv, knitr, jsonlite, devtools, httr, protolite, brew, openssl

Suggests RAppArmor, feather, sendmailR, pander, R.rsp

System requirements: pandoc, apparmor (optional)

Imported by LeArEst.

Depended on by x.ent.

Suggested by distcomp.

See at CRAN