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

awesome-shiny-extensions

🐝 Awesome R and Python packages offering extended UI or server components for the web framework Shiny
https://github.com/nanxstats/awesome-shiny-extensions

Last synced: 14 days ago
JSON representation

Backend

API Frameworks

  • RestRserve - R web API framework for building high-performance and robust microservices and app backends.
  • plumber - Create web APIs by decorating R code with special comments.
  • valve - Create multi-threaded Plumber APIs powered by Rust's tokio and axum web frameworks.
  • opencpu - A system for embedded scientific computing and reproducible research with R.
  • communicate - Small framework to communicate between Shiny client and server via HTTP requests.
  • plumber2 - Easy and powerful webservers in R. A complete rewrite of plumber.
  • htmxr - Build server-driven web applications in R with htmx for partial page updates and plumber2 for non-blocking HTTP endpoints.

Authentication

  • shinymanager - Simple and secure authentification mechanism for single Shiny apps.
  • gargle - Infrastructure for calling Google APIs from R, including auth.
  • googleAuthR - Shiny compatible Google API client for authentication with OAuth2.
  • auth0 - Authentication in Shiny apps using Auth0.
  • shinyauthr - Server-side authentication using shiny modules.
  • firebase - Authenticate Shiny users with Google Firebase.
  • otp - One-Time Password generation and verification.
  • backendlessr - R wrapper for Backendless API to manage users.
  • cognitoR - Authentication for Shiny apps with Amazon Cognito.
  • login - Shiny login module providing customizable login/logout UI.
  • polished - Authentication, user administration, and hosting for Shiny apps.
  • shinydbauth - Simple authentication for Shiny applications with database-backed credential storage.
  • shinyOAuth - Provider-agnostic OAuth authentication for Shiny applications.
  • tapLock - Seamless Single Sign-On for Shiny.
  • rAccess - Access control module for Shiny applications with hierarchical permission management.

Cloud Integration

  • cloudyr - R packages for integrating with AWS, Azure, and Google Cloud.

Database

G Suite Integration

  • googlesheets4 - R interface to Google Sheets via the Sheets API v4.
  • googlesheets - R interface to Google Spreadsheets API (no longer under active development).
  • googledrive - R API client for Google Drive.
  • gmailr - Access the Gmail RESTful API from R.

Job Scheduling

  • cronR - R package for managing cron jobs.

Notification Integration

  • slackr - Send messages, images, R objects, and files to Slack channels/users.
  • sendgridr - Send emails with SendGrid mail API (v3).
  • twilio - R interface to the Twilio API.
  • blastula - Easily send HTML email messages from R.
  • mjml - Create responsive emails with R and MJML.
  • mailtoR - Creates a friendly user interface for emails sending in Shiny.
  • r2social - Social media sharing and connect buttons for Shiny and R Markdown.

Persistent Data Storage

  • pins - Publish data sets, models, and other R objects to folders, Posit Connect, Amazon S3, and more.
  • shinystate - Customize Shiny's bookmarkable state with configurable storage locations via the pins package.
  • shinysnap - Save and restore the state of Shiny apps as JSON snapshots without page reloads or bookmarking.

URL Routing

  • Accepting POST requests from Shiny - Undocumented feature for handling POST requests that are not associated with any specific Shiny session.
  • shiny.router - Minimalistic URL router for Shiny apps.
  • shinyURL - Save and restore the state of a Shiny app by encoding the values of user inputs and active tab panels in the app's URL query string.
  • brochure - Create natively multi-page Shiny applications to serve content from multiple endpoints. See blog post on POST requests support.
  • scenes - Switch between alternative UIs based on request properties, such as cookies, paths, query parameters, or HTTP request method.
  • shinypayload - Accept POST data and URL parameters in Shiny for same-port integration.

