shinylive
Run Shiny on Python and R (compiled to wasm) in the browser
Shinylive deploys Shiny applications that run entirely in the browser using Pyodide and webR, which are Python and R compiled to WebAssembly. This eliminates the need for a server to host Shiny apps.
The package handles building and bundling all necessary components to make Shiny applications work client-side in the browser. It manages package dependencies through a lockfile system, builds JavaScript resources from TypeScript sources, and creates a distribution that includes both the Shiny framework and additional Python/R packages beyond the base Pyodide installation. Developers can deploy Shiny apps that users can run without any backend infrastructure.
Contributors#
Events featuring shinylive#
Resources featuring shinylive#
{shinylive}: Serverless Shiny applications workshop
{shinylive}: Serverless Shiny applications workshop: An exercise in deploying your app to GitHub Pages - Barret Schloerke
Resources mentioned in the workshop:
- Workshop slides (best viewed in browsers using Chrome engine): http://schloerke.com/workshop-rinpharma24-shinylive/
- Workshop GitHub repository: https://github.com/schloerke/workshop-rinpharma24-shinylive
Workshop recorded as part of the 2024 R/Pharma Workshop Series

R-Ladies Rome (English) - Interactive R, Python, and Shiny in the Browser with Quarto and Shinylive
In this session, Isabella Velásquez walks us through Quarto Live and Shinylive, powerful tools that allow us to create interactive R, Python, and Shiny applications without a server. These technologies make it easier than ever to share dynamic, engaging data science projects directly in the browser.
What You’ll Learn
️ How Quarto Live brings interactive code to static documents ️ How Shinylive allows Shiny apps to run entirely in the browser ️ Practical use cases for data science, education, and collaboration
This talk is ideal for data scientists, educators, and open-source enthusiasts who want to make their work more interactive and accessible.
To further explore the subject, we recommend visiting the presentation of the talk : https://ivelasq.github.io/2025-02-21_r-python-shiny-in-the-browser
More about the Speaker:
0:00 R-Ladies Rome Chapter Intro 5:00 Isabella’s Talk
Please visit: https://rladiesrome.org
Workflow Demo Live Q&A - December 18th!
This is the Live Q&A session for our Workflow Demo on December 18th to show how to build a Shiny app that reads from and writes to a database - using DuckDB.
The demo will be here: https://youtu.be/6AGroJb4zPM
Sara covers how to:
- Set up a connection to DuckDB from a Shiny app
- Query the database using R or Python
- Use editable tables to enable users to write back to the database
- Securely deploy your app to Posit Connect
Resources mentioned in this Q&A: Connect Authentication documentation: https://docs.posit.co/connect/user/oauth-integrations/ Git backed deployment in Posit Connect: https://posit.co/blog/git-backed-deployment-in-posit-connect/ shinylive: https://posit-dev.github.io/r-shinylive/ Mastering Shiny Best Practices: https://mastering-shiny.org/best-practices.html#best-practices
Blogs: https://blog.stephenturner.us/p/duckdb-vs-dplyr-vs-base-r https://outsiderdata.netlify.app/posts/2024-04-10-the-truth-about-tidy-wrappers/benchmark_wrappers.html Using Posit tools with data in DuckDB, Databricks, and Snowflake: https://posit.co/blog/databases-with-posit/ Creating a Shiny app that interacts with a database: https://posit.co/blog/shiny-with-databases/ Appsilon has a lot of resources on the topic: https://www.appsilon.com/post/r-shiny-duckd
Please note, while the monthly Posit Team Workflow Series is usually the last Wednesday of the month - this will be a week earlier. Cheers to a festive holiday season and a fantastic year ahead for you and yours!
To add future Monthly Workflow Demo events to your calendar → https://www.addevent.com/event/Eg16505674
You can view all the previous workflow demos here → https://www.youtube.com/playlist?list=PL9HYL-VRX0oRsUB5AgNMQuKuHPpNDLBVt
Connecting Shiny Apps to Databases with Posit Team
Many of us learned to work with data on our laptop, but at work data is increasingly stored in databases. Join us on Wednesday, Dec 18th at 11am ET with Sara Altman, who will lead us through building a Shiny app that reads from and writes to a database - using DuckDB 🦆
Sara will cover how to:
- Set up a connection to DuckDB from a Shiny app
- Query the database using R or Python
- Use editable tables to enable users to write back to the database
- Securely deploy your app to Posit Connect
Q&A Recording: https://youtube.com/live/C8j3d46AacM?feature=share
Resources mentioned in this Q&A: Connect Authentication documentation: https://docs.posit.co/connect/user/oauth-integrations/ Git backed deployment in Posit Connect: https://posit.co/blog/git-backed-deployment-in-posit-connect/ shinylive: https://posit-dev.github.io/r-shinylive/ Mastering Shiny Best Practices: https://mastering-shiny.org/best-practices.html#best-practices
Blogs: https://blog.stephenturner.us/p/duckdb-vs-dplyr-vs-base-r https://outsiderdata.netlify.app/posts/2024-04-10-the-truth-about-tidy-wrappers/benchmark_wrappers.html Using Posit tools with data in DuckDB, Databricks, and Snowflake: https://posit.co/blog/databases-with-posit/ Creating a Shiny app that interacts with a database: https://posit.co/blog/shiny-with-databases/ Appsilon has a lot of resources on the topic: https://www.appsilon.com/post/r-shiny-duckd
Please note, while the monthly Posit Team Workflow Series is usually the last Wednesday of the month - this will be a week earlier. Cheers to a festive holiday season and a fantastic year ahead for you and yours!
To add future Monthly Workflow Demo events to your calendar → https://www.addevent.com/event/Eg16505674
You can view all the previous workflow demos here → https://www.youtube.com/playlist?list=PL9HYL-VRX0oRsUB5AgNMQuKuHPpNDLBVt
Barret Schloerke - Editable data frames in Py-Shiny: Updating original data in real-time
Integrating editable data frames into Py-Shiny and Shinylive applications streamlines data scientists’ workflows by allowing real-time data manipulation directly within interactive web applications. This new feature enables users to edit cells within the data frame output. Using the empowered data frame renderer, we can facilitate immediate analysis and visualization feedback. It simplifies the process of data exploration and hypothesis testing, as changes to the data set can be instantly reflected in the application’s outputs without the requirement to update the original data, keeping data scientists “scientists”, not data janitors.
Talk by Barret Schloerke
Slides: http://schloerke.com/presentation-2024-08-13-posit-shiny-data-frame/
Slides GitHub Repo: https://github.com/schloerke/presentation-2024-08-13-posit-shiny-data-frame
Shiny: https://shiny.posit.co/
Shiny for Python: https://shiny.posit.co/py/
Component gallery: https://shiny.posit.co/py/components/
Edit Data Grid table cells: https://shiny.posit.co/py/components/outputs/data-grid/

