This repository contains a simple template of a Shiny component for both R and Python.
The folders are organized as follows:
r
: R packagepy
: Python packagejs
: TypeScript code for the component
Install the R package:
remotes::install_github("wch/componenttemplate/r")
After installing, you can run the demo app. Either copy and paste the example app into your R console, or run:
shiny::runApp(system.file("examples/number", package = "componenttemplate"))
To install the Python package:
pip uninstall -y componenttemplate
pip install "componenttemplate@git+https://github.com/wch/componenttemplate.git#subdirectory=py"
After installing, you can run the demo app. Save the example app to a file named app.py, and run it:
shiny run app.py --port 8000 --launch-browser
If you have cloned the repository, you run the example app (without needing to create a new copy of the file):
shiny run py/examples/number/app.py --port 8000 --launch-browser
To do development on the component, first clone this repository.
You can use devtools to install the R package from the sources on disk. First start R in the r/
directory, then run:
devtools::install(".")
Or you can load the package from disk without installing. It will stay loaded for the duration of the R session.
devtools::load_all(".")
To install the Python package in development mode:
# Create a virtual environment - recommended but not required
python -m venv venv
. venv/bin/activate
cd py
pip install -e .[dev]
The component is written in TypeScript. To set up the build environment, install the dependencies:
cd js
npm i
To build the component:
npm run build