Shiny for Python 0.6.1

Templates, an improved debugger, and a sneak peek at Shiny Express
Author

Shiny Team

Published

December 22, 2023

Shiny for Python 0.6.1

Shiny for Python 0.6.1 is out! You can read the full changelog for a complete list of new features.

Templates

Previously, when you called shiny create, you would get a basic app without much functionality. This is helpful for hello-world examples, but doesn’t provide much guidance on how to build a more complicated Shiny application. We’re now including app templates which you can access through the new shiny create command line interface. This interface will ask you which template you want to build, and allow you to specify its location.

We are going to release many more of these, but for the time being, we have covered three of our most common use cases. You can access them through the CLI menu, or by passing their name to the --template flag. We’ve included our current zero-dependency basic app, but have added a Dashboard and Multi-page template.

The Dashboard template shows you how to build a nice-looking single-page dashboard. It includes some cards and value boxes which are populated using a reactive calculation. This is a good template to start with if you want to make use of some of the new components which were released in Shiny 0.6.0.

The multi-page app gives you a starting point for a large, production application. This app uses page_navbar to display several tabs, but the content of those tabs is stored in individual modules. Shiny modules are a great way to organize large applications because they allow you to break your application apart into simple building blocks which are easier to maintain. The application also uses type annotations which improve the development experience, and includes an external CSS file to customize the look and feel of the app.

Debugging Shiny Apps

The Shiny extension for VS Code now lets you run your Shiny apps using the VS Code debugger. This lets you set breakpoints, debug on error, and step through your application code using VS code. To activate it, click the dropdown menu next to the Play button and select “Debug Shiny App”. To learn more about how to use the VS Code debugger, check out the VS Code documentation.

Shiny Express sneak peek

We’ve been working hard on Shiny Express, which is a new way to write Shiny apps without explicitly defining a UI object. The basic Shiny Express functionality is included in 0.6.1, but you should treat it as experimental for the time being and pin your Shiny version if you use Express. We’ll be releasing additional functionality in our next release, and will have much more to say about it at that point. If you’re interested in trying it out and giving us feedback, please read this post describing the project.


That’s it for today! As always, if you have any questions or feedback, please join us on Discord or open an issue on GitHub. And if you’re enjoying Shiny for Python, please consider starring us on GitHub to show your support!