Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jcpsantiago/plungr

A plumber's API best friend.
https://github.com/jcpsantiago/plungr

api plumber-api r rstudio-addin rstudio-desktop

Last synced: 3 months ago
JSON representation

A plumber's API best friend.

Awesome Lists containing this project

README

        

[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://www.tidyverse.org/lifecycle/#experimental)
[![Travis build status](https://travis-ci.org/ozean12/plungr.svg?branch=master)](https://travis-ci.org/ozean12/plungr)
[![Codecov test coverage](https://codecov.io/gh/ozean12/plungr/branch/master/graph/badge.svg)](https://codecov.io/gh/ozean12/plungr?branch=master)
[![CRAN status](https://www.r-pkg.org/badges/version/plungr)](https://CRAN.R-project.org/package=plungr)

# plungr

`plungr` (ˈplʌn(d)ʒər) is an opinionated RStudio project template for
building [Plumber](https://github.com/rstudio/plumber) APIs as packages.

Building your API as a package has some benefits:

* Use `testthat` to test your functions and the API itself
* Document every function and every endpoint
* Easier integration with CI/CD services like Travis or Jenkins
* Functions are reusable outside of the API project

## Using plungr

Install the development version of `plungr` with:
```r
# install.packages("remotes")
remotes::install_github("ozean12/plungr")
```

## Acknowledgments

`plungr` wouldn't exist without the [golem](https://github.com/ThinkR-open/golem) package, which does an amazing job at packaging Shiny apps.

The idea for this package came from a [post](https://community.rstudio.com/t/plumber-api-and-package-structure/18099) by Julia Silge on RStudio community.
There you can find further information about the topic of packaging Plumber APIs.

## Contributing

PRs, issues and ideas are welcome!

Please note that the `plungr` project is released with a
[Contributor Code of Conduct](CODE_OF_CONDUCT.md).
By contributing to this project, you agree to abide by its terms.