找回密码
 立即注册
首页 业界区 安全 Streamlit 配置

Streamlit 配置

骂治并 2025-7-13 11:23:51
Streamlit可以通过project根目录或者entry point文件(hello.py)目录下的.streamlit/config.toml进行配置。
  1. [global]
  2. # 默认情况下,当用户在定义窗口组件的函数中设置了窗口组件默认值,并通过 `st.session_state` 中的窗口组件键设置了窗口组件值时,Streamlit 会显示一个警告。
  3. # 如果你想关闭此警告,请将其设置为 True。
  4. # 默认值:false
  5. disableWidgetStateDuplicationWarning = false
  6. # 如果为真,当你运行一个启用了 streamlit 的脚本时会显示一个警告
  7. # 通过“python my_script.py”。
  8. # 默认值:true
  9. showWarningOnDirectExecution = true
  10. [logger]
  11. # Streamlit 内部日志记录器的日志级别:“error”, “warning”,“info”或“debug”。
  12. # 默认值:“info”
  13. level = "info"
  14. # 记录消息的字符串格式。如果日志记录器。设置了 datetimeFormat,
  15. # 记录器消息默认为‘ %(asctime)s.%(msecs)03d %(message)s ’。
  16. # 查看 Python 文档了解可用属性:
  17. # https://docs.python.org/3/library/logging.html formatter-objects
  18. # 默认值:“%(asctime)s %(message)s”
  19. messageFormat = "%(asctime)s %(message)s"
  20. [client]
  21. # 控制是否有未捕获的应用异常和弃用警告显示在浏览器中。这可以是下列选项之一。
  22. #
  23. #  -“full”:在浏览器中,Streamlit 显示应用已弃用警告和异常,包括异常类型
  24. # 异常消息和相关的回溯。
  25. #
  26. #  -“stacktrace”:在浏览器中,Streamlit 显示异常,包括异常类型、泛型异常消息
  27. # 以及相关的回溯。弃用警告及完整的异常消息只会打印到控制台。
  28. #
  29. #  - "type":在浏览器中,Streamlit 显示异常类型和通用异常消息。弃用警告,完整
  30. # 仅包含异常消息和相关的回溯打印到控制台。
  31. #
  32. #  - "none":在浏览器中,Streamlit 显示一般的异常消息。弃用警告,完全例外
  33. # 消息、关联的回溯和异常类型只会打印到控制台。
  34. #
  35. #  - True:已弃用。Streamlit 显示“full”错误详情。
  36. #  - False:已弃用。Streamlit 显示“stacktrace”错误详情。
  37. #
  38. # 默认值:“full”
  39. showErrorDetails = "full"
  40. # 改变工具栏、选项菜单中项目的可见性和设置对话框(app 右上角)。
  41. # 允许的值:
  42. #  - "auto":如果通过应用程序访问,则显示开发者选项 localhost 或者作为开发者通过 Streamlit 社区云。否则隐藏它们。
  43. #  - "developer":显示开发者选项。
  44. #  - “viewer”:隐藏开发者选项。
  45. #  - “minimal”:只显示外部设置的选项 (例如通过 Streamlit 社区云) 或者通过 st.set_page_config。
  46. # 如果没有其他选项,隐藏菜单。
  47. # 默认值:“auto”
  48. showSidebarNavigation = true
  49. [runner]
  50. # 允许你在一行中单独输入变量或字符串编写应用程序的 Python 代码
  51. # 默认值:true
  52. magicEnabled = true
  53. # 立即处理脚本重新运行请求,而不是等待执行脚本以达到屈服点
  54. # 这使得 Streamlit 对用户交互的响应更加灵敏,但是可能导致应用程序中的竞态条件,从而改变 session_state 数据
  55. # 避免使用 session_state 赋值语句
  56. # 默认值:true
  57. fastReruns = true
  58. # 将不可序列化的数据添加到会话状态后引发异常一些执行环境可能需要序列化 Session 中的所有数据 State,因此在开发过程中检测不兼容可能很有用,
  59. # 或者执行环境将来何时停止支持它。
  60. # 默认值:false
  61. enforceSerializableSessionState = false
  62. # 调整特定的 ` options ` 组件 ( 如 radio、selectbox 和多选强制枚举成员
  63. # 当 Enum 类在脚本 rerun 时重新定义时,这很有用。
  64. #  有关更多信息,请查看文档:
  65. #  https://docs.streamlit.io/develop/concepts/design/custom-classes 枚举
  66. # 允许的值:
  67. #  - "off":禁用强制枚举。
  68. #  - "nameOnly": Enum 类的成员名匹配时可以强制转换。
  69. #  - "nameAndValue": Enum 类的成员名和时可以强制转换
  70. # 成员值匹配
  71. # 默认值:“nameOnly”
  72. enumCoercion = "nameOnly"
  73. [server]
  74. # 要监视更改的目录列表。
  75. # 默认情况下,Streamlit 会监视当前工作目录中的文件
  76. # 及其子目录。使用此选项可指定附加
  77. # 要监视的目录。路径必须是绝对的。
  78. # 默认值:[]
  79. folderWatchList = []
  80. # 需要忽略更改的目录列表
  81. # 默认情况下,Streamlit 会监视当前工作目录中的文件
  82. # 及其子目录。使用此选项指定内部异常
  83. # 监视目录。路径可以是绝对的,也可以是相对于当前的工作目录。
  84. # Example: ['/home/user1/env', 'relative/path/to/folder']
  85. # Default: []
  86. folderWatchBlacklist = []
  87. # 更改 Streamlit 使用的文件监视器类型,或者完全关闭它。
  88. # 允许的值:
  89. #   - "auto": Streamlit 将尝试使用 watchdog 模块,如果 watchdog 不可用,则回退到轮询。
  90. #   - "watchdog":强制 Streamlit 使用 watchdog 模块。
  91. #   - “poll”:强制 Streamlit 始终使用轮询。
  92. #   - “none”:Streamlit 不会观看文件。
  93. # Default: "auto"
  94. fileWatcherType = "auto"
  95. # 用于生成签名 cookie 的对称密钥如果部署在多个副本上
  96. # 则应该将该值设置为相同的值,以确保它们共享相同的密钥。
  97. # 默认值:随机生成的密钥
  98. cookieSecret = "a-random-key-appears-here"
  99. # 如果为 false,将尝试在开始时打开浏览器窗口。
  100. # 默认值:false,除非 (1) 在 Linux 机器上未设置 DISPLAY 或
  101. # (2) 在 Streamlit Atom 插件中运行。
  102. headless = false
  103. # 当磁盘上的文件被修改时,自动重新运行脚本。
  104. # 默认值:false
  105. runOnSave = false
  106. # 服务器监听客户端和浏览器连接的地址
  107. # 如果您想将服务器绑定到特定地址,请使用它。
  108. # 如果设置了,服务器只能从这个地址访问,不能通过任何别名(如 localhost)
  109. # 默认:(未设置)
  110. #address =
  111. # 服务器监听浏览器连接的端口。
  112. # 默认值:8501
  113. port = 8501
  114. # 提供 Streamlit 服务的 URL 的基本路径
  115. # 默认值:“”
  116. baseUrlPath = ""
  117. # 启用跨源资源共享(CORS)保护
  118. # 增加安全性。
  119. # 如果同时启用 XSRF 保护和禁用 CORS 保护,Streamlit 将同时启用它们。
  120. # 默认值:true
  121. enableCORS = true
  122. # Allowed list of origins.
  123. # If CORS protection is enabled (`server.enableCORS=True`), use this
  124. # option to set a list of allowed origins that the Streamlit server will
  125. # accept traffic from.
  126. # This config option does nothing if CORS protection is disabled.
  127. # Example: ['http://example.com', 'https://streamlit.io']
  128. # Default: []
  129. corsAllowedOrigins = []
  130. # 启用跨站请求伪造(XSRF)保护,以增加安全性
  131. # 如果同时启用 XSRF 保护和禁用 CORS 保护,Streamlit 将同时启用它们。
  132. # 默认值:true
  133. enableXsrfProtection = true
  134. # Max size, in megabytes, for files uploaded with the file_uploader.
  135. # Default: 200
  136. maxUploadSize = 200
  137. # 使用 file_uploader 上传的文件的最大大小,单位为 mb。
  138. # 默认值:200
  139. maxMessageSize = 200
  140. # 启用 websocket 压缩支持
  141. # 默认值:false
  142. enableWebsocketCompression = false
  143. # 启用正在运行的应用目录中的 `static` 目录下的文件服务。
  144. # 默认值:false
  145. enableStaticServing = false
  146. # websocket 被断开连接的会话的 TTL(秒数)
  147. # 对于没有活动 websocket 连接的给定会话,服务器可以选择清理会话状态、上传的文件等。
  148. # 默认值:120
  149. disconnectedSessionTTL = 120
  150. # 用于 HTTPS 连接的服务器证书文件。
  151. # 必须与“server.sslKeyFile”同时设置。
  152. # [` 不要在生产环境中使用此选项。它还没有通过安全审计或性能测试。
  153. # 对于生产环境,我们建议通过负载均衡器或反向代理执行 SSL 终止。”]
  154. #sslCertFile =
  155. # 用于 HTTPS 连接的加密密钥文件。
  156. # 必须与“server.sslCertFile”同时设置。
  157. # [` 不要在生产环境中使用此选项。它还没有通过安全审计或性能测试。
  158. # 对于生产环境,我们建议通过负载均衡器或反向代理执行 SSL 终止。”]
  159. # sslKeyFile =
  160. [browser]
  161. # 用户应该使用浏览器指向的互联网地址
  162. # 连接到应用程序。可以是 IP 地址或 DNS 名称和路径。
  163. # 这用于:
  164. #   - 设置正确的 URL 以保护 CORS 和 XSRF。
  165. #   - 在终端上显示 URL
  166. #   - 打开浏览器
  167. # 默认值:“localhost”
  168. serverAddress = "localhost"
  169. # 是否向 Streamlit 发送使用统计信息。
  170. # 默认值:true
  171. gatherUsageStats = false
  172. # 将用户的浏览器指向哪个端口以连接应用程序
  173. # 这用于:
  174. #   - 设置正确的 URL 以保护 XSRF。
  175. #   - 在终端上显示 URL (`streamlit run` 的一部分)。
  176. #   - 自动打开浏览器(`streamlit run` 的一部分)。
  177. # 此选项适用于高级用例。要更改应用程序的端口,请使用 `server.port`。
  178. # 默认值:在 server.port 中设置的值。
  179. # serverPort = 8501
  180. [mapbox]
  181. # 如果你想使用 Mapbox 而不是 Carto 来显示地图,请使用这个
  182. # 传递 Mapbox API 令牌。
  183. # 已弃用。
  184. # 相反,你应该使用 MAPBOX_API_KEY 环境
  185. # variable or PyDeck's `api_keys` argument.
  186. # 此选项将在 2026-05-01 或之后被删除。
  187. # 默认值:“”
  188. # token = ""
  189. [secrets]
  190. # 搜索秘密的位置列表
  191. # 条目可以是TOML文件的路径,也可以是保存Kubernetes样式密钥的目录路径。
  192. # 顺序很重要,导入是最重要的,所以后面的文件中的秘密优先于前面的文件。
  193. # 默认值:[<本地环境密钥的路径.toml>,<项目秘密的路径.toml>)
  194. # files = [ "~/.streamlit/secrets.toml", "~/project directory/.streamlit/secrets.toml",]
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册