sofa

Easy R interface to CouchDB

https://github.com/ropensci/sofa

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.1%) to scientific vocabulary

Keywords

cloudant couchdb couchdb-client database r r-package rstats
Last synced: 4 months ago · JSON representation

Repository

Easy R interface to CouchDB

Basic Info
Statistics
  • Stars: 33
  • Watchers: 9
  • Forks: 17
  • Open Issues: 0
  • Releases: 3
Topics
cloudant couchdb couchdb-client database r r-package rstats
Created over 12 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog Contributing Code of conduct Codemeta

README.Rmd

---
title: 'sofa'
output: md_document
---

```{r, echo=FALSE}
knitr::opts_chunk$set(
  collapse=TRUE,
  comment="#>",
  warning=FALSE,
  message=FALSE
)
```

# sofa 



[![CRAN status](https://www.r-pkg.org/badges/version/sofa)](https://CRAN.R-project.org/package=sofa)
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![R-check](https://github.com/ropensci/sofa/workflows/R-check/badge.svg)](https://github.com/ropensci/sofa/actions)
[![codecov.io](https://codecov.io/github/ropensci/sofa/coverage.svg?branch=master)](https://codecov.io/github/ropensci/sofa?branch=master)
[![rstudio mirror downloads](https://cranlogs.r-pkg.org/badges/sofa?color=ff69b4)](https://github.com/metacran/cranlogs.app)



__An easy interface to CouchDB from R__

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

## CouchDB versions

`sofa` works with CouchDB v2 and v3. See [the builds](https://github.com/ropensci/sofa/actions?query=workflow%3AR-check) for checks on various CouchDB versions.

## CouchDB Info

* Docs: 
* Installation: 

## Connect to CouchDB

This may be starting it on your terminal/shell

```sh
couchdb
```

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

## Install sofa

From CRAN

```{r eval=FALSE}
install.packages("sofa")
```

Development version from GitHub

```{r eval=FALSE}
remotes::install_github("ropensci/sofa")
```

```{r}
library('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:

```{r eval=FALSE}
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.

```{r eval=FALSE}
x <- Cushion$new()
```

Ping the server

```{r eval=FALSE}
x$ping()
```

Nice, it's working.

## More

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


## Meta

* Please [report any issues or bugs](https://github.com/ropensci/sofa/issues).
* 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][coc]. By participating in this project you agree to abide by its terms.

[![ropensci_footer](https://ropensci.org/public_images/github_footer.png)](https://ropensci.org)

[coc]: https://github.com/ropensci/sofa/blob/master/CODE_OF_CONDUCT.md

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

CodeMeta (codemeta.json)

{
  "@context": [
    "http://purl.org/codemeta/2.0",
    "http://schema.org"
  ],
  "@type": "SoftwareSourceCode",
  "identifier": "sofa",
  "description": "Provides an interface to the 'NoSQL' database 'CouchDB'\n    (<http://couchdb.apache.org>). Methods are provided for managing\n    databases within 'CouchDB', including creating/deleting/updating/transferring,\n    and managing documents within databases. One can connect with a local\n    'CouchDB' instance, or a remote 'CouchDB' databases such as 'Cloudant'. \n    Documents can be inserted directly from vectors, lists, data.frames, \n    and 'JSON'. Targeted at 'CouchDB' v2 or greater.",
  "name": "sofa: Connector to 'CouchDB'",
  "codeRepository": "https://github.com/ropensci/sofa",
  "issueTracker": "https://github.com/ropensci/sofa/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "0.4.0",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "version": "4.0.2",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.0.2 (2020-06-22)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Central R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "Scott",
      "familyName": "Chamberlain",
      "email": "myrmecocystus@gmail.com",
      "@id": "https://orcid.org/0000-0003-1444-9135"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Scott",
      "familyName": "Chamberlain",
      "email": "myrmecocystus@gmail.com",
      "@id": "https://orcid.org/0000-0003-1444-9135"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    }
  ],
  "softwareRequirements": [
    {
      "@type": "SoftwareApplication",
      "identifier": "crul",
      "name": "crul",
      "version": ">= 0.4.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=crul"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "jsonlite",
      "name": "jsonlite",
      "version": ">= 1.5",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=jsonlite"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "R6",
      "name": "R6",
      "version": ">= 2.2.2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=R6"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "mime",
      "name": "mime",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=mime"
    }
  ],
  "contIntegration": "https://travis-ci.org/ropensci/sofa",
  "releaseNotes": "https://github.com/ropensci/sofa/blob/master/NEWS.md",
  "readme": "https://github.com/ropensci/sofa/blob/master/README.md",
  "fileSize": "72.232KB",
  "applicationCategory": "Databases",
  "isPartOf": "https://ropensci.org",
  "keywords": [
    "CouchDB",
    "database",
    "NoSQL",
    "documents",
    "couchdb",
    "couchdb-client",
    "cloudant",
    "r",
    "rstats",
    "r-package"
  ],
  "developmentStatus": "http://www.repostatus.org/#active",
  "relatedLink": "https://docs.ropensci.org/sofa",
  "contributor": {},
  "copyrightHolder": {},
  "funder": [
    {
      "@type": "Organization",
      "name": "rOpenSci"
    }
  ]
}

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Dependencies

DESCRIPTION cran
  • R6 >= 2.2.2 imports
  • crul >= 0.4.0 imports
  • jsonlite >= 1.5 imports
  • mime * imports
  • knitr * suggests
  • rmarkdown * suggests
  • testthat * suggests
.github/workflows/R-check.yaml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/upload-artifact master composite
  • r-lib/actions/setup-pandoc master composite
  • r-lib/actions/setup-r master composite
  • r-lib/actions/setup-tinytex master composite
  • couchdb ${{ matrix.config.couch }} docker