Deploying Your Application
Slide Contents
Options
| Platform | Cost | Notes |
|---|---|---|
| Posit Connect Cloud | Free tier | Easiest, GitHub-based deploy |
| Render.com | Free tier | PaaS managed web service deployment |
| shinyapps.io | Free tier | Deprecated - Move to Posit Cloud after 2026 |
| Posit Connect (self-hosted) | Paid | Enterprise, on-prem |
| Shinylive | Free | Runs entirely in the browser (no server) |
requirements.txt is required
Posit Connect Cloud installs packages from requirements.txt before running your app.
requirements.txt
shiny
palmerpenguins
plotnine
pandas
If a package isn’t listed, the deployed app will crash with an ImportError.
Deploy to Posit Connect Cloud
- Go to https://connect.posit.cloud and sign in with GitHub
- Click New Content → Import from GitHub
- Select your repository and branch
- Set the Entry point to your
app.py - Click Deploy
That’s it. Posit Connect Cloud handles the environment.
Updating a deployed app
Push to the connected branch — Connect Cloud redeploys automatically.
Or click Redeploy in the Connect Cloud dashboard.
Shinylive: no server required
Compile your app to WebAssembly and host it as a static site:
shinylive export app/ site/Limitations:
- No file I/O, no database connections
- Package support is limited to what Pyodide supports
- Startup is slower (downloads Python + packages to browser)
Great for: demos, tutorials, sharing one-off apps.
Exercise + Break (Back at 11:00)
ExerciseExercise
- Create a new github repository
- Copy your first app code into an app.py file
- Make sure your repository has a
requirements.txtfile - Push the
app.pyandrequirements.txtto GitHub - Deploy it to Posit Connect Cloud
https://docs.posit.co/connect-cloud/how-to/python/shiny-python.html