Shiny for Python is now generally available

Shiny hex sticker and the Python logo. Together, they read Shiny for Python.

With the powerful Shiny framework, programmers can create interactive web applications without needing to learn HTML or CSS. Last summer, we announced the alpha version of Shiny for Python, opening up new possibilities for combining Shiny’s reactivity with the vast resources of Python language.

Now, we are thrilled to announce that Shiny for Python is now generally available. This represents a significant milestone for Python users to create interactive web apps with reactivity and modularity. Python programmers can feel confident deploying Shiny for Python apps in production, so their users can interact with the apps and leverage their robust functionality. Check out the website and live examples to get started.

Join us at posit::conf(2023) and learn to build Shiny apps in Python in our hands-on workshop led by Joe Cheng. Limited spots are available so register now!


Shiny: A powerful framework for dynamic web app development

Shiny’s programming model strikes a balance between simplicity and power, with a declarative syntax that defines UI and server logic in an intuitive way. Its modular and extensible design allows developers to create complex tools, and its reactivity enables dynamic responses to changes in input data or user interactions without requiring manual refreshes or reloads.

Creating apps with Shiny improves performance, scalability, and user experience. We applied our experience developing this framework to bring it “home” for Python users.

Watch Joe Cheng, CTO at Posit, discuss Shiny’s history and evolution:


Improvements during the alpha phase

Since the alpha release, the Shiny team has actively incorporated feedback from the community to make Shiny for Python more accessible and powerful.


Add plot interaction with matplotlib, seaborn, and plotnine

In Shiny for Python, users can take advantage of plot interaction with matplotlib, seaborn, and plotnine. You can create interactive visualizations that respond to user input, enabling real-time data exploration and analysis.

Explore interactive plots:


Modify an app’s visual style with shinyswatch

Users can modify an app’s visual style with a single line of code using the new shinyswatch package. This makes it easier to adapt your tool to different use cases, user preferences, or branding requirements.

Explore different Bootswatch themes:

Embed Jupyter widgets in your Shiny app

Enhance the capabilities of a Shiny app with shinywidgets, which allow you to use Jupter widgets for data visualization and user interactions. Use Plotly for 3D plots and hover effects, Leaflet for panning and zooming in maps, and much more!

Interact with a Leaflet app in Shiny:

These improvements make it an exciting time for users eager to deploy Shiny for Python apps in production, and we can’t wait to bring these enhancements to the Python community.


Learn more

With its balance of simplicity and power, and the incorporation of valuable feedback from the community, Shiny for Python’s general release provides a robust framework that offers immense potential for the future of web applications. We’re excited to see the innovative tools that users create and the impact on the Python community and beyond.

Resources to get started

More on the Shiny for Python release