streamlit 1.50.0__py3-none-any.whl → 1.52.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. streamlit/__init__.py +5 -1
  2. streamlit/commands/execution_control.py +89 -14
  3. streamlit/commands/navigation.py +4 -6
  4. streamlit/commands/page_config.py +4 -6
  5. streamlit/components/v1/component_arrow.py +7 -7
  6. streamlit/components/v2/__init__.py +514 -0
  7. streamlit/components/v2/bidi_component/__init__.py +20 -0
  8. streamlit/components/v2/bidi_component/constants.py +29 -0
  9. streamlit/components/v2/bidi_component/main.py +534 -0
  10. streamlit/components/v2/bidi_component/serialization.py +272 -0
  11. streamlit/components/v2/bidi_component/state.py +92 -0
  12. streamlit/components/v2/component_definition_resolver.py +143 -0
  13. streamlit/components/v2/component_file_watcher.py +403 -0
  14. streamlit/components/v2/component_manager.py +439 -0
  15. streamlit/components/v2/component_manifest_handler.py +122 -0
  16. streamlit/components/v2/component_path_utils.py +245 -0
  17. streamlit/components/v2/component_registry.py +426 -0
  18. streamlit/components/v2/get_bidi_component_manager.py +51 -0
  19. streamlit/components/v2/manifest_scanner.py +615 -0
  20. streamlit/components/v2/presentation.py +198 -0
  21. streamlit/components/v2/types.py +324 -0
  22. streamlit/config.py +456 -53
  23. streamlit/config_option.py +4 -1
  24. streamlit/config_util.py +650 -1
  25. streamlit/connections/snowflake_connection.py +1 -1
  26. streamlit/connections/snowpark_connection.py +1 -1
  27. streamlit/dataframe_util.py +33 -26
  28. streamlit/delta_generator.py +13 -4
  29. streamlit/delta_generator_singletons.py +11 -15
  30. streamlit/deprecation_util.py +17 -6
  31. streamlit/elements/alert.py +16 -0
  32. streamlit/elements/arrow.py +68 -10
  33. streamlit/elements/bokeh_chart.py +10 -78
  34. streamlit/elements/code.py +2 -2
  35. streamlit/elements/deck_gl_json_chart.py +98 -40
  36. streamlit/elements/dialog_decorator.py +2 -1
  37. streamlit/elements/exception.py +4 -2
  38. streamlit/elements/form.py +27 -0
  39. streamlit/elements/graphviz_chart.py +1 -3
  40. streamlit/elements/heading.py +63 -10
  41. streamlit/elements/html.py +13 -2
  42. streamlit/elements/image.py +3 -5
  43. streamlit/elements/layouts.py +59 -33
  44. streamlit/elements/lib/built_in_chart_utils.py +50 -19
  45. streamlit/elements/lib/color_util.py +9 -19
  46. streamlit/elements/lib/column_config_utils.py +9 -12
  47. streamlit/elements/lib/column_types.py +40 -12
  48. streamlit/elements/lib/dialog.py +2 -2
  49. streamlit/elements/lib/image_utils.py +3 -5
  50. streamlit/elements/lib/layout_utils.py +100 -13
  51. streamlit/elements/lib/mutable_status_container.py +2 -2
  52. streamlit/elements/lib/options_selector_utils.py +2 -2
  53. streamlit/elements/lib/pandas_styler_utils.py +17 -9
  54. streamlit/elements/lib/shortcut_utils.py +152 -0
  55. streamlit/elements/lib/utils.py +4 -4
  56. streamlit/elements/map.py +80 -37
  57. streamlit/elements/markdown.py +50 -3
  58. streamlit/elements/media.py +5 -7
  59. streamlit/elements/metric.py +34 -6
  60. streamlit/elements/pdf.py +2 -4
  61. streamlit/elements/plotly_chart.py +197 -20
  62. streamlit/elements/progress.py +2 -4
  63. streamlit/elements/space.py +113 -0
  64. streamlit/elements/spinner.py +1 -1
  65. streamlit/elements/text.py +20 -3
  66. streamlit/elements/toast.py +2 -0
  67. streamlit/elements/vega_charts.py +356 -149
  68. streamlit/elements/widgets/audio_input.py +12 -11
  69. streamlit/elements/widgets/button.py +280 -43
  70. streamlit/elements/widgets/button_group.py +60 -9
  71. streamlit/elements/widgets/camera_input.py +3 -5
  72. streamlit/elements/widgets/chat.py +307 -43
  73. streamlit/elements/widgets/color_picker.py +8 -1
  74. streamlit/elements/widgets/data_editor.py +88 -44
  75. streamlit/elements/widgets/file_uploader.py +9 -11
  76. streamlit/elements/widgets/multiselect.py +4 -3
  77. streamlit/elements/widgets/number_input.py +4 -4
  78. streamlit/elements/widgets/radio.py +10 -3
  79. streamlit/elements/widgets/select_slider.py +8 -5
  80. streamlit/elements/widgets/selectbox.py +6 -3
  81. streamlit/elements/widgets/slider.py +38 -42
  82. streamlit/elements/widgets/text_widgets.py +2 -0
  83. streamlit/elements/widgets/time_widgets.py +587 -21
  84. streamlit/elements/write.py +27 -6
  85. streamlit/emojis.py +1 -1
  86. streamlit/errors.py +137 -0
  87. streamlit/git_util.py +1 -1
  88. streamlit/hello/hello.py +8 -0
  89. streamlit/hello/utils.py +2 -1
  90. streamlit/material_icon_names.py +1 -1
  91. streamlit/navigation/page.py +11 -1
  92. streamlit/net_util.py +2 -2
  93. streamlit/proto/Alert_pb2.pyi +3 -3
  94. streamlit/proto/AppPage_pb2.pyi +7 -1
  95. streamlit/proto/ArrowData_pb2.py +27 -0
  96. streamlit/proto/ArrowData_pb2.pyi +52 -0
  97. streamlit/proto/ArrowNamedDataSet_pb2.pyi +7 -1
  98. streamlit/proto/ArrowVegaLiteChart_pb2.pyi +7 -1
  99. streamlit/proto/Arrow_pb2.py +10 -10
  100. streamlit/proto/Arrow_pb2.pyi +19 -12
  101. streamlit/proto/AudioInput_pb2.pyi +7 -1
  102. streamlit/proto/Audio_pb2.pyi +7 -1
  103. streamlit/proto/AuthRedirect_pb2.pyi +7 -1
  104. streamlit/proto/AutoRerun_pb2.pyi +7 -1
  105. streamlit/proto/BackMsg_pb2.py +4 -2
  106. streamlit/proto/BackMsg_pb2.pyi +34 -4
  107. streamlit/proto/Balloons_pb2.pyi +7 -1
  108. streamlit/proto/BidiComponent_pb2.py +34 -0
  109. streamlit/proto/BidiComponent_pb2.pyi +159 -0
  110. streamlit/proto/Block_pb2.py +7 -7
  111. streamlit/proto/Block_pb2.pyi +39 -36
  112. streamlit/proto/BokehChart_pb2.pyi +7 -1
  113. streamlit/proto/ButtonGroup_pb2.pyi +9 -9
  114. streamlit/proto/Button_pb2.py +2 -2
  115. streamlit/proto/Button_pb2.pyi +11 -2
  116. streamlit/proto/CameraInput_pb2.pyi +7 -1
  117. streamlit/proto/ChatInput_pb2.py +6 -6
  118. streamlit/proto/ChatInput_pb2.pyi +18 -6
  119. streamlit/proto/Checkbox_pb2.pyi +3 -3
  120. streamlit/proto/ClientState_pb2.pyi +10 -4
  121. streamlit/proto/Code_pb2.pyi +7 -1
  122. streamlit/proto/ColorPicker_pb2.pyi +7 -1
  123. streamlit/proto/Common_pb2.py +3 -3
  124. streamlit/proto/Common_pb2.pyi +35 -23
  125. streamlit/proto/Components_pb2.pyi +19 -13
  126. streamlit/proto/DataFrame_pb2.pyi +55 -49
  127. streamlit/proto/DateInput_pb2.pyi +7 -1
  128. streamlit/proto/DateTimeInput_pb2.py +28 -0
  129. streamlit/proto/DateTimeInput_pb2.pyi +92 -0
  130. streamlit/proto/DeckGlJsonChart_pb2.py +10 -4
  131. streamlit/proto/DeckGlJsonChart_pb2.pyi +12 -6
  132. streamlit/proto/Delta_pb2.pyi +7 -1
  133. streamlit/proto/DocString_pb2.pyi +10 -4
  134. streamlit/proto/DownloadButton_pb2.py +2 -2
  135. streamlit/proto/DownloadButton_pb2.pyi +16 -2
  136. streamlit/proto/Element_pb2.py +7 -3
  137. streamlit/proto/Element_pb2.pyi +33 -5
  138. streamlit/proto/Empty_pb2.pyi +7 -1
  139. streamlit/proto/Exception_pb2.pyi +7 -1
  140. streamlit/proto/Favicon_pb2.pyi +7 -1
  141. streamlit/proto/FileUploader_pb2.pyi +7 -1
  142. streamlit/proto/ForwardMsg_pb2.py +12 -10
  143. streamlit/proto/ForwardMsg_pb2.pyi +42 -15
  144. streamlit/proto/GapSize_pb2.pyi +4 -4
  145. streamlit/proto/GitInfo_pb2.pyi +3 -3
  146. streamlit/proto/GraphVizChart_pb2.pyi +7 -1
  147. streamlit/proto/Heading_pb2.pyi +7 -1
  148. streamlit/proto/HeightConfig_pb2.py +2 -2
  149. streamlit/proto/HeightConfig_pb2.pyi +13 -4
  150. streamlit/proto/Html_pb2.py +2 -2
  151. streamlit/proto/Html_pb2.pyi +11 -2
  152. streamlit/proto/IFrame_pb2.pyi +7 -1
  153. streamlit/proto/Image_pb2.pyi +10 -4
  154. streamlit/proto/Json_pb2.pyi +7 -1
  155. streamlit/proto/LabelVisibilityMessage_pb2.pyi +3 -3
  156. streamlit/proto/LinkButton_pb2.py +2 -2
  157. streamlit/proto/LinkButton_pb2.pyi +15 -2
  158. streamlit/proto/Logo_pb2.pyi +7 -1
  159. streamlit/proto/Markdown_pb2.pyi +3 -3
  160. streamlit/proto/Metric_pb2.pyi +7 -7
  161. streamlit/proto/MetricsEvent_pb2.pyi +10 -4
  162. streamlit/proto/MultiSelect_pb2.pyi +7 -1
  163. streamlit/proto/NamedDataSet_pb2.pyi +7 -1
  164. streamlit/proto/Navigation_pb2.pyi +3 -3
  165. streamlit/proto/NewSession_pb2.py +18 -18
  166. streamlit/proto/NewSession_pb2.pyi +59 -40
  167. streamlit/proto/NumberInput_pb2.pyi +3 -3
  168. streamlit/proto/PageConfig_pb2.pyi +7 -7
  169. streamlit/proto/PageInfo_pb2.pyi +7 -1
  170. streamlit/proto/PageLink_pb2.py +2 -2
  171. streamlit/proto/PageLink_pb2.pyi +11 -2
  172. streamlit/proto/PageNotFound_pb2.pyi +7 -1
  173. streamlit/proto/PageProfile_pb2.pyi +13 -7
  174. streamlit/proto/PagesChanged_pb2.pyi +7 -1
  175. streamlit/proto/ParentMessage_pb2.pyi +7 -1
  176. streamlit/proto/PlotlyChart_pb2.py +8 -6
  177. streamlit/proto/PlotlyChart_pb2.pyi +9 -7
  178. streamlit/proto/Progress_pb2.pyi +7 -1
  179. streamlit/proto/Radio_pb2.pyi +7 -1
  180. streamlit/proto/RootContainer_pb2.pyi +1 -1
  181. streamlit/proto/Selectbox_pb2.pyi +7 -1
  182. streamlit/proto/SessionEvent_pb2.pyi +7 -1
  183. streamlit/proto/SessionStatus_pb2.pyi +7 -1
  184. streamlit/proto/Skeleton_pb2.pyi +3 -3
  185. streamlit/proto/Slider_pb2.pyi +5 -5
  186. streamlit/proto/Snow_pb2.pyi +7 -1
  187. streamlit/proto/Space_pb2.py +27 -0
  188. streamlit/proto/Space_pb2.pyi +48 -0
  189. streamlit/proto/Spinner_pb2.pyi +7 -1
  190. streamlit/proto/TextAlignmentConfig_pb2.py +29 -0
  191. streamlit/proto/TextAlignmentConfig_pb2.pyi +68 -0
  192. streamlit/proto/TextArea_pb2.pyi +7 -1
  193. streamlit/proto/TextInput_pb2.pyi +3 -3
  194. streamlit/proto/Text_pb2.pyi +7 -1
  195. streamlit/proto/TimeInput_pb2.pyi +7 -1
  196. streamlit/proto/Toast_pb2.pyi +7 -1
  197. streamlit/proto/VegaLiteChart_pb2.pyi +7 -1
  198. streamlit/proto/Video_pb2.pyi +6 -6
  199. streamlit/proto/WidgetStates_pb2.py +2 -2
  200. streamlit/proto/WidgetStates_pb2.pyi +23 -7
  201. streamlit/proto/WidthConfig_pb2.py +2 -2
  202. streamlit/proto/WidthConfig_pb2.pyi +13 -4
  203. streamlit/proto/openmetrics_data_model_pb2.pyi +52 -52
  204. streamlit/runtime/app_session.py +65 -2
  205. streamlit/runtime/caching/cache_data_api.py +5 -5
  206. streamlit/runtime/caching/cache_errors.py +4 -1
  207. streamlit/runtime/caching/cache_resource_api.py +5 -4
  208. streamlit/runtime/caching/cache_utils.py +3 -2
  209. streamlit/runtime/caching/cached_message_replay.py +3 -3
  210. streamlit/runtime/caching/hashing.py +4 -5
  211. streamlit/runtime/caching/legacy_cache_api.py +2 -1
  212. streamlit/runtime/connection_factory.py +1 -3
  213. streamlit/runtime/download_data_util.py +53 -0
  214. streamlit/runtime/forward_msg_queue.py +5 -1
  215. streamlit/runtime/fragment.py +2 -1
  216. streamlit/runtime/media_file_manager.py +178 -2
  217. streamlit/runtime/memory_media_file_storage.py +1 -1
  218. streamlit/runtime/metrics_util.py +91 -3
  219. streamlit/runtime/runtime.py +14 -0
  220. streamlit/runtime/scriptrunner/exec_code.py +2 -1
  221. streamlit/runtime/scriptrunner/script_runner.py +5 -3
  222. streamlit/runtime/scriptrunner_utils/script_run_context.py +3 -6
  223. streamlit/runtime/secrets.py +2 -4
  224. streamlit/runtime/session_manager.py +3 -1
  225. streamlit/runtime/state/common.py +30 -5
  226. streamlit/runtime/state/presentation.py +85 -0
  227. streamlit/runtime/state/query_params.py +80 -29
  228. streamlit/runtime/state/safe_session_state.py +2 -2
  229. streamlit/runtime/state/session_state.py +221 -17
  230. streamlit/runtime/state/widgets.py +19 -3
  231. streamlit/runtime/websocket_session_manager.py +3 -1
  232. streamlit/source_util.py +2 -2
  233. streamlit/static/index.html +2 -2
  234. streamlit/static/manifest.json +557 -239
  235. streamlit/static/static/css/{index.CIiu7Ygf.css → index.BpABIXK9.css} +1 -1
  236. streamlit/static/static/css/index.DgR7E2CV.css +1 -0
  237. streamlit/static/static/js/{ErrorOutline.esm.DUpR0_Ka.js → ErrorOutline.esm.ZJDbmVTx.js} +1 -1
  238. streamlit/static/static/js/{FileDownload.esm.CN4j9-1w.js → FileDownload.esm.Dx0vI3vH.js} +1 -1
  239. streamlit/static/static/js/{FileHelper.CaIUKG91.js → FileHelper.B7Ero7qQ.js} +3 -3
  240. streamlit/static/static/js/{FormClearHelper.DTcdrasw.js → FormClearHelper.CG2XN1_g.js} +1 -1
  241. streamlit/static/static/js/IFrameUtil.DefezniK.js +1 -0
  242. streamlit/static/static/js/InputInstructions.Cj5-1zf6.js +1 -0
  243. streamlit/static/static/js/Particles.BfWfv0Aw.js +1 -0
  244. streamlit/static/static/js/{ProgressBar.DetlP5aY.js → ProgressBar.CGQ8OgfO.js} +2 -2
  245. streamlit/static/static/js/StreamlitSyntaxHighlighter.DTKLpwhl.js +20 -0
  246. streamlit/static/static/js/{Toolbar.C77ar7rq.js → Toolbar.B2qFUmd9.js} +1 -1
  247. streamlit/static/static/js/_arrayIncludes.B19Iyn2B.js +1 -0
  248. streamlit/static/static/js/_baseIndexOf.BTknn6Gb.js +1 -0
  249. streamlit/static/static/js/{base-input.BQft14La.js → base-input.o9tL8MDP.js} +4 -4
  250. streamlit/static/static/js/{checkbox.yZOfXCeX.js → checkbox.0BeV1IBL.js} +1 -1
  251. streamlit/static/static/js/{createSuper.Dh9w1cs8.js → createSuper.RBO59fEm.js} +1 -1
  252. streamlit/static/static/js/data-grid-overlay-editor.CiTkUy0t.js +1 -0
  253. streamlit/static/static/js/{downloader.MeHtkq8r.js → downloader.DwNZg3Mw.js} +1 -1
  254. streamlit/static/static/js/embed.XT9xNd3F.js +195 -0
  255. streamlit/static/static/js/{es6.VpBPGCnM.js → es6.x9KsYQg-.js} +2 -2
  256. streamlit/static/static/js/{iframeResizer.contentWindow.yMw_ARIL.js → iframeResizer.contentWindow.ZVXpMPi0.js} +1 -1
  257. streamlit/static/static/js/index.5VPOamri.js +1 -0
  258. streamlit/static/static/js/index.8HslT92O.js +14 -0
  259. streamlit/static/static/js/index.AnXMIBz3.js +7 -0
  260. streamlit/static/static/js/index.B0yp3bM1.js +6 -0
  261. streamlit/static/static/js/index.B1fRb5wF.js +1 -0
  262. streamlit/static/static/js/index.B527JZdO.js +3 -0
  263. streamlit/static/static/js/index.BHgV-yW4.js +1 -0
  264. streamlit/static/static/js/index.BQr-XwGV.js +1 -0
  265. streamlit/static/static/js/index.BTtmaLDB.js +1 -0
  266. streamlit/static/static/js/index.BWB_91TA.js +1 -0
  267. streamlit/static/static/js/index.BfEKaEmw.js +1 -0
  268. streamlit/static/static/js/index.BfXjTO8b.js +1 -0
  269. streamlit/static/static/js/index.Bjy4NRu9.js +3 -0
  270. streamlit/static/static/js/index.Bu5JWpT_.js +1 -0
  271. streamlit/static/static/js/index.BuCx76ZV.js +1 -0
  272. streamlit/static/static/js/index.BxjzhVUb.js +2 -0
  273. streamlit/static/static/js/index.By55VdPY.js +1 -0
  274. streamlit/static/static/js/index.CF5MxTbK.js +1 -0
  275. streamlit/static/static/js/index.CLmq_z9K.js +1 -0
  276. streamlit/static/static/js/index.CNH4rdSz.js +1 -0
  277. streamlit/static/static/js/{index.B0H9IXUJ.js → index.CTgm_-jO.js} +10 -41
  278. streamlit/static/static/js/index.C_rK-Swb.js +188 -0
  279. streamlit/static/static/js/index.CjozwSzS.js +1 -0
  280. streamlit/static/static/js/{index.CH1tqnSs.js → index.CkGVt6-G.js} +1 -1
  281. streamlit/static/static/js/index.CuvXOyER.js +2 -0
  282. streamlit/static/static/js/{index.FFOzOWzC.js → index.CyUHWoCC.js} +2 -2
  283. streamlit/static/static/js/index.CyroQtI4.js +2 -0
  284. streamlit/static/static/js/index.D6HmkoDm.js +263 -0
  285. streamlit/static/static/js/index.DAqCNvsO.js +1 -0
  286. streamlit/static/static/js/index.DB_w_CZQ.js +1 -0
  287. streamlit/static/static/js/index.DBalctjj.js +2 -0
  288. streamlit/static/static/js/index.DK0RFJUG.js +11 -0
  289. streamlit/static/static/js/index.DMxc2XFp.js +151 -0
  290. streamlit/static/static/js/index.DO5utP74.js +2 -0
  291. streamlit/static/static/js/index.DS7lf09n.js +1 -0
  292. streamlit/static/static/js/index.DWexTVLY.js +1 -0
  293. streamlit/static/static/js/index.DXxnU5ej.js +1 -0
  294. streamlit/static/static/js/index.DcU3uDvB.js +2 -0
  295. streamlit/static/static/js/index.DlltaH7J.js +1 -0
  296. streamlit/static/static/js/index.DpNTZz82.js +27 -0
  297. streamlit/static/static/js/index.Dr9HIhQw.js +1 -0
  298. streamlit/static/static/js/index.DsgAU5lc.js +1 -0
  299. streamlit/static/static/js/{index.64ejlaaT.js → index.KfXqjDYy.js} +1 -1
  300. streamlit/static/static/js/index.PaidgjCs.js +1 -0
  301. streamlit/static/static/js/index.RJZuWCGA.js +1 -0
  302. streamlit/static/static/js/{index.Ctn27_AE.js → index.hbeqcRTn.js} +53 -122
  303. streamlit/static/static/js/index.q5hIQwAY.js +1 -0
  304. streamlit/static/static/js/index.rORSX6IW.js +1 -0
  305. streamlit/static/static/js/index.uSX757_v.js +1 -0
  306. streamlit/static/static/js/index.x_QRaLMd.js +1 -0
  307. streamlit/static/static/js/{input.s6pjQ49A.js → input.D5oh9-aB.js} +2 -2
  308. streamlit/static/static/js/main.q9oGOg0H.js +13 -0
  309. streamlit/static/static/js/{memory.Cuvsdfrl.js → memory.5kCSFUJS.js} +1 -1
  310. streamlit/static/static/js/moment.C3j7ZXd7.js +4 -0
  311. streamlit/static/static/js/number-overlay-editor.Cn_LsK8N.js +9 -0
  312. streamlit/static/static/js/pandasStylerUtils.BqhXt51_.js +1 -0
  313. streamlit/static/static/js/{possibleConstructorReturn.CqidKeei.js → possibleConstructorReturn.DD9NK1Z8.js} +1 -1
  314. streamlit/static/static/js/record.B-tDciZb.js +1 -0
  315. streamlit/static/static/js/{sandbox.CCQREcJx.js → sandbox.DACSyz29.js} +1 -1
  316. streamlit/static/static/js/styled-components.C3R090At.js +1 -0
  317. streamlit/static/static/js/threshold.Q1mXg5rX.js +1 -0
  318. streamlit/static/static/js/throttle.B0GR3Iyz.js +1 -0
  319. streamlit/static/static/js/{timepicker.mkJF97Bb.js → timepicker.BdhzPxrv.js} +1 -1
  320. streamlit/static/static/js/timer.C2hYhUse.js +1 -0
  321. streamlit/static/static/js/{toConsumableArray.De7I7KVR.js → toConsumableArray.Db2pdqM2.js} +1 -1
  322. streamlit/static/static/js/uniqueId.CtqIr-Yh.js +1 -0
  323. streamlit/static/static/js/urls.BwSlolu9.js +1 -0
  324. streamlit/static/static/js/{useBasicWidgetState.CedkNjUW.js → useBasicWidgetState.Bfp6TnSw.js} +1 -1
  325. streamlit/static/static/js/useIntlLocale.hRV75Xgj.js +12 -0
  326. streamlit/static/static/js/{useTextInputAutoExpand.Ca7w8dVs.js → useTextInputAutoExpand.QepX7n8Y.js} +1 -1
  327. streamlit/static/static/js/useUpdateUiValue.DHx8TzX6.js +1 -0
  328. streamlit/static/static/js/useWaveformController.WxVzpzEX.js +1 -0
  329. streamlit/static/static/js/value.B4vHRSi7.js +1 -0
  330. streamlit/static/static/js/wavesurfer.esm.vI8Eid4k.js +73 -0
  331. streamlit/static/static/js/withCalculatedWidth.DcKeRSWJ.js +1 -0
  332. streamlit/static/static/js/withFullScreenWrapper.CrHddARq.js +1 -0
  333. streamlit/static/static/media/MaterialSymbols-Rounded.C7IFxh57.woff2 +0 -0
  334. streamlit/string_util.py +9 -4
  335. streamlit/testing/v1/app_test.py +17 -2
  336. streamlit/testing/v1/element_tree.py +85 -9
  337. streamlit/testing/v1/util.py +2 -2
  338. streamlit/type_util.py +3 -4
  339. streamlit/url_util.py +1 -3
  340. streamlit/user_info.py +1 -2
  341. streamlit/util.py +3 -1
  342. streamlit/watcher/event_based_path_watcher.py +23 -12
  343. streamlit/watcher/local_sources_watcher.py +11 -1
  344. streamlit/watcher/path_watcher.py +9 -6
  345. streamlit/watcher/polling_path_watcher.py +4 -1
  346. streamlit/watcher/util.py +2 -2
  347. streamlit/web/bootstrap.py +24 -0
  348. streamlit/web/cli.py +51 -22
  349. streamlit/web/server/bidi_component_request_handler.py +193 -0
  350. streamlit/web/server/component_file_utils.py +97 -0
  351. streamlit/web/server/component_request_handler.py +8 -21
  352. streamlit/web/server/oauth_authlib_routes.py +5 -2
  353. streamlit/web/server/oidc_mixin.py +3 -1
  354. streamlit/web/server/routes.py +2 -2
  355. streamlit/web/server/server.py +9 -0
  356. streamlit/web/server/server_util.py +3 -1
  357. streamlit/web/server/upload_file_request_handler.py +19 -1
  358. {streamlit-1.50.0.dist-info → streamlit-1.52.0.dist-info}/METADATA +10 -7
  359. streamlit-1.52.0.dist-info/RECORD +620 -0
  360. streamlit/static/static/css/index.CHEnSPGk.css +0 -1
  361. streamlit/static/static/js/Hooks.BRba_Own.js +0 -1
  362. streamlit/static/static/js/InputInstructions.xnSDuYeQ.js +0 -1
  363. streamlit/static/static/js/Particles.CElH0XX2.js +0 -1
  364. streamlit/static/static/js/data-grid-overlay-editor.DcuHuCyW.js +0 -1
  365. streamlit/static/static/js/index.6xX1278W.js +0 -975
  366. streamlit/static/static/js/index.B-hiXRzw.js +0 -1
  367. streamlit/static/static/js/index.B4cAbHP6.js +0 -1
  368. streamlit/static/static/js/index.B4dUQfni.js +0 -1
  369. streamlit/static/static/js/index.BPQo7BKk.js +0 -1
  370. streamlit/static/static/js/index.Baqa90pe.js +0 -2
  371. streamlit/static/static/js/index.Bj9JgOEC.js +0 -1
  372. streamlit/static/static/js/index.BjCwMzj4.js +0 -3
  373. streamlit/static/static/js/index.Bm3VbPB5.js +0 -1
  374. streamlit/static/static/js/index.Bxz2yX3P.js +0 -1
  375. streamlit/static/static/js/index.BycLveZ4.js +0 -1
  376. streamlit/static/static/js/index.C9BdUqTi.js +0 -1
  377. streamlit/static/static/js/index.CFMf5_ez.js +0 -197
  378. streamlit/static/static/js/index.CGYqqs6j.js +0 -1
  379. streamlit/static/static/js/index.CMItVsFA.js +0 -1
  380. streamlit/static/static/js/index.CTBk8Vk2.js +0 -1
  381. streamlit/static/static/js/index.CiAQIz1H.js +0 -7
  382. streamlit/static/static/js/index.Cj7DSzVR.js +0 -73
  383. streamlit/static/static/js/index.Ck8rQ9OL.js +0 -1
  384. streamlit/static/static/js/index.ClELlchS.js +0 -1617
  385. streamlit/static/static/js/index.Cnpi3o3E.js +0 -1
  386. streamlit/static/static/js/index.D2QEXQq_.js +0 -1
  387. streamlit/static/static/js/index.DH71Ezyj.js +0 -1
  388. streamlit/static/static/js/index.DHh-U0dK.js +0 -3
  389. streamlit/static/static/js/index.DK7hD7_w.js +0 -1
  390. streamlit/static/static/js/index.DKv_lNO7.js +0 -2
  391. streamlit/static/static/js/index.DNLrMXgm.js +0 -12
  392. streamlit/static/static/js/index.DW0Grddz.js +0 -1
  393. streamlit/static/static/js/index.Dbe-Q3C-.js +0 -2
  394. streamlit/static/static/js/index.DcPNYEUo.js +0 -1
  395. streamlit/static/static/js/index.DuxqVQpd.js +0 -1
  396. streamlit/static/static/js/index.GRUzrudl.js +0 -1
  397. streamlit/static/static/js/number-overlay-editor.DdgVR5m3.js +0 -9
  398. streamlit/static/static/js/uniqueId.RI1LJdtz.js +0 -1
  399. streamlit/static/static/js/useUpdateUiValue.DeXelfRH.js +0 -1
  400. streamlit/static/static/js/withFullScreenWrapper.C3561XxJ.js +0 -1
  401. streamlit/static/static/media/MaterialSymbols-Rounded.DeCZgS-4.woff2 +0 -0
  402. streamlit-1.50.0.dist-info/RECORD +0 -557
  403. {streamlit-1.50.0.data → streamlit-1.52.0.data}/scripts/streamlit.cmd +0 -0
  404. {streamlit-1.50.0.dist-info → streamlit-1.52.0.dist-info}/WHEEL +0 -0
  405. {streamlit-1.50.0.dist-info → streamlit-1.52.0.dist-info}/entry_points.txt +0 -0
  406. {streamlit-1.50.0.dist-info → streamlit-1.52.0.dist-info}/top_level.txt +0 -0
