Skip to contents

Project Status: Active – The project has reached a stable, usable state and is being actively developed. cran checks R-check codecov.io rstudio mirror downloads cran version

An easy interface to CouchDB from R

Note: Check out R4couchdb, another R package to interact with CouchDB.

sofa docs: https://docs.ropensci.org/sofa/

CouchDB versions

sofa works with CouchDB v2 and v3. See the builds for checks on various CouchDB versions.

Connect to CouchDB

This may be starting it on your terminal/shell

couchdb

Or opening the CouchDB app on your machine, or running it in Docker. Whatever it is, start it up.

Install sofa

From CRAN

Development version from GitHub

remotes::install_github("ropensci/sofa")

Cushions

Cushions? What? Since it’s couch we gotta use cushions somehow. cushions are a connection class containing all connection info to a CouchDB instance. See ?Cushion for help.

As an example, connecting to a Cloudant couch:

z <- Cushion$new(
  host = "stuff.cloudant.com",
  transport = 'https',
  port = NULL,
  user = 'foobar',
  pwd = 'things'
)

Break down of parameters:

  • host: the base url, without the transport (http/https)
  • path: context path that is appended to the end of the url
  • transport: http or https
  • port: The port to connect to. Default: 5984. For Cloudant, have to set to NULL
  • user: User name for the service.
  • pwd: Password for the service, if any.
  • headers: headers to pass in all requests

If you call Cushion$new() with no arguments you get a cushion set up for local use on your machine, with all defaults used.

x <- Cushion$new()

Ping the server

x$ping()

Nice, it’s working.

More

See the docs https://docs.ropensci.org/sofa/ for more.

Meta

  • Please report any issues or bugs.
  • License: MIT
  • Get citation information for sofa in R doing citation(package = 'sofa')
  • Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.