Skip to main content

Shinylive Python package

Build and test PyPI Latest Release

Documentation site

The goal of the shinylive Python package is to help you create Shinylive applications from your Shiny for Python applications. Shinylive runs Shiny entirely in the browser, without any need for a hosted server, using WebAssembly via pyodide.

About Shinylive

The Shinylive project consists of four interdependent components that work together in several different contexts.

  1. Shinylive (posit-dev/shinylive) is a web assets library that runs Shiny applications in the browser. You can try it out online at shinylive.io/r or shinylive.io/py.

  2. The shinylive Python package (posit-dev/py-shinylive) helps you export your Shiny applications from local files to a directory that can be hosted on a static web server.

    The Python package also downloads the Shinylive web assets mentioned above and manages them in a local cache. These assets are included in the exported Shinylive applications and are used to run your Shiny app in the browser.

  3. The shinylive R package (posit-dev/r-shinylive) serves the same role as the shinylive Python package but for Shiny for R apps.

  4. The shinylive Quarto extension (quarto-ext/shinylive) lets you write Shiny applications in Quarto web documents and slides and uses the Python or R package (or both) to translate shinylive-py or shinylive-r code blocks into Shinylive applications.

Installation

pip install shinylive

Usage

(Optional) Create a basic shiny application in a new directory myapp/:

shiny create myapp

Once you have a Shiny application in myapp/ and would like turn it into a Shinylive app in site/:

shinylive export myapp site

Then you can preview the application by running a web server and visiting it in a browser:

python3 -m http.server --directory site --bind localhost 8008

At this point, you can deploy the site/ directory to any static web hosting service.

Multiple applications

If you have multiple applications that you want to put on the same site, you can export them to subdirectories of the site, so that they can all share the same Shinylive assets. You can do this with the --subdir option:

shinylive export myapp1 site --subdir app1
shinylive export myapp2 site --subdir app2

Shinylive asset management

Each version of the Shinylive Python package is associated with a particular version of the Shinylive web assets. (See the releases here.)

To see which version of this Python package you have, and which version of the web assets it is associated with, simply run shinylive at the command prompt:

$ shinylive
Usage: shinylive [OPTIONS] COMMAND [ARGS]...

  shinylive Python package version: 0.1.0
  shinylive web assets version:     0.2.1
...

The web assets will be downloaded and cached the first time you run shinylive export. Or, you can run shinylive assets download to fetch them.

$ shinylive assets download
Downloading https://github.com/posit-dev/shinylive/releases/download/v0.2.1/shinylive-0.2.1.tar.gz...
Unzipping to /Users/username/Library/Caches/shinylive/

To see what versions you have installed, run shinylive assets info:

$ shinylive assets info
    Local cached shinylive asset dir:
    /Users/username/Library/Caches/shinylive

    Installed versions:
    /Users/username/Library/Caches/shinylive/shinylive-0.2.1
    /Users/username/Library/Caches/shinylive/shinylive-0.0.6

You can remove old versions with shinylive assets cleanup. This will remove all versions except the one that the Python package wants to use:

$ shinylive assets cleanup
Keeping version 0.2.1
Removing /Users/username/Library/Caches/shinylive/shinylive-0.0.6

If you want to force it to remove a specific version, use the shinylive assets remove xxx:

$ shinylive assets remove 0.2.1
Removing /Users/username/Library/Caches/shinylive/shinylive-0.2.1

Metadata

Release files for shinylive 0.8.12

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

Source distribution (sdist)

Source distribution for shinylive 0.8.12
File Size Uploaded
shinylive-0.8.12.tar.gz 29.6 kB Details

Built distribution (wheel)

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

Total release size: 59.0 kB

Release files / shinylive-0.8.12.tar.gz

Download URL shinylive-0.8.12.tar.gz
Size 29.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cb5c7a1505fb447dea8c1cbf93f57ec72dc5d092eaf4c441ddc754d3c1b7cac1
BLAKE2b-256 checksum
How to use checksums
b2532a1abd1cb3ec81117bdf5501df3915efe9366e42c6115b9478029b6085e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / shinylive-0.8.12-py3-none-any.whl

Download URL shinylive-0.8.12-py3-none-any.whl
Size 29.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b30b3647418a039810e15b6fcadafe455e95e482f65fd068acad3111b8c6a056
BLAKE2b-256 checksum
How to use checksums
e1b631bb1c71b800d76de8343481589c7028dbb9ffc75d0e48a4d46026520a61
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

0.8.12 This release

2 release files

0.8.11

2 release files

0.8.10

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.17

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

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