Why tapyr?

At Appsilon we create a lot of Shiny applications. Many of them are quite complex, yet they share a lot of common features. Thus, we created Rhino, a package that provides a set of tools to make Shiny development easier and more efficient. This R package allowed us to create production-ready Shiny applications faster out of the box.

Since the release of Shiny for Python, we’ve already created a dozen of Shiny for Python dashboards. Many times we had to copy-paste the same code snippets from one project to another, recreate the same structure. Once our go-to structure stabilized, we decided to create a package that would help us create Shiny for Python applications faster and more efficiently. That’s how the little tapyr was born.

tapyr is a template that allows you to kickstart your Shiny for Python project with good practices and a predefined structure. It comes with all features like testing, linting and more already set up.

It should come as no surprise that python world provides much more development tools than R. This means that tapyr also features type checking with pyright, security checks with bandit (through ruff), end-to-end testing with playwright (e2e testing framework in python), and more.