Mine Cetinkaya-Rundel - Reproducible, dynamic, and elegant books with Quarto
Building on my experience writing books with Quarto for various audiences (R learners, statistics learners, and Quarto learners), for various venues (self-published and publisher-published), in various formats (HTML books hosted online and PDF books printed), I will share best practices and tips and tricks for authoring reproducible, dynamic, and elegant books with Quarto. I will also highlight a few features from the recent releases of Quarto that pertain to books (e.g., flexible and custom cross-references, embedding computations from notebooks, and inline code in multiple languages) as well as share examples of how to make your web-hosted books more interactive with tools like webR and shinylive.
Talk by Mine Cetinkaya-Rundel
Slides: https://mine-cetinkaya-rundel.github.io/quarto-books-conf24 GitHub Repo: https://github.com/mine-cetinkaya-rundel/quarto-books-conf24
Next Generation Shiny Apps with {bslib}
In this workshop, led by Garrick Aden-Buie, a software engineer for Shiny at Posit, you will learn how to build Shiny apps using modern user interfaces and layouts with bslib, the next generation of Shiny UI. Garrick will guide you through creating stylish and convenient dashboard layouts and components, demonstrating how bslib can effectively replace shinydashboard. Additionally, you will explore innovative techniques for deploying Shiny apps using shinylive, enabling the creation of static sites that run entirely in the user’s browser without the need for a Shiny server.
Main Sections
00:00 Introduction 11:00 Shiny 14:57 How bslib started 18:29 Theming from start to advanced 22:19 College Scorecard Data 39:24 bslib layouts 01:20:25 Advanced layouts 01:49:18 Filling Layouts 02:42:09 Details on demand 02:50:01 New inputs 02:53:15 Wrap up
More resources
R Validation Hub Site: https://www.pharmar.org/ Main Site: https://www.r-consortium.org/ News: https://www.r-consortium.org/news Blog: https://www.r-consortium.org/news/blog Join: https://www.r-consortium.org/about/join Twitter: https://twitter.com/rconsortium?lang=en LinkedIn: https://www.linkedin.com/company/r-consortium Mastodon: https://fosstodon.org/@RConsortium