@@ -20,8 +20,14 @@ limitations under the License.
20
20
  import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
+ import sys
23
24
  import typing
24
25
 
26
+ if sys.version_info >= (3, 10):
27
+ import typing as typing_extensions
28
+ else:
29
+ import typing_extensions
30
+
25
31
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
26
32
 
27
33
  @typing.final
@@ -36,6 +42,7 @@ class PageLink(google.protobuf.message.Message):
36
42
  USE_CONTAINER_WIDTH_FIELD_NUMBER: builtins.int
37
43
  DISABLED_FIELD_NUMBER: builtins.int
38
44
  EXTERNAL_FIELD_NUMBER: builtins.int
45
+ QUERY_STRING_FIELD_NUMBER: builtins.int
39
46
  page: builtins.str
40
47
  label: builtins.str
41
48
  icon: builtins.str
@@ -44,6 +51,7 @@ class PageLink(google.protobuf.message.Message):
44
51
  use_container_width: builtins.bool
45
52
  disabled: builtins.bool
46
53
  external: builtins.bool
54
+ query_string: builtins.str
47
55
  def __init__(
48
56
  self,
49
57
  *,
@@ -55,9 +63,10 @@ class PageLink(google.protobuf.message.Message):
55
63
  use_container_width: builtins.bool | None = ...,
56
64
  disabled: builtins.bool = ...,
57
65
  external: builtins.bool = ...,
66
+ query_string: builtins.str = ...,
58
67
  ) -> None: ...
