How to use Tapyr
Introduction
Tapyr is a template repository for Shiny for Python projects. You can either start a new application from scratch or migrate an existing one to Tapyr. For the first, checkout the Your First Tapyr App guide. For the latter, follow the Migrating to Tapyr guide.
Either way, you will end up with, more or less, the following structure:
.
├── [...]
├── app.py # the entry point of your app
├── tapyr_template # the application package
│ ├── __init__.py
│ ├── logic
│ │ ├── __init__.py
│ │ └── utils.py # utility functions
│ ├── settings.py # settings/configuration for your app
│ └── view
│ ├── __init__.py
│ └── root
│ ├── __init__.py
│ ├── server.py # the main server function
│ └── ui.py # the main UI function
[...]
More on structure can be found in the Tapyr Structure guide.
Running your app
To run your app, simply execute the following command:
source .venv/bin/activate
shiny run app.py --reloador if you have uv istalled and don’t want to activate the virtual environment:
uv run shiny run app.py --reloadEditing your app
Start with editing the tapyr_template/view/root/ui.py file to define your UI, and the tapyr_template/view/root/server.py file to define your server logic. For more examples check out the Tapyr Examples page.
Quality checks, tests, validation
Linting and formatting
Formatting and linting with ruff is done automatically before each commit with pre-commit. You can also run it manually with:
pre-commit run --allTests
For running quality checks and tests either use quality_checks.sh with
./quality_checks.shor run the following commands manually:
pytest
pyright