SuperAPI AI 工具集

streamlit

编程与开发

查看项目

更新于 10-15 18:52

技能介绍

用途:Streamlit 是 Python Web 应用框架,用于快速构建交互式数据应用,资料覆盖会话状态、缓存、布局、组件、多页面应用与部署。

主要能力:脚本每次交互自上而下重跑,需用缓存与 session_state 避免重复计算;@st.cache_data 缓存可序列化返回值(支持 ttl),@st.cache_resource 缓存数据库连接、ML 模型等不可序列化对象,可用 .clear() 清缓存。布局支持 st.columns、st.tabs、st.sidebar、st.expander;组件含文本、数字、选择、文件上传等输入控件,以及 st.dataframe、st.metric、st.line_chart、st.bar_chart、st.download_button 等展示控件。st.form 支持批量输入、提交时单次重跑;st.spinner、st.progress 与 success/error/warning/info 提供进度与状态反馈。多页面可用 st.navigation 与 st.Page(1.36+)。配置通过 .streamlit/config.toml,密钥通过 .streamlit/secrets.toml 与 st.secrets 读取。

使用方式:安装 pip install streamlit,运行 streamlit run app.py,可加 --server.port 8080。Docker 部署示例基于 python:3.12-slim,暴露 8501 端口并以 streamlit run 启动。测试可用 streamlit.testing.v1 的 AppTest(1.18+)。

适用场景:数据看板、内部工具、文件生成与导出、模型演示等交互式数据应用。

限制与注意:避免每次重跑执行重 I/O(用缓存)、避免全局可变状态(用 session_state)、业务逻辑应与 UI 脚本分离、动态组件应设置 key、避免在循环中调用 st.rerun()(改用 fragments 或回调)。资料未提供收费、价格与平台支持等细节。