59
68
  def HasField(self, field_name: typing.Literal["_use_container_width", b"_use_container_width", "use_container_width", b"use_container_width"]) -> builtins.bool: ...
60
- def ClearField(self, field_name: typing.Literal["_use_container_width", b"_use_container_width", "disabled", b"disabled", "external", b"external", "help", b"help", "icon", b"icon", "label", b"label", "page", b"page", "page_script_hash", b"page_script_hash", "use_container_width", b"use_container_width"]) -> None: ...
69
+ def ClearField(self, field_name: typing.Literal["_use_container_width", b"_use_container_width", "disabled", b"disabled", "external", b"external", "help", b"help", "icon", b"icon", "label", b"label", "page", b"page", "page_script_hash", b"page_script_hash", "query_string", b"query_string", "use_container_width", b"use_container_width"]) -> None: ...
61
70
  def WhichOneof(self, oneof_group: typing.Literal["_use_container_width", b"_use_container_width"]) -> typing.Literal["use_container_width"] | None: ...
62
71
 
63
- global___PageLink = PageLink
72
+ Global___PageLink: typing_extensions.TypeAlias = PageLink
@@ -20,8 +20,14 @@ limitations under the License.
20
20
  import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
+ import sys
23
24
  import typing
24
25
 
26
+ if sys.version_info >= (3, 10):
27
+ import typing as typing_extensions
28
+ else:
29
+ import typing_extensions
30
+
25
31
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
26
32
 
