Skip to main content

Shiny for Python

PyPI Latest Release Build status Conda Latest Release Supported Python versions License

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:

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.

Getting started

To get started with shiny follow the installation instructions or just install it with uv.

uv pip install shiny

To install the latest development version:

uv pip install git+https://github.com/posit-dev/py-shiny.git

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.

Agent Skills

Coding agents write better Shiny apps when they can read Shiny's own documentation. The shiny package ships bundled Agent Skills for exactly that: reference material that teaches agents (Claude Code, Cursor, and others) how to build, style, test, and debug Shiny for Python apps using shiny's public APIs.

The skills ship inside the package, so installing shiny installs them too — you only need to point your agent at them. Run one of these from your project directory:

# Claude Code (installs into .claude/skills/):
uvx library-skills --claude

# Any other agent (standard .agents/skills/ location):
uvx library-skills

Run this from your own project rather than a clone of this repository: library-skills reads your project's dependencies and installs the skills bundled with the packages you actually have installed. It symlinks rather than copies, so the skills keep tracking your version of shiny as you upgrade. On Windows, add --copy if symlinks are unavailable.

To see what's bundled without installing anything, run shiny skills list.

Development

If you are working from a fork you may not have the git tags from the original repo. Git tags are required for the install to succeed. To add tags to your own fork:

git remote add upstream https://github.com/posit-dev/py-shiny.git
git fetch --tags upstream

Then install:

uv pip install -e ".[dev,test,doc]"

Additionally, you can install pre-commit hooks which will automatically reformat and lint the code when you make a commit:

pre-commit install

# To disable:
# pre-commit uninstall

Tests should now pass:

make check
# To apply formatting fixes instead of erroring:
# make check-fix

Or get a full list of helpers with just:

make

Typically, when developing new features for Shiny, you'll want to try them out in an application. In a separate application directory, use can use -e to reference your local checkout of py-shiny:

# Rather than
#   uv pip install shiny
# run:
uv pip install -e ../py-shiny --config-settings editable_mode=compat

See the docs README for instructions on building the documentation locally.

Release files for shiny 1.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shiny 1.8.0
File Size Uploaded
shiny-1.8.0.tar.gz 5.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for shiny 1.8.0
File Interpreter ABI Platform
shiny-1.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.5 MB

Release files / shiny-1.8.0.tar.gz

Download URL shiny-1.8.0.tar.gz
Size 5.4 MB
Tags Source
SHA-256 checksum
How to use checksums
7377b93455a3c38e7b2fba49efde59fc9998db671dffce502a170ecc15d9be74
BLAKE2b-256 checksum
How to use checksums
42fe910a50b6b4f14cd6b5d76be9ae2146d54597eb72e78ecedc42b60aa3b56d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / shiny-1.8.0-py3-none-any.whl

Download URL shiny-1.8.0-py3-none-any.whl
Size 4.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
19bc45d80d45242752b78d92abab45f4e72b9ab86b0de436bd8d8795af1aa71d
BLAKE2b-256 checksum
How to use checksums
1fb1f6780c4c3655cb93bc6cf6af6caf8e25fbf01c85f002195da9e39be69d17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.8.0 This release

2 release files

1.7.0

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page