Streamlit Interface
About
PAA can package and run Streamlit apps from installed packages and local app files.
Core dependency used under the hood: Streamlit.
For package Streamlit apps, PAA expects one app file per package, with filename matching the package/module name.
For cross-component preflight checks before packaging, see concepts/prepackaging_todo.md.
Quick Start
1. Initialize Streamlit app scaffold
paa init-streamlit your-package-1
This creates streamlit/your_package_1.py (or configured streamlit_dir).
2. Initialize Streamlit config scaffold
paa init-streamlit-config
This creates .paa.streamlit.config.
3. Run Streamlit app from package
paa run-streamlit --package your-package-1
4. Run Streamlit app from file
paa run-streamlit --path ./streamlit/your_package_1.py
Operational Commands
Initialize Streamlit app scaffold:
paa init-streamlit your-package-1
Initialize Streamlit config:
paa init-streamlit-config
Run app from packaged module:
paa run-streamlit --package your-package-1
Run app from local file:
paa run-streamlit --path ./streamlit/your_package_1.py
Python File Layout
- path:
streamlit/<module_name>.py(or configuredstreamlit_dir) - expected structure:
- streamlit import
- package import
- page content definitions
Recommended scaffold layout:
import streamlit as st
from your_package_1 import *
st.set_page_config(page_title="your-package-1", layout="wide")
st.title("your-package-1 app")
st.caption("Generated by `paa init-streamlit`.")
st.write("Status: ok")
Optional .paa.streamlit.config
server:
headless: true
port: 8501
address: "0.0.0.0"
theme:
base: "light"
What to edit:
- server.address and server.port for target environment
- theme keys to align with preferred UI defaults
Importing From Package
Default import style for Streamlit modules:
- from <package> import *
Guidance: - import from packaged module namespace, not PPR component file paths. - keep expensive setup out of global import scope when possible.
Notes
run-streamlitcan use package source (--package) or file source (--path).- app config is optional; default path is
.paa.streamlit.config. - Imports from the package Streamlit file are included in dependency extraction during packaging, similar to the main module.