Create and deploy enterprise-ready Shiny for Python dashboards with ease.
Tapyr is designed for data scientists and developers seeking a seamless transition from development to deployment, this template uses uv for dependency management and pytest/playwright for comprehensive app validation/testing/quality assurance.
Ideal for projects aiming for high-quality code and efficient deployment on Posit Connect.
Important
When we created tapyr, it used poetry for dependency management.
Please check our docs for a quick poetry and uv comparison.
For comprehensive documentation, please visit our documentation.
Check out our get started with tapyr blog post.
To ensure a consistent development experience across all environments, we recommend using the devcontainer configuration with Visual Studio Code or DevPod for container-based development. If you prefer a local setup, follow the instructions below.
- Start the Devcontainer: Open the project in VS Code and select "Reopen in Container" when prompted, or use the Command Palette (
Ctrl+Shift+P) and choose "Dev Containers: Reopen in Container". Alternatively, use DevPod following their instructions. - Activate the virtual environment:
source .venv/bin/activate - Run the application:
shiny run app.py --reload
- Execute tests:
pytest
Note: The Devcontainer might limit some playwright features, such as codegen. For full functionality, consider a local setup.
For developers preferring a local setup without Devcontainer:
- Install
uv: Follow the installation guide. - Clone the repository and navigate to it.
- Install dependencies:
uv sync uv run playwright install --with-deps
- Run the application:
uv run shiny run app.py --reload
Attention: Follow any additional steps prompted by playwright install.
More information on uv can be found in the official documentation.
Although not recommended, you can set up the project using pip:
- Clone the repository and navigate to it.
- Create a virtual environment:
python -m venv .venv source .venv/bin/activate - Install package with dependencies:
pip install -e ."[dev]" playwright install --with-deps - Run the application:
shiny run app.py --reload
Deploy your application to Posit Connect by: 0. Activate the virtual environment:
source .venv/bin/activate- Exporting your API Key:
export CONNECT_API_KEY="your_api_key_here"
- Configuring Posit Connect:
rsconnect add \ --api-key $CONNECT_API_KEY \ --server <MY_CONNECT_URL> \ --name <SERVER_NAME>
- Deploying:
rsconnect deploy shiny -t "Tapyr App" .
Replace placeholders with your server URL, server name, and API key. Verify the deployment on Posit Connect for successful upload.
Developed with ❤️ at Appsilon. Get in touch: opensource@appsilon.com.
Explore the Rhinoverse - a family of R packages built around Rhino!
Appsilon is a Posit (formerly RStudio) Full Service Certified Partner.