27
33
  @typing.final
@@ -39,4 +45,4 @@ class PageNotFound(google.protobuf.message.Message):
39
45
  ) -> None: ...
40
46
  def ClearField(self, field_name: typing.Literal["page_name", b"page_name"]) -> None: ...
41
47
 
42
- global___PageNotFound = PageNotFound
48
+ Global___PageNotFound: typing_extensions.TypeAlias = PageNotFound
@@ -22,8 +22,14 @@ import collections.abc
22
22
  import google.protobuf.descriptor
23
23
  import google.protobuf.internal.containers
24
24
  import google.protobuf.message
25
+ import sys
25
26
  import typing
26
27
 
28
+ if sys.version_info >= (3, 10):
29
+ import typing as typing_extensions
30
+ else:
31
+ import typing_extensions
32
+
27
33
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
28
34
 
29
35
  @typing.final
@@ -48,7 +54,7 @@ class PageProfile(google.protobuf.message.Message):
48
54
  headless: builtins.bool
49
55
  is_fragment_run: builtins.bool
50
56
  @property
51
- def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Command]: ...
57
+ def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Command]: ...
52
58
  @property
53
59
  def config(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
54
60
  @property
@@ -56,7 +62,7 @@ class PageProfile(google.protobuf.message.Message):
56
62
  def __init__(
57
63
  self,
58
64
  *,
59
- commands: collections.abc.Iterable[global___Command] | None = ...,
65
+ commands: collections.abc.Iterable[Global___Command] | None = ...,
60
66
  exec_time: builtins.int = ...,
61
67
  prep_time: builtins.int = ...,
62
68
  config: collections.abc.Iterable[builtins.str] | None = ...,
@@ -69,7 +75,7 @@ class PageProfile(google.protobuf.message.Message):
69
75
  ) -> None: ...
70
76
  def ClearField(self, field_name: typing.Literal["attributions", b"attributions", "commands", b"commands", "config", b"config", "exec_time", b"exec_time", "headless", b"headless", "is_fragment_run", b"is_fragment_run", "os", b"os", "prep_time", b"prep_time", "timezone", b"timezone", "uncaught_exception", b"uncaught_exception"]) -> None: ...
71
77
 
72
- global___PageProfile = PageProfile
78
+ Global___PageProfile: typing_extensions.TypeAlias = PageProfile
73
79
 
74
80
  @typing.final
75
81
  class Argument(google.protobuf.message.Message):
@@ -102,7 +108,7 @@ class Argument(google.protobuf.message.Message):
102
108
  ) -> None: ...
