Skip to content

Appsilon/tapyr-template

Repository files navigation

Tapyr - Shiny for Python Application TemplateTapyr logo

Create and deploy enterprise-ready PyShiny dashboards with ease.

Introduction

Tapyr is designed for data scientists and developers seeking a seamless transition from development to deployment, this template uses poetry 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.

Events

Upcoming

Would you like to learn about Tapyr? Join our events!

Docs

For comprehensive documentation, please visit our documentation.

Getting Started

Check out our get started with tapyr blog post.

Using Devcontainer

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.

  1. 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 "Remote-Containers: Reopen in Container". Alternatively, use DevPod following their instructions.
  2. Activate the virtual environment:
    poetry shell
  3. Run the application:
    shiny run app.py --reload
  4. Execute tests:
    poetry run pytest

Note: The Devcontainer might limit some playwright features, such as codegen. For full functionality, consider a local setup.

Setting Up Locally with Poetry

For developers preferring a local setup without Devcontainer:

  1. Install pipx: Ensure pipx is installed for managing isolated CLI apps.
  2. Install Poetry:
    pipx install poetry
  3. Clone the repository and navigate to it.
  4. Install dependencies:
    poetry install
    playwright install

Attention: Follow any additional steps prompted by playwright install.

Deployment on Posit Connect

Deploy your application to Posit Connect by:

  1. Exporting your API Key:
    export CONNECT_API_KEY="your_api_key_here"
  2. Configuring Posit Connect:
    rsconnect add \
    --api-key $CONNECT_API_KEY \
    --server <MY_CONNECT_URL> \
    --name <SERVER_NAME>
  3. 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.

🌟 Stay Updated

Don't miss out on important updates and exclusive content about Tapyr and PyShiny → 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.

We are hiring!