Appendix D — R vs. Python Shiny

Published

2026-05-08

This appendix provides a side-by-side comparison of key patterns in Shiny for R (as covered in Shiny App-Packages) and Shiny for Python.

Concept R Python
Package file DESCRIPTION pyproject.toml
Namespace file NAMESPACE __init__.py
Dependency locking renv.lock requirements.txt / uv.lock
Documentation roxygen2 Docstrings + pdoc
Testing framework testthat pytest
App entry point runApp() / shinyApp() App(ui, server)
Modules moduleServer() module_server()
Reactive value reactiveVal() reactive.Value()
Reactive expression reactive({}) reactive.Calc()
Observer observe({}) / observeEvent() reactive.Effect()