103
109
  def ClearField(self, field_name: typing.Literal["k", b"k", "m", b"m", "p", b"p", "t", b"t"]) -> None: ...
104
110
 
105
- global___Argument = Argument
111
+ Global___Argument: typing_extensions.TypeAlias = Argument
106
112
 
107
113
  @typing.final
108
114
  class Command(google.protobuf.message.Message):
@@ -114,14 +120,14 @@ class Command(google.protobuf.message.Message):
114
120
  name: builtins.str
115
121
  time: builtins.int
116
122
  @property
117
- def args(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Argument]: ...
123
+ def args(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Argument]: ...
118
124
  def __init__(
119
125
  self,
120
126
  *,
121
127
  name: builtins.str = ...,
122
- args: collections.abc.Iterable[global___Argument] | None = ...,
128
+ args: collections.abc.Iterable[Global___Argument] | None = ...,
123
129
  time: builtins.int = ...,
124
130
  ) -> None: ...
125
131
  def ClearField(self, field_name: typing.Literal["args", b"args", "name", b"name", "time", b"time"]) -> None: ...
126
132
 
127
- global___Command = Command
133
+ Global___Command: typing_extensions.TypeAlias = Command
@@ -23,8 +23,14 @@ import google.protobuf.descriptor
23
23
  import google.protobuf.internal.containers
24
24
  import google.protobuf.message
25
25
  import streamlit.proto.AppPage_pb2
26
+ import sys
26
27
  import typing
27
28
 
29
+ if sys.version_info >= (3, 10):
30
+ import typing as typing_extensions
31
+ else:
32
+ import typing_extensions
33
+
28
34
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
29
35
 
30
36
  @typing.final
@@ -45,4 +51,4 @@ class PagesChanged(google.protobuf.message.Message):
45
51
  ) -> None: ...
46
52
  def ClearField(self, field_name: typing.Literal["app_pages", b"app_pages"]) -> None: ...
