Software by George Stagg#
Events attended by George Stagg#
Posts and resources by George Stagg#
Positron AI Session (George Stagg, Winston Chang, Tomasz Kalinowski , Carson Sievert) | posit::conf
George Stagg, Winston Chang, and Tomasz Kalinowski introduce AI capabilities in Positron, including Positron Assistant, a tool still in preview that enhances coding and data analysis.
0:00 Introduction to Posit’s approach to AI 0:23 George Stagg: Positron Assistant 11:03 Winston Chang: Databot 21:30 Tomasz Kalinowski: ragnar 31:13 Carson Sievert: chatlas 41:42 Q&A
posit::conf(2025) Subscribe to posit::conf updates: https://posit.co/about/subscription-management/




Quarto Live: WebAssembly powered data science learning | pyOpenSci
How Quarto Live Brings Code to Life in the Browser!
Quarto Live takes interactive coding & publishing to the next level with WebAssembly-powered execution—run Python & R right in the browser, no setup needed!
Real-time code execution without servers ️ Dynamic exercises & instant feedback for learners Full integration with Quarto for publishing & sharing Works on any device—even mobile!
Watch as George Stagg (Posit) who develops and works on Quarto Live breaks down how it works & why it matters!
CHAPTERS
00:00:00 Intro
00:01:00 What is Quarto?
00:03:15 Add functionality to Quarto with extensions
00:03:30 Quarto and other interactive technologies like pyodide and web assembly
00:06:03 Web assembly powers interactive data science in the browser
00:07:53 How to use Quarto Live to create your own online interactive data science environment with Quarto
00:13:24 Create interactive data science enviornments for mobile
00:14:27 Demo interactive data science activities using quarto and quarto live
00:16:38 Wrap up and summary!
pyOpenSci makes learning open source and open science concepts easier.
LEARN PYTHON PACKAGING Build a pure Python package tutorial: https://www.pyopensci.org/python-package-guide/tutorials/intro.html Explore packaging tools & best practices: https://www.pyopensci.org/python-package-guide/
🤝 SCIENTIFIC PYTHON SOFTWARE REVIEW Learn how peer review works: https://www.pyopensci.org/software-peer-review/ Check out our peer-reviewed packages: https://www.pyopensci.org/python-packages.html We partner with the Journal of OpenSource Software and other communities - learn more: https://www.pyopensci.org/software-peer-review/partners/scientific-communities.html
Get Involved
Submit your packagei for review: https://github.com/pyopensci/software-submission/ ️ pyOpenSci governance: https://www.pyopensci.org/governance/
Connect with pyOpenSci
pyopensci.org
🦣 fosstodon.org/@pyOpenSci
🦋 bsky.app/profile/pyopensci.bsky.social
www.linkedin.com/company/pyopensci
ABOUT pyOpenSci pyOpenSci is an inclusive and vibrant community of practice that breaks down technical and social open source barriers. promotes open and reproducible research through peer-review of scientific Python packages. Through peer review, education, and community support, we help make scientific Python software more accessible, citable, and impactful.
Join our community & level up your open source game and support open science!
#pyopensci #opensource #openscience

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

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

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

webR 0.2: Updates to webR’s developer API | George Stagg | Posit
More from George Stagg on what’s new in the webR 0.2 release series, this time on webR’s developer API. If you’re a JavaScript or TypeScript developer, give webR a try and see what you might use it for!
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.
It is possible to work entirely within webR and the R graphics devices, but you might also want to integrate webR into external JavaScript or TypeScript frameworks, including visualization packages. Learn about how to do this and more with webR’s developer API, including plotting data from webR using Observable JS, recent performance improvements, better error handling, worker event messages, and neatly terminating a webR session.
00:15 Performance improvements working with JavaScript 02:50 Example: Plotting data from webR using Observable JS 04:35 Type predicate functions and type conversion 07:30 Handling errors with webRError 09:15 Event messages from webr::canvas() 10:25 Safely handling webR termination 12:30 Links to documentation and resources
Website and developer documentation: https://docs.r-wasm.org/ Examples of using webR with Observable JS:
- Loading webR and R data manipulation: https://observablehq.com/d/6936259b898a25ce
- Bitmap plotting and custom fonts: https://observablehq.com/d/32e2b7e465c0b994

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

webR 0.2 Overview: R in the browser | George Stagg | Posit
WebR is a version of the statistical language R compiled for the browser and Node.js using WebAssembly, via Emscripten.
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. Several R packages have also been ported for use with webR, and can be loaded in the usual way using the library() function.
George Stagg shares what’s new in the 0.2.0 release!
00:23 About WebR and applications of computing with WebAssembly 02:25 Overview of changes in webR 0.2.0 release 04:10 The webR REPL app 07:28 Improved speed in graphics rendering 08:43 Text rendering in plots, including international and accessible fonts 10:27 Updated support for standard bitmap devices 13:05 Lazy virtual file system allows for decreased download size 15:40 Links with where to learn more
Website: https://docs.r-wasm.org/ webR REPL example: https://webr.r-wasm.org/latest/

George Stagg | WebR: R compiled for WebAssembly and running in the browser | RStudio (2022)
In this talk I introduce webR, a port of R to WebAssembly using Emscripten. WebR brings a full R environment to the browser, enabling R code execution, numerical analysis, loading packages and more. No local or cloud-based R servers are required as all computation is performed within the browser. I give a brief overview of our build process for webR, describing the toolchain and some of the issues we encountered. A publicly available web-based R session is demonstrated, with package and plotting support.
Talk materials are available at https://github.com/rstudio/rstudio-conf/blob/master/2022/georgestagg/webr%20-%20George%20Stagg.pdf
Session: Lightning Talks


