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.
Would you like to learn about Tapyr? Join our events!
- Open Source Spotlight: Tapyr - Shiny for Python Framework
2024-05-28 at 18:00 (UTC+1)
Shiny Gathering led by Piotr Pasza Storożenko
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.
Don't miss out on important updates and exclusive content about Tapyr and Shiny for Python → Subscribe to our newsletter.
Have questions or want to contribute? Engage with Appsilon's developers and the data science community on our Shiny 4 All.
Developed with ❤️ at Appsilon. Get in touch: opensource@appsilon.com.
Want to stay up to date with Tapyr and other packages? Join 4,2k explorers and get the 📧 Shiny Weekly Newsletter into your mailbox and check our Slack community.
Explore the Rhinoverse - a family of R packages built around Rhino!
Appsilon is a Posit (formerly RStudio) Full Service Certified Partner.