47
53
 
48
- global___PagesChanged = PagesChanged
54
+ Global___PagesChanged: typing_extensions.TypeAlias = PagesChanged
@@ -20,8 +20,14 @@ limitations under the License.
20
20
  import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
+ import sys
23
24
  import typing
24
25
 
26
+ if sys.version_info >= (3, 10):
27
+ import typing as typing_extensions
28
+ else:
29
+ import typing_extensions
30
+
25
31
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
26
32
 
27
33
  @typing.final
@@ -43,4 +49,4 @@ class ParentMessage(google.protobuf.message.Message):
43
49
  ) -> None: ...
44
50
  def ClearField(self, field_name: typing.Literal["message", b"message"]) -> None: ...
45
51
 
46
- global___ParentMessage = ParentMessage
52
+ Global___ParentMessage: typing_extensions.TypeAlias = ParentMessage
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!streamlit/proto/PlotlyChart.proto\"\x98\x02\n\x0bPlotlyChart\x12\x1b\n\x13use_container_width\x18\x05 \x01(\x08\x12\r\n\x05theme\x18\x06 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\t\x12\x32\n\x0eselection_mode\x18\x08 \x03(\x0e\x32\x1a.PlotlyChart.SelectionMode\x12\x0f\n\x07\x66orm_id\x18\t \x01(\t\x12\x0c\n\x04spec\x18\n \x01(\t\x12\x0e\n\x06\x63onfig\x18\x0b \x01(\t\x12\r\n\x03url\x18\x01 \x01(\tH\x00\x12\x19\n\x06\x66igure\x18\x02 \x01(\x0b\x32\x07.FigureH\x00\"/\n\rSelectionMode\x12\n\n\x06POINTS\x10\x00\x12\x07\n\x03\x42OX\x10\x01\x12\t\n\x05LASSO\x10\x02\x42\x07\n\x05\x63hartJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"&\n\x06\x46igure\x12\x0c\n\x04spec\x18\x01 \x01(\t\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\tB0\n\x1c\x63om.snowflake.apps.streamlitB\x10PlotlyChartProtob\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!streamlit/proto/PlotlyChart.proto\"\x9c\x02\n\x0bPlotlyChart\x12\x1f\n\x13use_container_width\x18\x05 \x01(\x08\x42\x02\x18\x01\x12\r\n\x05theme\x18\x06 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\t\x12\x32\n\x0eselection_mode\x18\x08 \x03(\x0e\x32\x1a.PlotlyChart.SelectionMode\x12\x0f\n\x07\x66orm_id\x18\t \x01(\t\x12\x0c\n\x04spec\x18\n \x01(\t\x12\x0e\n\x06\x63onfig\x18\x0b \x01(\t\x12\r\n\x03url\x18\x01 \x01(\tH\x00\x12\x19\n\x06\x66igure\x18\x02 \x01(\x0b\x32\x07.FigureH\x00\"/\n\rSelectionMode\x12\n\n\x06POINTS\x10\x00\x12\x07\n\x03\x42OX\x10\x01\x12\t\n\x05LASSO\x10\x02\x42\x07\n\x05\x63hartJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"&\n\x06\x46igure\x12\x0c\n\x04spec\x18\x01 \x01(\t\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\tB0\n\x1c\x63om.snowflake.apps.streamlitB\x10PlotlyChartProtob\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -22,10 +22,12 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.PlotlyChart
22
22
  if not _descriptor._USE_C_DESCRIPTORS:
23
23
  _globals['DESCRIPTOR']._loaded_options = None
24
24
  _globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\020PlotlyChartProto'
25
+ _globals['_PLOTLYCHART'].fields_by_name['use_container_width']._loaded_options = None
26
+ _globals['_PLOTLYCHART'].fields_by_name['use_container_width']._serialized_options = b'\030\001'
25
27
  _globals['_PLOTLYCHART']._serialized_start=38
26
- _globals['_PLOTLYCHART']._serialized_end=318
27
- _globals['_PLOTLYCHART_SELECTIONMODE']._serialized_start=250
28
- _globals['_PLOTLYCHART_SELECTIONMODE']._serialized_end=297
29
- _globals['_FIGURE']._serialized_start=320
30
- _globals['_FIGURE']._serialized_end=358
28
+ _globals['_PLOTLYCHART']._serialized_end=322
29
+ _globals['_PLOTLYCHART_SELECTIONMODE']._serialized_start=254
30
+ _globals['_PLOTLYCHART_SELECTIONMODE']._serialized_end=301
31
+ _globals['_FIGURE']._serialized_start=324
32
+ _globals['_FIGURE']._serialized_end=362
31
33
  # @@protoc_insertion_point(module_scope)
@@ -70,7 +70,9 @@ class PlotlyChart(google.protobuf.message.Message):
70
70
  URL_FIELD_NUMBER: builtins.int
71
71
  FIGURE_FIELD_NUMBER: builtins.int
72
72
  use_container_width: builtins.bool
73
- """If True, will overwrite the chart width spec to fit to container."""
73
+ """DEPRECATED: If True, will overwrite the chart width spec to fit to container.
74
+ Use widthConfig in layout configuration instead.
75
+ """
74
76
  theme: builtins.str
75
77
  """override the properties with a theme. Currently, only "streamlit" or None are accepted."""
76
78
  id: builtins.str
@@ -84,11 +86,11 @@ class PlotlyChart(google.protobuf.message.Message):
84
86
  url: builtins.str
85
87
  """DEPRECATED and unused."""
86
88
  @property
87
- def selection_mode(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___PlotlyChart.SelectionMode.ValueType]:
89
+ def selection_mode(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[Global___PlotlyChart.SelectionMode.ValueType]:
88
90
  """Activate selections types on the chart."""
89
91
 
90
92
  @property
91
- def figure(self) -> global___Figure:
93
+ def figure(self) -> Global___Figure:
92
94
  """DEPRECATED and unused."""
93
95
 
94
96
  def __init__(
@@ -97,18 +99,18 @@ class PlotlyChart(google.protobuf.message.Message):
97
99
  use_container_width: builtins.bool = ...,
98
100
  theme: builtins.str = ...,
99
101
  id: builtins.str = ...,
100
- selection_mode: collections.abc.Iterable[global___PlotlyChart.SelectionMode.ValueType] | None = ...,
102
+ selection_mode: collections.abc.Iterable[Global___PlotlyChart.SelectionMode.ValueType] | None = ...,
101
103
  form_id: builtins.str = ...,
102
104
  spec: builtins.str = ...,
103
105
  config: builtins.str = ...,
104
106
  url: builtins.str = ...,
105
- figure: global___Figure | None = ...,
107
+ figure: Global___Figure | None = ...,
106
108
  ) -> None: ...
107
109
  def HasField(self, field_name: typing.Literal["chart", b"chart", "figure", b"figure", "url", b"url"]) -> builtins.bool: ...
108
110
  def ClearField(self, field_name: typing.Literal["chart", b"chart", "config", b"config", "figure", b"figure", "form_id", b"form_id", "id", b"id", "selection_mode", b"selection_mode", "spec", b"spec", "theme", b"theme", "url", b"url", "use_container_width", b"use_container_width"]) -> None: ...
109
111
  def WhichOneof(self, oneof_group: typing.Literal["chart", b"chart"]) -> typing.Literal["url", "figure"] | None: ...
110
112
 
111
- global___PlotlyChart = PlotlyChart
113
+ Global___PlotlyChart: typing_extensions.TypeAlias = PlotlyChart
112
114
 
113
115
  @typing.final
114
116
  class Figure(google.protobuf.message.Message):
@@ -128,4 +130,4 @@ class Figure(google.protobuf.message.Message):
128
130
  ) -> None: ...
129
131
  def ClearField(self, field_name: typing.Literal["config", b"config", "spec", b"spec"]) -> None: ...
130
132
 
131
- global___Figure = Figure
133
+ Global___Figure: typing_extensions.TypeAlias = Figure
@@ -20,8 +20,14 @@ limitations under the License.
20
20
  import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
+ import sys
23
24
  import typing
24
25
 
26
+ if sys.version_info >= (3, 10):
27
+ import typing as typing_extensions
28
+ else:
29
+ import typing_extensions
30
+
25
31
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
26
32
 
27
33
  @typing.final
@@ -40,4 +46,4 @@ class Progress(google.protobuf.message.Message):
40
46
  ) -> None: ...
41
47
  def ClearField(self, field_name: typing.Literal["text", b"text", "value", b"value"]) -> None: ...
42
48
 
43
- global___Progress = Progress
49
+ Global___Progress: typing_extensions.TypeAlias = Progress
@@ -23,8 +23,14 @@ import google.protobuf.descriptor
23
23
  import google.protobuf.internal.containers
24
24
  import google.protobuf.message
25
25
  import streamlit.proto.LabelVisibilityMessage_pb2
26
+ import sys
26
27
  import typing
27
28
 
29
+ if sys.version_info >= (3, 10):
30
+ import typing as typing_extensions
31
+ else:
32
+ import typing_extensions
33
+
28
34
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
29
35
 
30
36
  @typing.final
@@ -81,4 +87,4 @@ class Radio(google.protobuf.message.Message):
81
87
  @typing.overload
82
88
  def WhichOneof(self, oneof_group: typing.Literal["_value", b"_value"]) -> typing.Literal["value"] | None: ...
83
89
 
84
- global___Radio = Radio
90
+ Global___Radio: typing_extensions.TypeAlias = Radio
@@ -53,4 +53,4 @@ MAIN: RootContainer.ValueType # 0
53
53
  SIDEBAR: RootContainer.ValueType # 1
54
54
  EVENT: RootContainer.ValueType # 2
55
55
  BOTTOM: RootContainer.ValueType # 3
56
- global___RootContainer = RootContainer
56
+ Global___RootContainer: typing_extensions.TypeAlias = RootContainer
@@ -23,8 +23,14 @@ import google.protobuf.descriptor
23
23
  import google.protobuf.internal.containers
24
24
  import google.protobuf.message
25
25
  import streamlit.proto.LabelVisibilityMessage_pb2
26
+ import sys
26
27
  import typing
27
28
 
29
+ if sys.version_info >= (3, 10):
30
+ import typing as typing_extensions
31
+ else:
32
+ import typing_extensions
33
+
28
34
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
29
35
 
30
36
  @typing.final
@@ -90,4 +96,4 @@ class Selectbox(google.protobuf.message.Message):
90
96
  @typing.overload
91
97
  def WhichOneof(self, oneof_group: typing.Literal["_value", b"_value"]) -> typing.Literal["value"] | None: ...
92
98
 
93
- global___Selectbox = Selectbox
99
+ Global___Selectbox: typing_extensions.TypeAlias = Selectbox
@@ -21,8 +21,14 @@ import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
23
  import streamlit.proto.Exception_pb2
24
+ import sys
24
25
  import typing
25
26
 
27
+ if sys.version_info >= (3, 10):
28
+ import typing as typing_extensions
29
+ else:
30
+ import typing_extensions
31
+
26
32
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
27
33
 
28
34
  @typing.final
@@ -59,4 +65,4 @@ class SessionEvent(google.protobuf.message.Message):
59
65
  def ClearField(self, field_name: typing.Literal["script_changed_on_disk", b"script_changed_on_disk", "script_compilation_exception", b"script_compilation_exception", "script_was_manually_stopped", b"script_was_manually_stopped", "type", b"type"]) -> None: ...
60
66
  def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["script_changed_on_disk", "script_was_manually_stopped", "script_compilation_exception"] | None: ...
61
67
 
62
- global___SessionEvent = SessionEvent
68
+ Global___SessionEvent: typing_extensions.TypeAlias = SessionEvent
@@ -20,8 +20,14 @@ limitations under the License.
20
20
  import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
+ import sys
23
24
  import typing
24
25
 
26
+ if sys.version_info >= (3, 10):
27
+ import typing as typing_extensions
28
+ else:
29
+ import typing_extensions
30
+
25
31
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
26
32
 
27
33
  @typing.final
@@ -54,4 +60,4 @@ class SessionStatus(google.protobuf.message.Message):
54
60
  ) -> None: ...
