Skip to content

Introduction#

Version 2021.11.0

RStudio Connect connects you and the work you do in R with others as never before. Only RStudio Connect provides:

  • "One button" deployment for any Shiny application, R Markdown document, or any static plot or graph to a single environment.

  • The ability to manage and limit access to the work you've shared with others - and easily see the work they've shared with you.

  • "Hands free" scheduling of updates to your documents and automatic email distribution.

For more information on running RStudio Connect in your organization please visit https://www.rstudio.com/products/connect/.

Shiny#

Example Shiny application showing bus trips

Shiny is a web application framework for R that can help turn your analyses into interactive web applications. Get started by following the Shiny tutorial then visit the gallery for inspiration to use in your own dynamic visualizations.

RStudio Connect hosts your Shiny applications, allowing colleagues to interact with your data.

Python Flask API#

RStudio Connect supports deploying Python APIs that are WSGI-compatible, such as applications built with the Flask web framework:

# app.py
# -*- coding: utf-8 -*-
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, World!"

RStudio Connect hosts your Python API, controls access to your Python API, and starts new worker processes when needed to handle high load.

Further information about building Python APIs with Flask may be found in the Flask user guide.

Python FastAPI#

In addition to Flask APIs, RStudio Connect supports deploying Python APIs that are ASGI-compatible, such as those based on the FastAPI framework:

# app.py
# -*- coding: utf-8 -*-
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def hello():
    return "Hello, World!"

RStudio Connect hosts your API, controls access to your Python API, and starts new worker processes when needed to handle high load.

FastAPI provides automatic Swagger documentation, accessible via the /docs path in your API. If you do not define a GET / handler, RStudio Connect will provide one that redirects to GET /docs.

For more information, see the FastAPI user guide.

Plumber#

Plumber is an R package that makes it easy to create API endpoints from annotated R code. For example:

## hello-world/plumber.R

#* @get /
helloEndpoint <- function() {
   "Hello, World!"
}

RStudio Connect hosts your APIs, controls access to your endpoints, and starts new instances when needed to handle high load.

Swagger Documentation#

Example Plumber API Swagger documentation

RStudio Connect makes it easy to share your API documentation using swagger. You need Plumber version 0.4.0, or higher. The latest stable release of Plumber can be installed with install.packages("plumber").

If you do not define a GET / handler, RStudio Connect will provide one that redirects to GET /__swagger__, a special link in Plumber that redirects to Swagger UI. To disable this, define a handler for GET /.

R Markdown#

Example R Markdown report on Motor Trend road tests

R Markdown is an authoring format that enables easy creation of dynamic documents, presentations, and reports from R. It combines the core markdown syntax with embedded R code chunks.

RStudio Connect helps you publicize and distribute your R Markdown documents. Content is published to the server, where colleagues can view your work. Documents can be periodically regenerated with the results distributed via email.

Plots and Graphs#

Example plot of mtcars

R has very powerful plotting and graphing capabilities. With packages like ggplot2, it is easy to produce complex, multi-layered graphics.

RStudio Connect helps you share your plots and graphs by hosting that content.

TensorFlow Model APIs#

Deploying your saved TensorFlow model to Connect is easy. Once your model has been trained, save it to a directory:

# `library(tensorflow)` version
export_savedmodel(session, "mysavedmodel")

# `library(keras)` version
export_savedmodel(model, "mysavedmodel")

That directory can be deployed to connect. Learn more in the TensorFlow publishing section.

Jupyter Notebooks#

Jupyter Notebooks can be deployed to RStudio Connect with the use of the rsconnect-jupyter plugin.

Pins#

The pins R package provides a way for R users to easily share resources, such as data files or R objects, on RStudio Connect. Pins can help data science teams share R objects, metadata, and even enable scheduled updates to APIs and Shiny applications.

The pins package documentation and the Pins chapter of this guide will help you get started.

Dash#

Dash is a productive Python framework for building web applications. Written on top of Flask, Plotly.js, and React.js, Dash is ideal for building data visualization apps with highly custom user interfaces in pure Python. It's particularly suited for anyone who works with data in Python.

RStudio Connect hosts your Dash apps, allowing colleagues to interact with your data.

Example Dash app

Streamlit#

Streamlit is an open-source Python library that makes it easy to build beautiful custom web-apps for machine learning and data science.

You can deploy your Streamlit apps to RStudio Connect to enable secure sharing and scalability.

Example Streamlit app

Bokeh#

Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords high-performance interactivity over large or streaming datasets. Bokeh can help anyone who would like to quickly and easily make interactive plots, dashboards, and data applications.

RStudio Connect hosts your Bokeh apps, providing secure access to your data visualizations.

Example Bokeh app