A web development framework for Python.
Shiny for Python
Shiny for Python is the best way to build fast, beautiful web applications in Python. You can build quickly with Shiny and create simple interactive visualizations and prototype applications in an afternoon. But unlike other frameworks targeted at data scientists, Shiny does not limit your app's growth. Shiny remains extensible enough to power large, mission-critical applications.
To learn more about Shiny see the Shiny for Python website. If you're new to the framework we recommend these resources:
How Shiny is different from Dash and Streamlit.
How reactive programming can help you build better applications.
How to use modules to efficiently develop large applications.
Join the conversation
If you have questions about Shiny for Python, or want to help us decide what to work on next, join us on Discord.
To get started with shiny follow the installation instructions or just install it from pip.
pip install shiny
To install the latest development version:
# First install htmltools, then shiny
pip install https://github.com/posit-dev/py-htmltools/tarball/main
pip install https://github.com/posit-dev/py-shiny/tarball/main
You can create and run your first application with
shiny create, the CLI will ask you which template you would like to use. You can either run the app with the Shiny extension, or call
shiny run app.py --reload --launch-browser.
API documentation for the
main branch of Shiny: https://posit-dev.github.io/py-shiny/api/
If you want to do development on Shiny for Python:
pip install -e ".[dev,test]"
Additionally, you can install pre-commit hooks which will automatically reformat and lint the code when you make a commit:
# To disable:
# pre-commit uninstall
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.