55
61
  def ClearField(self, field_name: typing.Literal["run_on_save", b"run_on_save", "script_is_running", b"script_is_running"]) -> None: ...
56
62
 
57
- global___SessionStatus = SessionStatus
63
+ Global___SessionStatus: typing_extensions.TypeAlias = SessionStatus
@@ -54,18 +54,18 @@ class Skeleton(google.protobuf.message.Message):
54
54
 
55
55
  STYLE_FIELD_NUMBER: builtins.int
56
56
  HEIGHT_FIELD_NUMBER: builtins.int
57
- style: global___Skeleton.SkeletonStyle.ValueType
57
+ style: Global___Skeleton.SkeletonStyle.ValueType
58
58
  """Skeleton visual style"""
59
59
  height: builtins.int
60
60
  """Height in pixels"""
61
61
  def __init__(
62
62
  self,
63
63
  *,
64
- style: global___Skeleton.SkeletonStyle.ValueType = ...,
64
+ style: Global___Skeleton.SkeletonStyle.ValueType = ...,
65
65
  height: builtins.int | None = ...,
66
66
  ) -> None: ...
67
67
  def HasField(self, field_name: typing.Literal["_height", b"_height", "height", b"height"]) -> builtins.bool: ...
68
68
  def ClearField(self, field_name: typing.Literal["_height", b"_height", "height", b"height", "style", b"style"]) -> None: ...
69
69
  def WhichOneof(self, oneof_group: typing.Literal["_height", b"_height"]) -> typing.Literal["height"] | None: ...
70
70
 
71
- global___Skeleton = Skeleton
71
+ Global___Skeleton: typing_extensions.TypeAlias = Skeleton
@@ -100,14 +100,14 @@ class Slider(google.protobuf.message.Message):
100
100
  form_id: builtins.str
101
101
  label: builtins.str
102
102
  format: builtins.str
103
- data_type: global___Slider.DataType.ValueType
103
+ data_type: Global___Slider.DataType.ValueType
104
104
  min: builtins.float
105
105
  max: builtins.float
106
106
  step: builtins.float
107
107
  set_value: builtins.bool
108
108
  help: builtins.str
109
109
  disabled: builtins.bool
110
- type: global___Slider.Type.ValueType
110
+ type: Global___Slider.Type.ValueType
111
111
  @property
112
112
  def default(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
113
113
  @property
@@ -123,7 +123,7 @@ class Slider(google.protobuf.message.Message):
123
123
  form_id: builtins.str = ...,
124
124
  label: builtins.str = ...,
125
125
  format: builtins.str = ...,
126
- data_type: global___Slider.DataType.ValueType = ...,
126
+ data_type: Global___Slider.DataType.ValueType = ...,
127
127
  default: collections.abc.Iterable[builtins.float] | None = ...,
128
128
  min: builtins.float = ...,
129
129
  max: builtins.float = ...,
@@ -134,9 +134,9 @@ class Slider(google.protobuf.message.Message):
134
134
  help: builtins.str = ...,
135
135
  disabled: builtins.bool = ...,
136
136
  label_visibility: streamlit.proto.LabelVisibilityMessage_pb2.LabelVisibilityMessage | None = ...,
137
- type: global___Slider.Type.ValueType = ...,
137
+ type: Global___Slider.Type.ValueType = ...,
138
138
  ) -> None: ...
