Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

CRAN version Test Suite

Install the package from CRAN with


The current development version of the package can be installed directly from sources on GitHub using the devtools package as follows (requires an R development environment and the R devtools package):

devtools::install_github("Paradigm4/SciDBR")  # development branch

# or

devtools::install_github("Paradigm4/SciDBR", ref="laboratory")  # experimental branch

The SciDB R package requires installation of a simple open-source HTTP network service called on the computer that SciDB is installed on. This service only needs to be installed on the SciDB machine, not on client computers that connect to SciDB from R. See for source code and installation instructions.

Developers please note that R CMD check-style unit tests are skipped unless a system environment variable named SCIDB_TEST_HOST is set to the host name or I.P. address of SciDB. See the tests directory for test code.

GitHub branch policy: the "devel" branch is for new ideas that have a good chance of making it into the CRAN package, but all tests might not yet pass. The "master" branch should pass all R CMD check tests against the current R-devel version of R on all platforms, tested against the current SciDB release.

Getting Started Documentation

Changes in package version 2.0.0

This is a major release that breaks API compatibility with previous package releases. Array objects have been removed. All SciDB arrays are now presented as virtual data frames in R. This change was informed by the most common uses we've seen.

Debug logging

To enable extra logging at runtime, use the following options:

  • options(scidb.debug=TRUE): enable debug-level logging
  • options(scidb.trace=TRUE): enable trace-level logging
  • options(scidb.debug=2): enable trace-level logging (legacy compatibility)
  • options(scidb.trace.http=TRUE): log HTTP requests and responses, including URLs, headers, and data
  • options(scidb.trace.api=TRUE): log calls to @export-ed functions, including full printouts of their arguments and return values
  • options(scidb.trace.api='internal'): log important internal calls too
  • options(scidb.log.mask=TRUE): mask UIDs and hashes in logging output to make it easier to compare logs between two different runs

To control length of strings in trace logging:

  • options(scidb.trace.api.maxlength=999): Set maximum length of a log statement when scidb.trace.api=TRUE
  • options(scidb.trace.api.maxitems=99): Set maximum number of list elements to print when scidb.trace.api=TRUE
  • options(scidb.trace.http.maxlength.json=2999): Set maximum length of JSON to print when scidb.trace.http=TRUE
  • options(scidb.trace.http.maxlength.text=2999): Set maximum length of non-JSON text content to print when scidb.trace.http=TRUE
  • options(scidb.trace.http.maxlength.binary=19): Set maximum length of binary content to print as a hex dump when scidb.trace.http=TRUE

Note that trace-level log messages can significantly slow down the operation of the API, so only use them when debugging a problem or when the query you are logging returns a small amount of data.