Producing and Reproducing Results

A system for embedded scientific computing and reproducible research with R. The OpenCPU server exposes a simple but powerful HTTP api for RPC and data interchange with R. This provides a reliable and scalable foundation for statistical services or building R web applications. The OpenCPU server runs either as a single-user development server within the interactive R session, or as a multi-user Linux stack based on Apache2. The entire system is fully open source and permissively licensed. The OpenCPU website has detailed documentation and example apps.



  • 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.


2.0.5 by Jeroen Ooms, 3 months ago (website) (documentation) (devel)

Report a bug at

Browse source code at

Authors: Jeroen Ooms

Documentation:   PDF Manual  

Task views: Web Technologies and Services

Apache License 2.0 license

Imports evaluate, httpuv, knitr, jsonlite, devtools, sys, webutils, curl, sendmailR, rappdirs, zip, mime, protolite, brew, openssl

Suggests unix, haven, feather, pander, R.rsp

System requirements: pandoc, apparmor (optional)

Imported by LeArEst.

Suggested by distcomp.

See at CRAN