139
139
  def HasField(self, field_name: typing.Literal["label_visibility", b"label_visibility"]) -> builtins.bool: ...
140
140
  def ClearField(self, field_name: typing.Literal["data_type", b"data_type", "default", b"default", "disabled", b"disabled", "form_id", b"form_id", "format", b"format", "help", b"help", "id", b"id", "label", b"label", "label_visibility", b"label_visibility", "max", b"max", "min", b"min", "options", b"options", "set_value", b"set_value", "step", b"step", "type", b"type", "value", b"value"]) -> None: ...
141
141
 
142
- global___Slider = Slider
142
+ Global___Slider: typing_extensions.TypeAlias = Slider
@@ -20,8 +20,14 @@ limitations under the License.
20
20
  import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
+ import sys
23
24
  import typing
24
25
 
26
+ if sys.version_info >= (3, 10):
27
+ import typing as typing_extensions
28
+ else:
29
+ import typing_extensions
30
+
25
31
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
26
32
 
27
33
  @typing.final
@@ -40,4 +46,4 @@ class Snow(google.protobuf.message.Message):
40
46
  ) -> None: ...
41
47
  def ClearField(self, field_name: typing.Literal["show", b"show"]) -> None: ...
42
48
 
43
- global___Snow = Snow
49
+ Global___Snow: typing_extensions.TypeAlias = Snow
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: streamlit/proto/Space.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+
16
+
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Space.proto\"\x07\n\x05SpaceB*\n\x1c\x63om.snowflake.apps.streamlitB\nSpaceProtob\x06proto3')
18
+
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Space_pb2', _globals)
22
+ if not _descriptor._USE_C_DESCRIPTORS:
23
+ _globals['DESCRIPTOR']._loaded_options = None
24
+ _globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\nSpaceProto'
25
+ _globals['_SPACE']._serialized_start=31
26
+ _globals['_SPACE']._serialized_end=38
27
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,48 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ *!
5
+ Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2025)
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ """
19
+
20
+ import google.protobuf.descriptor
21
+ import google.protobuf.message
22
+ import sys
23
+ import typing
24
+
25
+ if sys.version_info >= (3, 10):
26
+ import typing as typing_extensions
27
+ else:
28
+ import typing_extensions
29
+
30
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
31
+
32
+ @typing.final
33
+ class Space(google.protobuf.message.Message):
34
+ """A space element for adding vertical or horizontal spacing.
35
+ The size and direction are controlled via Element.width_config and
36
+ Element.height_config. The frontend uses FlexContext to determine which
37
+ dimension to apply based on the parent container's direction.
38
+ Space element has no content - layout is controlled via
39
+ Element.width_config and Element.height_config
40
+ """
41
+
42
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
43
+
44
+ def __init__(
45
+ self,
46
+ ) -> None: ...
47
+
48
+ Global___Space: typing_extensions.TypeAlias = Space
@@ -20,8 +20,14 @@ limitations under the License.
20
20
  import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
+ import sys
23
24
  import typing
24
25
 
26
+ if sys.version_info >= (3, 10):
27
+ import typing as typing_extensions
28
+ else:
29
+ import typing_extensions
30
+
25
31
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
26
32
 
27
33
  @typing.final
@@ -46,4 +52,4 @@ class Spinner(google.protobuf.message.Message):
46
52
  ) -> None: ...
47
53
  def ClearField(self, field_name: typing.Literal["cache", b"cache", "show_time", b"show_time", "text", b"text"]) -> None: ...
48
54
 
49
- global___Spinner = Spinner
55
+ Global___Spinner: typing_extensions.TypeAlias = Spinner
@@ -0,0 +1,29 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: streamlit/proto/TextAlignmentConfig.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+
16
+
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)streamlit/proto/TextAlignmentConfig.proto\x12\tstreamlit\"\x9e\x01\n\x13TextAlignmentConfig\x12;\n\talignment\x18\x01 \x01(\x0e\x32(.streamlit.TextAlignmentConfig.Alignment\"J\n\tAlignment\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04LEFT\x10\x01\x12\n\n\x06\x43\x45NTER\x10\x02\x12\t\n\x05RIGHT\x10\x03\x12\x0b\n\x07JUSTIFY\x10\x04\x42\x38\n\x1c\x63om.snowflake.apps.streamlitB\x18TextAlignmentConfigProtob\x06proto3')
18
+
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.TextAlignmentConfig_pb2', _globals)
22
+ if not _descriptor._USE_C_DESCRIPTORS:
23
+ _globals['DESCRIPTOR']._loaded_options = None
24
+ _globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\030TextAlignmentConfigProto'
25
+ _globals['_TEXTALIGNMENTCONFIG']._serialized_start=57
26
+ _globals['_TEXTALIGNMENTCONFIG']._serialized_end=215
27
+ _globals['_TEXTALIGNMENTCONFIG_ALIGNMENT']._serialized_start=141
28
+ _globals['_TEXTALIGNMENTCONFIG_ALIGNMENT']._serialized_end=215
29
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,68 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ *!
5
+ Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2025)
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ """
19
+
20
+ import builtins
21
+ import google.protobuf.descriptor
22
+ import google.protobuf.internal.enum_type_wrapper
23
+ import google.protobuf.message
24
+ import sys
25
+ import typing
26
+
27
+ if sys.version_info >= (3, 10):
28
+ import typing as typing_extensions
29
+ else:
30
+ import typing_extensions
31
+
32
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
33
+
34
+ @typing.final
35
+ class TextAlignmentConfig(google.protobuf.message.Message):
36
+ """Text alignment configuration for text elements"""
37
+
38
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
39
+
40
+ class _Alignment:
41
+ ValueType = typing.NewType("ValueType", builtins.int)
42
+ V: typing_extensions.TypeAlias = ValueType
43
+
44
+ class _AlignmentEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[TextAlignmentConfig._Alignment.ValueType], builtins.type):
45
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
46
+ UNSPECIFIED: TextAlignmentConfig._Alignment.ValueType # 0
47
+ LEFT: TextAlignmentConfig._Alignment.ValueType # 1
48
+ CENTER: TextAlignmentConfig._Alignment.ValueType # 2
49
+ RIGHT: TextAlignmentConfig._Alignment.ValueType # 3
50
+ JUSTIFY: TextAlignmentConfig._Alignment.ValueType # 4
51
+
52
+ class Alignment(_Alignment, metaclass=_AlignmentEnumTypeWrapper): ...
53
+ UNSPECIFIED: TextAlignmentConfig.Alignment.ValueType # 0
54
+ LEFT: TextAlignmentConfig.Alignment.ValueType # 1
55
+ CENTER: TextAlignmentConfig.Alignment.ValueType # 2
56
+ RIGHT: TextAlignmentConfig.Alignment.ValueType # 3
57
+ JUSTIFY: TextAlignmentConfig.Alignment.ValueType # 4
58
+
59
+ ALIGNMENT_FIELD_NUMBER: builtins.int
60
+ alignment: Global___TextAlignmentConfig.Alignment.ValueType
61
+ def __init__(
62
+ self,
63
+ *,
64
+ alignment: Global___TextAlignmentConfig.Alignment.ValueType = ...,
65
+ ) -> None: ...
66
+ def ClearField(self, field_name: typing.Literal["alignment", b"alignment"]) -> None: ...
67
+
68
+ Global___TextAlignmentConfig: typing_extensions.TypeAlias = TextAlignmentConfig