How to share Python Dashboard on the Internet

My website has many Dashboards that are directly accessible via the world wide web. However, these dashboards are made made within the framework of RShiny and run on my Shinyserver. In my opinion the possibilities of Rshiny are more than enough for sharing your data analytics and data science. However, many people - for some reason - prefer to use python. As I had heard about the possibilities of Shiny for Python and I wanted to try and see whether I could get it to work on my server.

Python for Shiny Dashboards

I have generated two dashboards in Shiny for Python and they are now live on my website. You can find thefirstand seconddashboard via the links. The first dashboard is an example generated by running shiny create –template dashboard –mode express –github posit-dev/py-shiny-templates. The second Dashboard is my own simple dashboard created with the standard Petal Dataset. You can see the the Penguin dashboard example below. In my opinion the UI looks pretty nice and clean.

Shiny For Python

Installation and Hosting

Installation and hosting of these dashboards is fairly simple for me. As I already have a Ubuntu droplet via Digital Ocean with Shiny Server for R installed, I only needed two things. I needed to install a python interpreter on my server and install Shiny for Python. I then created a virtual environment for python and installed the necessary packages. As my webserver and domain were already set up it was just as simple as placing the app.py and other documents in the right folder and done.

Conclusion

Although my experience with RShiny is way greater than with Shiny for Python or Python in general, setting up a Python dashboard is just as easy as with Rshiny. Apart from the visuals created via python the main dashboard is html css and javascript, just like with Rshiny. This mean that the customization is endless. However, I do think there are way more options to customize your dashboards in terms of widgets and frameworks in Rshiny, which makes it way faster to create the dashboard or webapp you want. But overall there is a simple grid structure with sidebars and the easy to deploy reactivity of shiny. I would encourage anyone to try it for themselves.