Reproducible data science with webR and Shinylive | George Stagg | Posit
A fundamental principle of the scientific method is peer review and independent verification of results. Good science depends on transparency and reproducibility. However, in a recent study a substantial 74% of research code failed to run without errors, often caused by diverse computing environments. This talk will discuss the principles of numerical reproducibility in research and show how software can be pinned to specific versions and self-contained as a universal binary package using WebAssembly. This ensures seamless reproducibility on any machine equipped with a modern web browser and, using tools such as Shinylive, could provide a new way for researchers to share results with the community.
webR demo website: https://webr.r-wasm.org/v0.3.2/
Shinylive examples: https://shinylive.io/r/ https://shinylive.io/py/
Documentation: https://docs.r-wasm.org/webr/v0.3.2/ https://github.com/posit-dev/shinylive https://github.com/quarto-ext/shinylive

Max Kuhn -SHINYLIVE IS SO EASY
SHINYLIVE IS SO EASY by Max Kuhn
Visit https://rstats.ai for information on upcoming conferences.
Abstract: shinylive is an extension to the Quarto open-source scientific and technical publishing system. It enables shiny applications to run locally, without a shiny server using WebAssembly. I’ll show examples and discuss the limitations of using shinylive.
Bio: Max Kuhn is a software engineer at Posit PBC (nee RStudio). He is working on improving R’s modeling capabilities and maintaining about 30 packages, including caret. He was a Senior Director of Nonclinical Statistics at Pfizer Global R&D in Connecticut. He has been applying models in the pharmaceutical and diagnostic industries for over 18 years. Max has a Ph.D. in Biostatistics. He and Kjell Johnson wrote the book Applied Predictive Modeling, which won the Ziegel award from the American Statistical Association, which recognizes the best book reviewed in Technometrics in 2015. He has co-written several other books: Feature Engineering and Selection, Tidy Models with R, and Applied Machine Learning for Tabular Data (in process).
Twitter: https://twitter.com/topepos
Presented at the 2024 New York R Conference (May 17, 2024) Hosted by Lander Analytics (https://landeranalytics.com )

{shinylive}: Serverless Shiny Apps | Barret Schloerke | Posit
In the rapidly evolving landscape of web technologies, the integration of R (and Python) with modern web frameworks has become increasingly important for data scientists and developers. This presentation introduces {shinylive}, a new R package that exports Shiny applications to be run within statically hosted websites. We will explore the capabilities of {shinylive} through its use of the innovative R package {webR}, which allows for the execution of R code in the browser (via WebAssembly and service workers) without the need for a centralized server.
The presentation will cover the technical foundation of {shinylive}, including its architecture and the integration process with Quarto documents. We will also discuss the practical aspects and drawbacks of exporting Shiny apps with {shinylive}, highlighting the ease of exporting apps to a folder for local use or hosting them on GitHub pages.
{shinylive} bridges the gap between Shiny and static websites, making it a valuable resource for interactive data analysis and presentation.
Link to app: https://schloerke.com/presentation-2024-04-18-appsilon-shinylive/ Link to script: https://github.com/posit-dev/r-shinylive/blob/main/examples/deploy-app.yaml Link to use_github_action(): https://github.com/posit-dev/r-shinylive#github-pages Shinylive website: https://posit-dev.github.io/r-shinylive/ {webr} docs: https://docs.r-wasm.org/webr/latest/

How to Build, Deploy, & Share a Python Application in 20 minutes! (Using Shiny)
This is a quick-start guide to Shiny for Python. It’s part 1 of a multi-part series. Data scientists need to quickly build web applications to create and share interactive visualizations, giving others a way to interact with data and analytics. Shiny helps you do this.
In this video, we’ll walk you through the basics of setting up Shiny for Python, creating your first app, and deploying it so others can use it. We’ll cover:
- Installing Shiny and necessary dependencies
- Writing and running your first Shiny app
- Basic UI and server structure
- Deploying your app online
- Helpful Links
Shiny for Python Homepage: https://shiny.posit.co/py/
The link to the final app can be found here: https://keithgalli.shinyapps.io/final-app/
Follow along with the code examples provided in this repository: https://github.com/KeithGalli/shiny-python-projects
Check out the complete documentation here: https://shiny.posit.co/py/api/express/
Stay tuned for part 2, where we’ll dive deeper into advanced features and customization options.
Video Timeline! 0:00 - Intro to Shiny & Video Overview 1:43 - Getting Started with the Shinylive Playground 2:44 - Building a custom visualization with Shinylive 5:18 - Easily sharing the code/application for a Shinylive app 6:12 - Building a Shiny Express App locally (VSCode) 9:40 - How to run app if you’re not using VSCode 10:17 - Further customization of our app (adding title, using CSV data, dynamic input) 17:15 - Deploying our Shiny app to the web 21:20 - Conclusion & what’s coming next in the series
Video by @KeithGalli
All videos in the series: Part 1 - How to Build, Deploy, & Share a Python Application in 20 minutes! (Using Shiny): https://www.youtube.com/watch?v=I2W7i7QyJPI&t=0s Part 2 - How to make Interactive Python Dashboards! (Reactivity in Shiny): https://www.youtube.com/watch?v=SLkA-Z8HTAE&t=0s Part 3 - How to make your Python Dashboard look Professional! (Layouts in Shiny): https://www.youtube.com/watch?v=jemk7DoN4qk&t=0s Part 4 - How to combine Matplotlib, Plotly, Seaborn, & more in a single Python Dashboard! (Shiny for Python): https://youtu.be/xDgO5hB4-VU?si=kk20yhdpsBqkMYcC Part 5 - How to Perfect Your Python Dashboard with Advanced Styling! (HTML/CSS - Shiny for Python): https://youtu.be/uYZUS-eFbqw
How to write and deploy a Python web app with Shiny Express and Posit Team
Winston Chang at Posit joined us to share a quicker and simpler way of writing Shiny applications in Python, called Shiny Express
With Shiny Express you can create interactive data dashboards and data-driven applications faster than ever.
Helpful resources: ️ Introducing Shiny Express: https://shiny.posit.co/blog/posts/shiny-express/ ️ Shinylive: https://shinylive.io/py/examples/ ️ Component Gallery: https://shiny.posit.co/py/components/ ️ VS Code Shiny extension: https://marketplace.visualstudio.com/items?itemName=Posit.shiny-python ️ Q&A recording: https://youtube.com/live/zg4LP4lkihM?feature=share rsconnect-python package: https://pypi.org/project/rsconnect-python/
️ Follow-up links: Event Survey: https://forms.gle/8AcMAnjfPFSTQZJK6 Posit Team: https://posit.co/products/enterprise/team/ Request evaluation: pos.it/chat-with-us Posit Team demo resources: pos.it/demo-resources
What will you learn? If you’re new to Shiny → you’ll get started writing and deploying your first Shiny Express application in Python.
If you already know Shiny → you’ll see how Shiny Express can make your development experience quicker and more efficient.
Happy with the way things are? No need to change what you’re doing! We think of Shiny Express and Shiny Core as complementary, and intend to support both syntaxes indefinitely. Last month’s Workflow with Posit Team Demo featured Shiny in R and used bslib for custom theming, which you can check out here in the recording: https://youtu.be/O6WLERr5bKU?feature=shared
LIVE Q&A ROOM for ~11:30 am on Feb 28th: https://youtube.com/live/zg4LP4lkihM?feature=share
There is no need to register; join us here on YouTube at the time above or you can add to your calendar using the link below:
pos.it/team-demo
We host these Workflow Demos on the last Wednesday of every month, so you can use the link above to add the recurring event as well.
#python

Magic with WebAssembly and webR - posit::conf(2023)
Presented by George Stagg
Earlier this year the initial version of webR was released and users have begun building new interactive experiences with R on the web. In this talk, I’ll discuss webR’s TypeScript library and what it is able to do. The library allows users to interact with the R environment directly from JavaScript, which enables manipulation tricks that seem like magic. I’ll begin by describing how to move objects from R to JS and back again, and discuss the technology that makes this possible. I’ll continue with more advanced manipulation, such as invoking R functions from JS and talk about why you might want to do so. Finally, I’ll describe how messages are sent over webR’s communication channel and explain how this enables webR to work with Shinylive.
Presented at Posit Conference, between Sept 19-20 2023, Learn more at posit.co/conference.#
Talk Track: I can’t believe it’s not magic: new tools for data science. Session Code: TALK-1152

Running R-Shiny without a Server - posit::conf(2023)
Presented by Joe Cheng
A year ago, Posit announced ShinyLive, a deployment mode of Shiny that lets you run interactive applications written in Python, without actually running a Python server at runtime. Instead, ShinyLive turns Shiny for Python apps into pure client-side apps, running on a pure client-side Python installation.
Now, that same capability has come to Shiny for R, thanks to the webR project.
In this talk, I’ll show you how you can get started with ShinyLive for R, and why this is more interesting than just cheaper app hosting. I’ll talk about some of the different use cases we had in mind for ShinyLive, and help you decide if ShinyLive makes sense for your app.
Presented at Posit Conference, between Sept 19-20 2023, Learn more at posit.co/conference.#
Talk Track: I can’t believe it’s not magic: new tools for data science. Session Code: TALK-1151

Shiny in Production 2023: George Stagg - R Shiny without a server: webR and Shinylive
R Shiny without a server: webR and Shinylive by George Stagg at the Shiny in Production 2023 conference, hosted by Jumping Rivers!
Note from the speaker: Shinylive is now available on CRAN! https://cran.r-project.org/web/packages/shinylive/index.html
Abstract#
WebAssembly (Wasm) is a technology that enables software that’s normally compiled for a specific computer system to instead run anywhere, including inside web browsers. WebR is a version of the R interpreter compiled for Wasm, bringing this technology to the R world.
Earlier this year, the initial version of webR was released and users have already begun building new interactive experiences with R on the web. The latest release, version 0.2.0, includes improvements to graphics, accessibility and internationalisation, developer API updates, and introduces a new webR REPL app. The release also includes expanded support for Wasm R packages, including the ability to run fully client‐side Shiny apps.
In this talk, I’ll introduce webR with some simple examples and discuss some details of how the system works. I’ll talk about how JavaScript APIs can be used to integrate webR into wider web applications and describe webR’s communication channel. Finally, I’ll give a description of how Shiny apps can be run using webR without an R server, ending with a demo of an in‐development “Shinylive for R”.
This event was sponsored by:
- Jumping Rivers
- National Innovation Centre for Data
- NU Solve
- Posit
- R Consortium
- Royal Statistical Society

Max Kuhn - Serverless Quarto
Serverless Quarto - Max Kuhn
Resources mentioned in the presentation:
- Slides: https://topepo.github.io/2023-r-pharma
- Example: https://topepo.github.io/shinylive-in-book-test
Bio: Max Kuhn is a software engineer at Posit (née RStudio). He is working on improving R’s modeling capabilities and maintaining about 30 packages, including caret. He was a Senior Director of Nonclinical Statistics at Pfizer and had been applying models in the pharmaceutical and diagnostic industries for over 18 years. Max has a Ph.D. in Biostatistics. He, and Kjell Johnson, wrote the book Applied Predictive Modeling, which won the Ziegel award from the American Statistical Association. Their second book, Feature Engineering and Selection, was published in 2019, and his book Tidy Models with R, was published in 2022.
Presented at the 2023 R/Pharma Conference (October 25, 2023)

webR 0.2: R Packages and Shiny for WebAssembly | George Stagg | Posit
WebR makes it possible to run R code in the browser without the need for an R server to execute the code: the R interpreter runs directly on the user’s machine. But just running R isn’t enough, you need the R packages you use every day too.
webR 0.2.0 makes many new packages available (10,324 packages - about 51% of CRAN!) and it’s now possible to run Shiny apps under webR, entirely client side.
George Stagg shares how to load packages with webR, know what ones are available, and get started running Shiny apps in the web browser. There’s a demo webR Shiny app too!
00:15 Loading R packages with webR 01:50 Wasm system libraries available for use with webR 05:30 Tidyverse, tidymodels, geospatial data, and database packages available 08:00 Shiny and httpuv: running Shiny apps under webR 11:05 Example Shiny app running in the web browser 12:05 Links with where to learn more
Shiny webR demo app: https://shinylive.io/r/examples/
Website: https://docs.r-wasm.org/ webR REPL example: https://webr.r-wasm.org/latest/
Demo webR Shiny app in this video: https://shiny-standalone-webr-demo.netlify.app/ Source: https://github.com/georgestagg/shiny-standalone-webr-demo/
See the overview of what’s new in webR 0.2.0: https://youtu.be/Mpq9a6yMl_w

[84] Reproducible Publications with Python and Quarto (Thomas Mock)
Join our Meetup group: https://www.meetup.com/data-umbrella
Tom Mock: Reproducible Publications with Python and Quarto
Resources#
Full transcript#
https://blog.dataumbrella.org/quarto-blog
About the Event#
Quarto is an open-source scientific and technical publishing system that builds on standard markdown with features essential for scientific communication. The system has support for reproducible embedded computations, equations, citations, crossrefs, figure panels, callouts, advanced layouts, and more. In this talk we’ll explore the use of Quarto with Python, describing both integration with IPython/Jupyter and the Quarto VS Code extension. Users can author Jupyter notebooks or documents as plain text markdowns with code in Python, R, Julia or Observable. Quarto includes the ability to publish high-quality articles, reports, presentations, websites, blogs, and books in HTML, PDF, MS Word, ePub, Reveal.js and more.
Timestamps#
00:00 Data Umbrella introduction 03:41 Introduce the speaker, Thomas Mock 04:14 Thomas begins 05:14 RStudio is now Posit 05:55 What is Quarto? 07:13 Origins of Quarto 08:31 Goal: Computation Document 09:09 Goal: Scientific Markdown 10:03 Goal: Single Source Publishing 10:33 Simple example of what Quarto looks like (YAML, Markup, Markdown, code chunks) 12:29 Simple example: multi-format (output formats: html, pdf, docx, epub, pptx, revealjs) 13:16 List of what is possible with Quarto 14:02 So, what is Quarto: quarto is a language-agnostic command line interface (CLI) 15:27 Basic Quarto workflow 16:43 Difference between “render” and “preview” 17:16 IPython 18:43 Stored/frozen computation and reproducibility 20:36 A *.qmd is a plain text file 21:28 Quarto doesn’t have to be plain text 22:12 Rendering pipeline 22:57 What to do with my existing .ipynb? 24:23 Comfort of your own workspace: JupyterLab, Visual Studio Code, 25:00 Auto-completion in RStudio + VSCode 26:01 Quarto Extensions and Visual / Live Editor 27:19 Quarto, unified document layout 29:54 Quarto, unified syntax across Markdown and code 31:11 Built-in vs Custom 33:01 Extending Quarto with Extensions 33:51 Interactivity, Jupyter Widgets (with plots, matplotlib, etc) 34:15 Interactivity, Observable 35:01 Interactivity, on the fly Observable “widgets” 36:24 Parameters - one source, many outputs 37:36 Rendering with parameters 38:27 Quarto Publish 38:57 Quarto, crafted with love and care (the team) 39:30 Quarto Resources (installation) 39:44 Quarto resources: video tutorials 40:13 Q: Can Quarto documents be shared like Overleaf docs and can users import article templates for specific journals into Quarto? 41:39 new! Manuscript option to bundle an entire project together (bundle can be shipped to a journal) 42:48 Q: Is Quarto git friendly? 43:28 Q: Has Quarto already been used in published scientific work? 44:14 publishing books with Quarto 44:22 Q: Any general suggestions for outputting to docx (Word)? 45:20 Q: Any tips on how Quarto can help conda users? 46:14 Q: Can you use GitHub Actions with Quarto? 47:18 Q: Can you have individual environments for each blog post? 49:50 Download CLI (command line interface) for Quarto 51:10 Example Gallery 51:44 nbdev project 53:14 Quarto blog, Shinylive extension 55:12 Q: How can I use Quarto to write scientific papers?
About the Speaker: Tom Mock#
- Twitter: https://twitter.com/thomas_mock
- GitHub: https://github.com/jthomasmock
#python #quarto #rstats
[79] Create a Python Web App Using Shiny (Gordon Shotwell)
Join our Meetup group for more events! https://www.meetup.com/data-umbrella
Resources#
- website for presentation: https://shiny.rstudio.com/py/
- https://shiny.rstudio.com/py/docs/reactive-mutable.html
- https://www.shinyapps.io/
- https://huggingface.co/new-space
- https://shiny.rstudio.com/py/docs/shinylive.html
- https://shiny.rstudio.com/py/api/reactive.poll.html#shiny.reactive.poll
About the Event#
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack. If you want to develop a python web application you usually need to choose between simple, limited frameworks like Streamlit and more extensible frameworks like Dash. This can cause a lot of problems if you get started with a simple framework but then discover that you need to refactor your application to accommodate the next user request. Shiny for Python differs from other frameworks because it has tremendous range. You can build a small application in a few minutes with the confidence that the framework can handle much more complex problems. In this workshop we will go through the core limitations of Streamlit, and build a Shiny app which avoids those limitations.
Timestamps#
00:00 Welcome
00:23 Reshama introduces Data Umbrella
03:45 Reshama introduces Gordon Shotwell
04:21 Gordon Shotwell begins
04:29 The motivation to develop Shiny for Python
06:05 The main strength of both the R and Python library
06:56 What Gordon Shotwell will build during his presentation
07:25 Shiny documentation website
08:01 QuickStart for R users showing differences between the R and Python libraries
08:44 All the function reference in Shiny
09:08 Demo starts
09:50 Virtual environment
10:36 How to start shiny app in the terminal
11:15 Install shiny extension in VS Code which makes it easier to preview the web app
11:36 How the output function works on the preview app to execute
12:22 Penguin dataset description for the demo
12:45 Modules/submodules shiny app is built on
13:04 How to add a sidebar layout (sidebar, panel sidebar and panel main)
13:43 How to read in the data and the output functions
14:31 How to define some server logic
14:59 The conventional shiny rule
16:30 Use of slide input
17:50 Where the reactive magic comes in
19:30 Important note on what can really slow down your shiny app
20:14 Importance of Python data copy method when using external dataset
21:01 Important note to avoid dependency inside the render function
21:30 Q&A
29:35 Adding a plot to the output: The UI sides
30:12 Adding a plot to the output: The render sides
32:16 The core principle of reactivity in which you do not want to repeat yourself
33:26 Reactivate calculation concept which allows you to store intermediate values in one place
37:24 Q&A
38:53 Reactive calculations and rendering functions
39:30 Side-effects or user effect. Another class of interactions
41:18 How to tell reactive effect what it should respond to or what events to watch before executing
41:53 How to update the data filter in the side-effect function
42:22 The second important pattern for shiny
43:00 One of the important things to pay attention to once you start learning/using shiny
44:45 Series of Q&A until the end of the video. Some response includes live demo
01:01:03 Gordon Shotwell ends his presentation
01:01:17 Reshama closes the session
About the Speaker#
Gordon Shotwell is a Software Engineer at Posit. He’s been using Shiny to solve business problems for the past ten years.
- LinkedIn: https://www.linkedin.com/in/gshotwell/
Key Links#
- Transcript: https://github.com/data-umbrella/event-transcripts/blob/main/2023/78-gordon-shiny.md
- Meetup Event: https://www.meetup.com/data-umbrella/events/292848290/
- Video: https://youtu.be/pXidQWYY14w
#python #deployment
Deploying a Shiny for Python application with Posit Connect
Last week’s blog post announced that Shiny for Python is now generally available and Python programmers can feel confident deploying Shiny for Python apps in production.
This video will serve as a guide to deploying your applications so that users can interact with your apps and leverage their robust functionality using Posit Team.
Follow along blog post: https://posit.co/blog/deploying-a-shiny-for-python-application-with-posit-connect/
0:25 - Step 1: Load packages (in VS Code on Posit Workbench) Step 2: Create the app (example app here: https://shinylive.io/py/examples/#app-with-plot ) 1:02 - Step 3: Run the app locally in VS Code 1:36 - Step 4: Deploy to Posit Connect
Learn more We’d love to have you join us at one of our monthly Posit Team Demos where we walk through a different end-to-end data science workflow each month. They are on the last Wednesday of every month at 11 am ET on YouTube. You can add the event to your calendar here: pos.it/team-demo
What is Posit Team? Posit Team is the bundle of our most popular products including Workbench (for development work), Connect (for hosting and sharing your data products), and Package Manager (for managing your R and Python packages). Together, this bundle delivers an end-to-end toolchain for data science teams committed to R and Python, improving every step of a data scientist’s workflow, from developing insights to deploying data products, to managing environments.
If you have any questions and would like to talk with our team, you can schedule a time to chat: https://posit.co/schedule-a-call/
Getting Started with Shiny for Python - in the browser! || Winston Chang || Posit
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack. You can try out Shiny for Python without installing a single thing… All in the browser.
Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Check out our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Winston Chang (@winston_chang)

Multiple Inputs in Shiny for Python || Winston Chang || RStudio
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack. You can try out Shiny for Python without installing a single thing… All in the browser.
Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Check out our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Winston Chang (@winston_chang)

Plot Outputs in Shiny for Python || Winston Chang || RStudio
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack. You can try out Shiny for Python without installing a single thing… All in the browser.
Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Check out our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Winston Chang (@winston_chang)

A Beginner’s Guide to Shiny for Python || Winston Chang || Posit
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack.
Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Check out our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Winston Chang (@winston_chang) Producer: Jesse Mostipak (@kierisi) Editing and Motion Design: Tony Pelleriti (@TonyPelleriti)

An Interview with Winston Chang: Building a Wordle App with Shiny for Python || RStudio
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack.
Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Check out our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Winston Chang (@winston_chang) + Jesse Mostipak (@kierisi) Producer: Jesse Mostipak (@kierisi) Editing and Motion Design: Tony Pelleriti (@TonyPelleriti)

Data visualization and plotting with Shiny for Python || Carson Sievert || RStudio
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack.
Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Check out our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Carson Sievert (@cpsievert) Producer: Jesse Mostipak (@kierisi) Editing and Motion Design: Tony Pelleriti (@TonyPelleriti)

Hello, World! A Quick Tour of Shiny for Python || Carson Sievert || Posit
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack.
Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Check out our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Carson Sievert (@cpsievert) Producer: Jesse Mostipak (@kierisi) Editing and Motion Design: Tony Pelleriti (@TonyPelleriti)

Shiny Programming Practices || Joe Cheng || Posit
Have you ever wanted to sit down and talk with Joe Cheng, the creator of Shiny and CTO of Posit (RStudio) and ask him how he approaches programming? Look no further - we’ve got that conversation for you right here!
Shiny makes it easy to build interactive web apps straight from R or Python. You can host standalone apps on a webpage or embed them in Markdown-style documents or build dashboards. You can also extend your Shiny apps with CSS themes, htmlwidgets, and JavaScript actions.
Learn more about Shiny: https://shiny.rstudio.com/ Check out Shiny for Python: https://shiny.rstudio.com/py/ Explore our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Joe Cheng (@jcheng) Producer: Jesse Mostipak (@kierisi) Editing and Motion Design: Tony Pelleriti (@TonyPelleriti)

Shinywidgets - An Overview || Carson Sievert || RStudio
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack.
Shinywidgets lets you use ipywidgets in Shiny for Python applications. We called it ipyShiny during development, but we’re launching as Shinywidgets! Learn more about how to integrate them into your Shiny for Python apps. .
Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Check out our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Carson Sievert (@cpsievert) Producer: Jesse Mostipak (@kierisi) Editing and Motion Design: Tony Pelleriti (@TonyPelleriti)

Wrangling data for a Shiny app in Python || Michael Chow || Posit
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack.
Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Check out our interactive Shiny for Python examples: https://shinylive.io/py/examples/
Content: Michael Chow (@chowthedog) Producer: Jesse Mostipak (@kierisi) Editing and Motion Design: Tony Pelleriti (@TonyPelleriti)