Web APIs Integration

  • glouton - Handle browser cookies in shiny, built on top of js-cookie.
  • cookies - Another js-cookie package, with added functionality to handle HttpOnly cookies.
  • geoloc - Use the Geolocation API to get the location of the user (with user's permission).
  • shinyStore - Use the Web Storage API to store persistent, synchronized data in the user's browser.
  • shinyStorePlus - In-browser storage for Shiny persistent, synchronized data from the inputs using IndexedDB.
  • AutoDeskR - Interface to Autodesk Platform Services APIs with Shiny viewers for 2D and 3D design models.
  • gofigR - Shiny plot modules that publish figures to GoFigr.

Deploy

Desktop Deploy

  • RInno - Deploy Shiny apps to Windows by interfacing Inno Setup and Electron.
  • electricShine - Create distributable Shiny Electron apps.
  • photon - RStudio Add-in to build Shiny apps utilizing the Electron framework.
  • DesktopDeployR - A framework for deploying self-contained R-based applications to the desktop.
  • Shiny Meets Electron - Talk at useR! 2018 on turning Shiny app into standalone desktop apps. Talk video.
  • r-shiny-electron - Template for R Shiny and Electron integration.
  • nativefier - Create Electron wrappers for any websites (including remotely deployed Shiny apps).
  • shiny.pwa - Progressive Web App (PWA) support for Shiny, enabling installable web apps.

Remote Deploy

  • rsconnect - Deploy Shiny apps to shinyapps.io, or Posit Connect.
  • connectwidgets - Query a Posit Connect server for a subset of content items, then organize them within htmlwidget components in R Markdown documents or Shiny applications.
  • tinyshinyserver - Lightweight multi-app Shiny proxy with WebSocket support and automatic health monitoring.

Static Server Deploy

  • r-shinylive - Run Shiny apps entirely in the browser using WebAssembly via webR.
  • webR - A version of R compiled for the browser and Node.js using WebAssembly via Emscripten.

Developer Tools

Debugging

  • reactlog - Visual debugger for Shiny reactivity.
  • shinyobjects - Access reactive data interactively to help debug reactive data frames and load assigned objects into local environment.
  • shinyStep - Shiny modules for user-editable R functions with an Ace code editor, R console, and step debugger.
  • flow - Visualize code flow and dependencies, including dependencies between Shiny app modules.

Modularization

  • tidymodules - An object-oriented approach to Shiny modules.
  • supreme - Structure Shiny applications developed with modules.
  • packer - An opinionated framework for using JavaScript with R.
  • box - Organize code into hierarchical, composable, reusable modules, to use across projects.
  • many - Use multiple directories to build R packages.
  • component - Create components for Shiny, inspired by Vue.js.

Monitoring and Analytics

  • shinymetrics - Track shiny applications with Shinymetrics, providing analytics and telemetry for Shiny applications.
  • titan - Prometheus monitoring for Shiny applications, plumber APIs, and other R web services.
  • openmetrics - An opinionated Prometheus client for R conforming to the OpenMetrics standard.
  • pRometheus - A Prometheus client library for R, Plumber, and Shiny.
  • shiny.telemetry - Track events occurring on a user session and stores them in a local or remote database.
  • shinylogs - Record everything that happens in a Shiny application, including inputs, outputs, errors, and session information.
  • AzureAppInsights - Include Azure Application Insights telemetry in Shiny apps.

Profiling

  • profvis - Interactive visualizations for profiling R code. Profiling Shiny apps.
  • shiny.benchmark - Measure and compare the performance of different versions of a Shiny application.
  • shiny.info - Displays simple diagnostic information of the Shiny project in the user interface of the app.
  • shiny.tictoc - Measure Shiny app performance in the browser.

Prototyping

  • shinyuieditor - A GUI for laying out a Shiny application that generates clean and human-readable UI code.
  • shinipsum - Lorem-Ipsum-like helpers for fast Shiny prototyping.
  • fakir - Create fake data in R for tutorials.
  • shinysnippets - A series of Shiny related RStudio snippets.
  • midas - Bootstrap new Shiny functions by turning HTML snippets directly into R tag functions.
  • html2R - Converts HTML markup into R tag code for building Shiny UIs.

Scaling

  • promises - Promise-based asynchronous programming for R. Using promises with Shiny.
  • shinyParallel - Run Shiny applications in a multi-session mode.
  • FutureManager - Background processes for long-running operations in Shiny applications.
  • shiny.worker - Delegate heavy computation tasks to a separate process in a Shiny application.
  • ipc - Tools for message passing between processes, with Shiny-specific features for async progress bars and reactive value updates from futures.
  • jsplyr - Dplyr backend for Shiny that lazily translates data wrangling verbs into client-side JavaScript and returns results asynchronously as promises.

Testing

Frameworks

Foundational frameworks

  • Rhino - Build high quality, enterprise-grade Shiny apps at speed.
  • golem - Opinionated framework for building production-grade Shiny apps.
  • teal - Interactive exploration framework for analyzing clinical trials data, provides a dynamic filtering facility and different data viewers.
  • yonder - A reactive web framework built on Shiny with Bootstrap 4.
  • blockr.core - Graphical web framework for data manipulation and visualization using reusable, composable blocks.
  • aurora - Build stateless web apps in R with plumber2 and bslib.
  • learnr - Interactive R Markdown tutorials with Shiny-powered exercises, quizzes, and question widgets.
  • surveydown - Markdown-based programmable surveys using Quarto and Shiny, with skip logic, multiple question types, and database storage.
  • irid - Component-based reactive UI framework for Shiny with fine-grained DOM updates that avoid full re-rendering and update callbacks.

Framework extensions

  • teal.code - Code storage and execution class for teal applications.
  • teal.data - Data model for teal applications.
  • teal.modules.clinical - A set of teal modules for standard clinical outputs.
  • teal.modules.general - General modules for teal applications.
  • teal.reporter - Reporting tools for Shiny modules.
  • teal.slice - Filter module for teal applications.
  • teal.transform - Functions and Shiny modules for extracting and merging data within the teal framework.
  • teal.widgets - Shiny widgets for teal applications.
  • blockr.dag - A directed acyclic graph extension for blockr.
  • blockr.dock - A docking layout manager for blockr.
  • blockr.dplyr - Interactive dplyr data transformation blocks for blockr.
  • blockr.ggplot - Interactive ggplot2 visualization blocks for blockr.
  • blockr.io - Interactive file import and export blocks for blockr.
  • formods - Shiny modules for general tasks including data wrangling, figure generation, and app state management.
  • teal.picks - Dataset and variable picker and merge module for teal applications.
  • uteals - Shared decorators, transformators, and utility functions that extend teal modules.
  • tutorial.helpers - Helper functions and Shiny modules for creating, editing, and testing tutorials with learnr, including collecting student submissions.
  • mwshiny - Run a Shiny app across multiple connected browser windows.
  • VizModules - Flexible Shiny plotting modules for composing interactive visualization apps.
  • blockr.session - Persist, restore, share, and manage blockr boards with pins-backed storage, including Posit Connect user accounts and version history.
  • teal.logger - Logging setup for the teal family of packages.

Scaffolding

  • leprechaun - Code generator for lean and robust Shiny applications.
  • windy - Sets up basic scaffold to use Tailwind CSS within an R package for a Shiny application.
  • periscope - Enterprise streamlined Shiny application framework with reusable downloadable modules.
  • periscope2 - Enterprise streamlined Shiny application framework using bs4Dash.
  • autoshiny - Automatically transform an R function into a Shiny app object or app files.
  • ggpaintr - Build formula-driven Shiny apps for ggplot2 with automatically generated controls, live plots, and reproducible code.

Miscellaneous

Books

Dependency Resolution

  • renv - Create isolated, portable, and reproducible environments for R projects.
  • packrat - Parse R package dependencies of Shiny apps with packrat::appDependencies.
  • sysreqsdb - SystemRequirements mappings for R packages.
  • shinyapps-package-dependencies - A collection of bash scripts that install system dependencies for R packages.

Editor Extensions

  • shinysnip - Simple Shiny code snippets generator in VS Code.
  • textmate.rstheme - A light theme for VS Code inspired by the TextMate (default) theme in RStudio IDE.
  • shiny-vscode - VS Code extension to run Shiny apps (in R and Python) and create or save Shinylive links.
  • ShinyUiEditor - A visual tool for building the UI portion of a Shiny application that generates clean and human-readable code.

UI Customization

  • Bootstrap Live Customizer - Customize Bootswatch themes (Bootstrap 3) to create your own Bootstrap themes.
  • google-webfonts-helper - A hassle-free way to self-hosted Google Fonts, useful for air-gapped environments.
  • shinyfullscreen - Display HTML elements on full screen using 'screenfull.js'.
  • shinybrowser - Find out information about a user's web browser in Shiny.
  • shinytitle - Update the browser window title dynamically in a Shiny session.
  • a11yShiny - Accessibility-enhanced replacements for popular Shiny UI functions.
  • shinyseo - Inject SEO, Open Graph, Twitter, site verification, and schema.org metadata into Shiny apps.
  • favawesome - Use Font Awesome Icons as Shiny favicons.
  • metathis - Add HTML metadata tags for Shiny apps and R Markdown documents.
  • hypothesis - Add, share, and manage hypothes.is annotations in Shiny apps and R Markdown documents.

Videos / Screencasts

  • Shiny Developer Series - Interviews with practitioners & developers of Shiny and the broader ecosystem of Shiny packages, plus occasional live streams of Shiny app development in action.

Shiny for Python

Python - Chat

Python - Deploy

  • py-shinylive - Export Shiny applications as Shinylive applications.
  • rsconnect-python - CLI for interacting with and deploying to Posit Connect.

Python - Frameworks

  • Tapyr - Shiny for Python application template.

Python - Persistent Data Storage

  • pins-python - Publish data, models, and other Python objects for sharing across projects and with colleagues.

Python - Table

  • itables - Display Pandas and Polars data frames as interactive DataTables that you can sort, paginate, scroll, and filter.
  • reactable-py - Interactive data tables for Python, port of the R package reactable.
  • great-tables - Create styled display tables in Python.
  • gt-extras - Additional helper functions for enhancing great-tables tables.

Python - Theming

Python - UI Components

  • py-htmltools - Tools for creating, manipulating, and writing HTML from Python.
  • py-faicons - An interface to Font Awesome for use in Shiny for Python.
  • py-shinywidgets - Render ipywidgets inside a Shiny app.
  • py_shiny_semantic - Create rich web applications in PyShiny using styles and components from Fomantic UI.
  • py-shiny-validate - Input validation for Shiny for Python applications.
  • shinymedia - UI controls for recording video clips and playing audio media.

Theming

Dashboard Theming

  • shinydashboard - Shiny dashboarding framework based on AdminLTE 2.
  • shinydashboardPlus - Additional AdminLTE 2 components for shinydashboard.
  • gentelellaShiny - Bootstrap 3 Gentelella theme for Shiny dashboards.
  • semantic.dashboard - Fomantic UI for Shiny dashboards.
  • bs4Dash - Bootstrap 4 Shiny dashboards using AdminLTE 3.
  • argonDash - Bootstrap 4 Argon template for Shiny dashboards.
  • tablerDash - Tabler dashboard template for Shiny with Bootstrap 4.
  • shidashi - A Shiny dashboard template system using AdminLTE 3 template.
  • flexdashboard - R Markdown format for flexible dashboards.
  • bs4Dashkit - Branding, theme application, and navigation utilities for bs4Dash dashboards.
  • bslibdash - Bootstrap 5 dashboard components built on bslib, with sidebar navigation, cards, value boxes, and header menus.

Generic Theming