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
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: streamlit/proto/ArrowData.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\x1fstreamlit/proto/ArrowData.proto\"\x19\n\tArrowData\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42.\n\x1c\x63om.snowflake.apps.streamlitB\x0e\x41rrowDataProtob\x06proto3')
18
+
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.ArrowData_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\016ArrowDataProto'
25
+ _globals['_ARROWDATA']._serialized_start=35
26
+ _globals['_ARROWDATA']._serialized_end=60
27
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,52 @@
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.message
23
+ import sys
24
+ import typing
25
+
26
+ if sys.version_info >= (3, 10):
27
+ import typing as typing_extensions
28
+ else:
29
+ import typing_extensions
30
+
31
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
32
+
33
+ @typing.final
34
+ class ArrowData(google.protobuf.message.Message):
35
+ """Data-only Arrow buffer. This intentionally excludes any UI- or element-
36
+ specific configuration that exists in Arrow.proto. Use this message when
37
+ only the serialized Arrow data is required.
38
+ """
39
+
40
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
41
+
42
+ DATA_FIELD_NUMBER: builtins.int
43
+ data: builtins.bytes
44
+ """The serialized Apache Arrow buffer (IPC stream or file format bytes)"""
45
+ def __init__(
46
+ self,
47
+ *,
48
+ data: builtins.bytes = ...,
49
+ ) -> None: ...
50
+ def ClearField(self, field_name: typing.Literal["data", b"data"]) -> None: ...
51
+
52
+ Global___ArrowData: typing_extensions.TypeAlias = ArrowData
@@ -21,8 +21,14 @@ import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
23
  import streamlit.proto.Arrow_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
@@ -54,4 +60,4 @@ class ArrowNamedDataSet(google.protobuf.message.Message):
54
60
  def HasField(self, field_name: typing.Literal["data", b"data"]) -> builtins.bool: ...
55
61
  def ClearField(self, field_name: typing.Literal["data", b"data", "has_name", b"has_name", "name", b"name"]) -> None: ...
56
62
 
57
- global___ArrowNamedDataSet = ArrowNamedDataSet
63
+ Global___ArrowNamedDataSet: typing_extensions.TypeAlias = ArrowNamedDataSet
@@ -24,8 +24,14 @@ import google.protobuf.internal.containers
24
24
  import google.protobuf.message
25
25
  import streamlit.proto.ArrowNamedDataSet_pb2
26
26
  import streamlit.proto.Arrow_pb2
27
+ import sys
27
28
  import typing
28
29
 
30
+ if sys.version_info >= (3, 10):
31
+ import typing as typing_extensions
32
+ else:
33
+ import typing_extensions
34
+
29
35
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
30
36
 
31
37
  @typing.final
@@ -81,4 +87,4 @@ class ArrowVegaLiteChart(google.protobuf.message.Message):
81
87
  def HasField(self, field_name: typing.Literal["data", b"data"]) -> builtins.bool: ...
82
88
  def ClearField(self, field_name: typing.Literal["data", b"data", "datasets", b"datasets", "form_id", b"form_id", "id", b"id", "selection_mode", b"selection_mode", "spec", b"spec", "theme", b"theme", "use_container_width", b"use_container_width"]) -> None: ...
83
89
 
84
- global___ArrowVegaLiteChart = ArrowVegaLiteChart
90
+ Global___ArrowVegaLiteChart: typing_extensions.TypeAlias = ArrowVegaLiteChart
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Arrow.proto\"\xd1\x04\n\x05\x41rrow\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\x06styler\x18\x02 \x01(\x0b\x32\x07.Styler\x12\x11\n\x05width\x18\x03 \x01(\rB\x02\x18\x01\x12\x12\n\x06height\x18\x04 \x01(\rB\x02\x18\x01\x12\x1f\n\x13use_container_width\x18\x05 \x01(\x08\x42\x02\x18\x01\x12\n\n\x02id\x18\x06 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x07 \x01(\t\x12(\n\x0c\x65\x64iting_mode\x18\x08 \x01(\x0e\x32\x12.Arrow.EditingMode\x12\x10\n\x08\x64isabled\x18\t \x01(\x08\x12\x0f\n\x07\x66orm_id\x18\n \x01(\t\x12\x14\n\x0c\x63olumn_order\x18\x0b \x03(\t\x12,\n\x0eselection_mode\x18\x0c \x03(\x0e\x32\x14.Arrow.SelectionMode\x12\x17\n\nrow_height\x18\r \x01(\rH\x00\x88\x01\x01\x12&\n\x0b\x62order_mode\x18\x0e \x01(\x0e\x32\x11.Arrow.BorderMode\"4\n\x0b\x45\x64itingMode\x12\r\n\tREAD_ONLY\x10\x00\x12\t\n\x05\x46IXED\x10\x01\x12\x0b\n\x07\x44YNAMIC\x10\x02\"t\n\rSelectionMode\x12\x0e\n\nSINGLE_ROW\x10\x00\x12\r\n\tMULTI_ROW\x10\x01\x12\x11\n\rSINGLE_COLUMN\x10\x02\x12\x10\n\x0cMULTI_COLUMN\x10\x03\x12\x0f\n\x0bSINGLE_CELL\x10\x04\x12\x0e\n\nMULTI_CELL\x10\x05\"/\n\nBorderMode\x12\x07\n\x03\x41LL\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x0e\n\nHORIZONTAL\x10\x02\x42\r\n\x0b_row_height\"O\n\x06Styler\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61ption\x18\x02 \x01(\t\x12\x0e\n\x06styles\x18\x03 \x01(\t\x12\x16\n\x0e\x64isplay_values\x18\x04 \x01(\x0c\x42*\n\x1c\x63om.snowflake.apps.streamlitB\nArrowProtob\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Arrow.proto\"\xfb\x04\n\x05\x41rrow\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\x06styler\x18\x02 \x01(\x0b\x32\x07.Styler\x12\x11\n\x05width\x18\x03 \x01(\rB\x02\x18\x01\x12\x12\n\x06height\x18\x04 \x01(\rB\x02\x18\x01\x12\x1f\n\x13use_container_width\x18\x05 \x01(\x08\x42\x02\x18\x01\x12\n\n\x02id\x18\x06 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x07 \x01(\t\x12(\n\x0c\x65\x64iting_mode\x18\x08 \x01(\x0e\x32\x12.Arrow.EditingMode\x12\x10\n\x08\x64isabled\x18\t \x01(\x08\x12\x0f\n\x07\x66orm_id\x18\n \x01(\t\x12\x14\n\x0c\x63olumn_order\x18\x0b \x03(\t\x12,\n\x0eselection_mode\x18\x0c \x03(\x0e\x32\x14.Arrow.SelectionMode\x12\x17\n\nrow_height\x18\r \x01(\rH\x00\x88\x01\x01\x12&\n\x0b\x62order_mode\x18\x0e \x01(\x0e\x32\x11.Arrow.BorderMode\x12\x18\n\x0bplaceholder\x18\x0f \x01(\tH\x01\x88\x01\x01\"4\n\x0b\x45\x64itingMode\x12\r\n\tREAD_ONLY\x10\x00\x12\t\n\x05\x46IXED\x10\x01\x12\x0b\n\x07\x44YNAMIC\x10\x02\"t\n\rSelectionMode\x12\x0e\n\nSINGLE_ROW\x10\x00\x12\r\n\tMULTI_ROW\x10\x01\x12\x11\n\rSINGLE_COLUMN\x10\x02\x12\x10\n\x0cMULTI_COLUMN\x10\x03\x12\x0f\n\x0bSINGLE_CELL\x10\x04\x12\x0e\n\nMULTI_CELL\x10\x05\"/\n\nBorderMode\x12\x07\n\x03\x41LL\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x0e\n\nHORIZONTAL\x10\x02\x42\r\n\x0b_row_heightB\x0e\n\x0c_placeholder\"O\n\x06Styler\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61ption\x18\x02 \x01(\t\x12\x0e\n\x06styles\x18\x03 \x01(\t\x12\x16\n\x0e\x64isplay_values\x18\x04 \x01(\x0c\x42*\n\x1c\x63om.snowflake.apps.streamlitB\nArrowProtob\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -29,13 +29,13 @@ if not _descriptor._USE_C_DESCRIPTORS:
29
29
  _globals['_ARROW'].fields_by_name['use_container_width']._loaded_options = None
30
30
  _globals['_ARROW'].fields_by_name['use_container_width']._serialized_options = b'\030\001'
31
31
  _globals['_ARROW']._serialized_start=32
32
- _globals['_ARROW']._serialized_end=625
33
- _globals['_ARROW_EDITINGMODE']._serialized_start=391
34
- _globals['_ARROW_EDITINGMODE']._serialized_end=443
35
- _globals['_ARROW_SELECTIONMODE']._serialized_start=445
36
- _globals['_ARROW_SELECTIONMODE']._serialized_end=561
37
- _globals['_ARROW_BORDERMODE']._serialized_start=563
38
- _globals['_ARROW_BORDERMODE']._serialized_end=610
39
- _globals['_STYLER']._serialized_start=627
40
- _globals['_STYLER']._serialized_end=706
32
+ _globals['_ARROW']._serialized_end=667
33
+ _globals['_ARROW_EDITINGMODE']._serialized_start=417
34
+ _globals['_ARROW_EDITINGMODE']._serialized_end=469
35
+ _globals['_ARROW_SELECTIONMODE']._serialized_start=471
36
+ _globals['_ARROW_SELECTIONMODE']._serialized_end=587
37
+ _globals['_ARROW_BORDERMODE']._serialized_start=589
38
+ _globals['_ARROW_BORDERMODE']._serialized_end=636
39
+ _globals['_STYLER']._serialized_start=669
40
+ _globals['_STYLER']._serialized_end=748
41
41
  # @@protoc_insertion_point(module_scope)
@@ -132,6 +132,7 @@ class Arrow(google.protobuf.message.Message):
132
132
  SELECTION_MODE_FIELD_NUMBER: builtins.int
133
133
  ROW_HEIGHT_FIELD_NUMBER: builtins.int
134
134
  BORDER_MODE_FIELD_NUMBER: builtins.int
135
+ PLACEHOLDER_FIELD_NUMBER: builtins.int
135
136
  data: builtins.bytes
136
137
  """The serialized arrow dataframe"""
137
138
  width: builtins.int
@@ -144,7 +145,7 @@ class Arrow(google.protobuf.message.Message):
144
145
  """The id of the widget, this is required if the dataframe is editable"""
145
146
  columns: builtins.str
146
147
  """Column configuration as JSON"""
147
- editing_mode: global___Arrow.EditingMode.ValueType
148
+ editing_mode: Global___Arrow.EditingMode.ValueType
148
149
  """Activate table editing"""
149
150
  disabled: builtins.bool
150
151
  """Deactivates editing"""
@@ -152,12 +153,14 @@ class Arrow(google.protobuf.message.Message):
152
153
  """The form ID of the widget, this is required if the dataframe is editable"""
153
154
  row_height: builtins.int
154
155
  """Row height in pixels"""
155
- border_mode: global___Arrow.BorderMode.ValueType
156
+ border_mode: Global___Arrow.BorderMode.ValueType
156
157
  """How to show borders around the table and between cells. Note that this property
157
158
  is only used for `st.table` at the moment.
158
159
  """
160
+ placeholder: builtins.str
161
+ """Placeholder string used when rendering missing values (e.g. nulls, NaNs)."""
159
162
  @property
160
- def styler(self) -> global___Styler:
163
+ def styler(self) -> Global___Styler:
161
164
  """Pandas styler information"""
162
165
 
163
166
  @property
@@ -165,32 +168,36 @@ class Arrow(google.protobuf.message.Message):
165
168
  """Defines the order in which columns are displayed"""
166
169
 
167
170
  @property
168
- def selection_mode(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___Arrow.SelectionMode.ValueType]:
171
+ def selection_mode(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[Global___Arrow.SelectionMode.ValueType]:
169
172
  """Activated dataframe selections events"""
170
173
 
171
174
  def __init__(
172
175
  self,
173
176
  *,
174
177
  data: builtins.bytes = ...,
175
- styler: global___Styler | None = ...,
178
+ styler: Global___Styler | None = ...,
176
179
  width: builtins.int = ...,
177
180
  height: builtins.int = ...,
178
181
  use_container_width: builtins.bool = ...,
179
182
  id: builtins.str = ...,
180
183
  columns: builtins.str = ...,
181
- editing_mode: global___Arrow.EditingMode.ValueType = ...,
184
+ editing_mode: Global___Arrow.EditingMode.ValueType = ...,
182
185
  disabled: builtins.bool = ...,
183
186
  form_id: builtins.str = ...,
184
187
  column_order: collections.abc.Iterable[builtins.str] | None = ...,
185
- selection_mode: collections.abc.Iterable[global___Arrow.SelectionMode.ValueType] | None = ...,
188
+ selection_mode: collections.abc.Iterable[Global___Arrow.SelectionMode.ValueType] | None = ...,
186
189
  row_height: builtins.int | None = ...,
187
- border_mode: global___Arrow.BorderMode.ValueType = ...,
190
+ border_mode: Global___Arrow.BorderMode.ValueType = ...,
191
+ placeholder: builtins.str | None = ...,
188
192
  ) -> None: ...
189
- def HasField(self, field_name: typing.Literal["_row_height", b"_row_height", "row_height", b"row_height", "styler", b"styler"]) -> builtins.bool: ...
190
- def ClearField(self, field_name: typing.Literal["_row_height", b"_row_height", "border_mode", b"border_mode", "column_order", b"column_order", "columns", b"columns", "data", b"data", "disabled", b"disabled", "editing_mode", b"editing_mode", "form_id", b"form_id", "height", b"height", "id", b"id", "row_height", b"row_height", "selection_mode", b"selection_mode", "styler", b"styler", "use_container_width", b"use_container_width", "width", b"width"]) -> None: ...
193
+ def HasField(self, field_name: typing.Literal["_placeholder", b"_placeholder", "_row_height", b"_row_height", "placeholder", b"placeholder", "row_height", b"row_height", "styler", b"styler"]) -> builtins.bool: ...
194
+ def ClearField(self, field_name: typing.Literal["_placeholder", b"_placeholder", "_row_height", b"_row_height", "border_mode", b"border_mode", "column_order", b"column_order", "columns", b"columns", "data", b"data", "disabled", b"disabled", "editing_mode", b"editing_mode", "form_id", b"form_id", "height", b"height", "id", b"id", "placeholder", b"placeholder", "row_height", b"row_height", "selection_mode", b"selection_mode", "styler", b"styler", "use_container_width", b"use_container_width", "width", b"width"]) -> None: ...
195
+ @typing.overload
196
+ def WhichOneof(self, oneof_group: typing.Literal["_placeholder", b"_placeholder"]) -> typing.Literal["placeholder"] | None: ...
197
+ @typing.overload
191
198
  def WhichOneof(self, oneof_group: typing.Literal["_row_height", b"_row_height"]) -> typing.Literal["row_height"] | None: ...
192
199
 
193
- global___Arrow = Arrow
200
+ Global___Arrow: typing_extensions.TypeAlias = Arrow
194
201
 
195
202
  @typing.final
196
203
  class Styler(google.protobuf.message.Message):
@@ -222,4 +229,4 @@ class Styler(google.protobuf.message.Message):
222
229
  ) -> None: ...
223
230
  def ClearField(self, field_name: typing.Literal["caption", b"caption", "display_values", b"display_values", "styles", b"styles", "uuid", b"uuid"]) -> None: ...
224
231
 
225
- global___Styler = Styler
232
+ Global___Styler: typing_extensions.TypeAlias = Styler
@@ -21,8 +21,14 @@ import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
23
  import streamlit.proto.LabelVisibilityMessage_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 AudioInput(google.protobuf.message.Message):
59
65
  def ClearField(self, field_name: typing.Literal["_sample_rate", b"_sample_rate", "disabled", b"disabled", "form_id", b"form_id", "help", b"help", "id", b"id", "label", b"label", "label_visibility", b"label_visibility", "sample_rate", b"sample_rate"]) -> None: ...
60
66
  def WhichOneof(self, oneof_group: typing.Literal["_sample_rate", b"_sample_rate"]) -> typing.Literal["sample_rate"] | None: ...
61
67
 
62
- global___AudioInput = AudioInput
68
+ Global___AudioInput: typing_extensions.TypeAlias = AudioInput
@@ -21,8 +21,14 @@ import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
23
  import streamlit.proto.WidthConfig_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
@@ -62,4 +68,4 @@ class Audio(google.protobuf.message.Message):
62
68
  def ClearField(self, field_name: typing.Literal["_width_config", b"_width_config", "autoplay", b"autoplay", "end_time", b"end_time", "id", b"id", "loop", b"loop", "start_time", b"start_time", "url", b"url", "width_config", b"width_config"]) -> None: ...
63
69
  def WhichOneof(self, oneof_group: typing.Literal["_width_config", b"_width_config"]) -> typing.Literal["width_config"] | None: ...
64
70
 
65
- global___Audio = Audio
71
+ Global___Audio: typing_extensions.TypeAlias = Audio
@@ -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
@@ -38,4 +44,4 @@ class AuthRedirect(google.protobuf.message.Message):
38
44
  ) -> None: ...
39
45
  def ClearField(self, field_name: typing.Literal["url", b"url"]) -> None: ...
40
46
 
41
- global___AuthRedirect = AuthRedirect
47
+ Global___AuthRedirect: typing_extensions.TypeAlias = AuthRedirect
@@ -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
@@ -42,4 +48,4 @@ class AutoRerun(google.protobuf.message.Message):
42
48
  ) -> None: ...
43
49
  def ClearField(self, field_name: typing.Literal["fragment_id", b"fragment_id", "interval", b"interval"]) -> None: ...
44
50
 
45
- global___AutoRerun = AutoRerun
51
+ Global___AutoRerun: typing_extensions.TypeAlias = AutoRerun
@@ -16,7 +16,7 @@ from streamlit.proto import ClientState_pb2 as streamlit_dot_proto_dot_ClientSta
16
16
  from streamlit.proto import Common_pb2 as streamlit_dot_proto_dot_Common__pb2
17
17
 
18
18
 
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dstreamlit/proto/BackMsg.proto\x1a!streamlit/proto/ClientState.proto\x1a\x1cstreamlit/proto/Common.proto\"\xf2\x02\n\x07\x42\x61\x63kMsg\x12\x15\n\x0b\x63lear_cache\x18\x05 \x01(\x08H\x00\x12\x19\n\x0fset_run_on_save\x18\x06 \x01(\x08H\x00\x12\x15\n\x0bstop_script\x18\x07 \x01(\x08H\x00\x12$\n\x0crerun_script\x18\x0b \x01(\x0b\x32\x0c.ClientStateH\x00\x12\x17\n\rload_git_info\x18\x0c \x01(\x08H\x00\x12$\n\x1a\x64\x65\x62ug_disconnect_websocket\x18\x0e \x01(\x08H\x00\x12 \n\x16\x64\x65\x62ug_shutdown_runtime\x18\x0f \x01(\x08H\x00\x12-\n\x11\x66ile_urls_request\x18\x10 \x01(\x0b\x32\x10.FileURLsRequestH\x00\x12\x17\n\rapp_heartbeat\x18\x11 \x01(\x08H\x00\x12\x1d\n\x15\x64\x65\x62ug_last_backmsg_id\x18\r \x01(\tB\x06\n\x04typeJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\x42,\n\x1c\x63om.snowflake.apps.streamlitB\x0c\x42\x61\x63kMsgProtob\x06proto3')
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dstreamlit/proto/BackMsg.proto\x1a!streamlit/proto/ClientState.proto\x1a\x1cstreamlit/proto/Common.proto\"\xa9\x03\n\x07\x42\x61\x63kMsg\x12\x15\n\x0b\x63lear_cache\x18\x05 \x01(\x08H\x00\x12\x19\n\x0fset_run_on_save\x18\x06 \x01(\x08H\x00\x12\x15\n\x0bstop_script\x18\x07 \x01(\x08H\x00\x12$\n\x0crerun_script\x18\x0b \x01(\x0b\x32\x0c.ClientStateH\x00\x12\x17\n\rload_git_info\x18\x0c \x01(\x08H\x00\x12$\n\x1a\x64\x65\x62ug_disconnect_websocket\x18\x0e \x01(\x08H\x00\x12 \n\x16\x64\x65\x62ug_shutdown_runtime\x18\x0f \x01(\x08H\x00\x12-\n\x11\x66ile_urls_request\x18\x10 \x01(\x0b\x32\x10.FileURLsRequestH\x00\x12\x17\n\rapp_heartbeat\x18\x11 \x01(\x08H\x00\x12\x35\n\x15\x64\x65\x66\x65rred_file_request\x18\x12 \x01(\x0b\x32\x14.DeferredFileRequestH\x00\x12\x1d\n\x15\x64\x65\x62ug_last_backmsg_id\x18\r \x01(\tB\x06\n\x04typeJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\":\n\x13\x44\x65\x66\x65rredFileRequest\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x12\n\nsession_id\x18\x02 \x01(\tB,\n\x1c\x63om.snowflake.apps.streamlitB\x0c\x42\x61\x63kMsgProtob\x06proto3')
20
20
 
21
21
  _globals = globals()
22
22
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -25,5 +25,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
25
25
  _globals['DESCRIPTOR']._loaded_options = None
26
26
  _globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\014BackMsgProto'
27
27
  _globals['_BACKMSG']._serialized_start=99
28
- _globals['_BACKMSG']._serialized_end=469
28
+ _globals['_BACKMSG']._serialized_end=524
29
+ _globals['_DEFERREDFILEREQUEST']._serialized_start=526
30
+ _globals['_DEFERREDFILEREQUEST']._serialized_end=584
29
31
  # @@protoc_insertion_point(module_scope)
@@ -22,8 +22,14 @@ import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
23
  import streamlit.proto.ClientState_pb2
24
24
  import streamlit.proto.Common_pb2
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
@@ -41,6 +47,7 @@ class BackMsg(google.protobuf.message.Message):
41
47
  DEBUG_SHUTDOWN_RUNTIME_FIELD_NUMBER: builtins.int
42
48
  FILE_URLS_REQUEST_FIELD_NUMBER: builtins.int
43
49
  APP_HEARTBEAT_FIELD_NUMBER: builtins.int
50
+ DEFERRED_FILE_REQUEST_FIELD_NUMBER: builtins.int
44
51
  DEBUG_LAST_BACKMSG_ID_FIELD_NUMBER: builtins.int
45
52
  clear_cache: builtins.bool
46
53
  """DEPRECATED. Asks the server to run the script with this object
@@ -84,6 +91,10 @@ class BackMsg(google.protobuf.message.Message):
84
91
  files for the `st.file_uploader` widget
85
92
  """
86
93
 
94
+ @property
95
+ def deferred_file_request(self) -> Global___DeferredFileRequest:
96
+ """Requests that the server execute a deferred callable and return the URL"""
97
+
87
98
  def __init__(
88
99
  self,
89
100
  *,
@@ -96,10 +107,29 @@ class BackMsg(google.protobuf.message.Message):
96
107
  debug_shutdown_runtime: builtins.bool = ...,
97
108
  file_urls_request: streamlit.proto.Common_pb2.FileURLsRequest | None = ...,
98
109
  app_heartbeat: builtins.bool = ...,
110
+ deferred_file_request: Global___DeferredFileRequest | None = ...,
99
111
  debug_last_backmsg_id: builtins.str = ...,
100
112
  ) -> None: ...
101
- def HasField(self, field_name: typing.Literal["app_heartbeat", b"app_heartbeat", "clear_cache", b"clear_cache", "debug_disconnect_websocket", b"debug_disconnect_websocket", "debug_shutdown_runtime", b"debug_shutdown_runtime", "file_urls_request", b"file_urls_request", "load_git_info", b"load_git_info", "rerun_script", b"rerun_script", "set_run_on_save", b"set_run_on_save", "stop_script", b"stop_script", "type", b"type"]) -> builtins.bool: ...
102
- def ClearField(self, field_name: typing.Literal["app_heartbeat", b"app_heartbeat", "clear_cache", b"clear_cache", "debug_disconnect_websocket", b"debug_disconnect_websocket", "debug_last_backmsg_id", b"debug_last_backmsg_id", "debug_shutdown_runtime", b"debug_shutdown_runtime", "file_urls_request", b"file_urls_request", "load_git_info", b"load_git_info", "rerun_script", b"rerun_script", "set_run_on_save", b"set_run_on_save", "stop_script", b"stop_script", "type", b"type"]) -> None: ...
103
- def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["clear_cache", "set_run_on_save", "stop_script", "rerun_script", "load_git_info", "debug_disconnect_websocket", "debug_shutdown_runtime", "file_urls_request", "app_heartbeat"] | None: ...
113
+ def HasField(self, field_name: typing.Literal["app_heartbeat", b"app_heartbeat", "clear_cache", b"clear_cache", "debug_disconnect_websocket", b"debug_disconnect_websocket", "debug_shutdown_runtime", b"debug_shutdown_runtime", "deferred_file_request", b"deferred_file_request", "file_urls_request", b"file_urls_request", "load_git_info", b"load_git_info", "rerun_script", b"rerun_script", "set_run_on_save", b"set_run_on_save", "stop_script", b"stop_script", "type", b"type"]) -> builtins.bool: ...
114
+ def ClearField(self, field_name: typing.Literal["app_heartbeat", b"app_heartbeat", "clear_cache", b"clear_cache", "debug_disconnect_websocket", b"debug_disconnect_websocket", "debug_last_backmsg_id", b"debug_last_backmsg_id", "debug_shutdown_runtime", b"debug_shutdown_runtime", "deferred_file_request", b"deferred_file_request", "file_urls_request", b"file_urls_request", "load_git_info", b"load_git_info", "rerun_script", b"rerun_script", "set_run_on_save", b"set_run_on_save", "stop_script", b"stop_script", "type", b"type"]) -> None: ...
115
+ def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["clear_cache", "set_run_on_save", "stop_script", "rerun_script", "load_git_info", "debug_disconnect_websocket", "debug_shutdown_runtime", "file_urls_request", "app_heartbeat", "deferred_file_request"] | None: ...
116
+
117
+ Global___BackMsg: typing_extensions.TypeAlias = BackMsg
118
+
119
+ @typing.final
120
+ class DeferredFileRequest(google.protobuf.message.Message):
121
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
122
+
123
+ FILE_ID_FIELD_NUMBER: builtins.int
124
+ SESSION_ID_FIELD_NUMBER: builtins.int
125
+ file_id: builtins.str
126
+ session_id: builtins.str
127
+ def __init__(
128
+ self,
129
+ *,
130
+ file_id: builtins.str = ...,
131
+ session_id: builtins.str = ...,
132
+ ) -> None: ...
133
+ def ClearField(self, field_name: typing.Literal["file_id", b"file_id", "session_id", b"session_id"]) -> None: ...
104
134
 
105
- global___BackMsg = BackMsg
135
+ Global___DeferredFileRequest: typing_extensions.TypeAlias = DeferredFileRequest
@@ -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 Balloons(google.protobuf.message.Message):
40
46
  ) -> None: ...
41
47
  def ClearField(self, field_name: typing.Literal["show", b"show"]) -> None: ...
42
48
 
43
- global___Balloons = Balloons
49
+ Global___Balloons: typing_extensions.TypeAlias = Balloons
@@ -0,0 +1,34 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: streamlit/proto/BidiComponent.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
+ from streamlit.proto import ArrowData_pb2 as streamlit_dot_proto_dot_ArrowData__pb2
16
+
17
+
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#streamlit/proto/BidiComponent.proto\x1a\x1fstreamlit/proto/ArrowData.proto\"\x89\x01\n\tMixedData\x12\x0c\n\x04json\x18\x01 \x01(\t\x12/\n\x0b\x61rrow_blobs\x18\x02 \x03(\x0b\x32\x1a.MixedData.ArrowBlobsEntry\x1a=\n\x0f\x41rrowBlobsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x19\n\x05value\x18\x02 \x01(\x0b\x32\n.ArrowData:\x02\x38\x01\"\xa4\x03\n\rBidiComponent\x12\n\n\x02id\x18\x01 \x01(\t\x12\x16\n\x0e\x63omponent_name\x18\x02 \x01(\t\x12\x17\n\njs_content\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0ejs_source_path\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x07\x66orm_id\x18\x05 \x01(\t\x12\x19\n\x0chtml_content\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x63ss_content\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x1c\n\x0f\x63ss_source_path\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\x16\n\x0eisolate_styles\x18\t \x01(\x08\x12\x0e\n\x04json\x18\n \x01(\tH\x00\x12 \n\narrow_data\x18\x0b \x01(\x0b\x32\n.ArrowDataH\x00\x12\x0f\n\x05\x62ytes\x18\x0c \x01(\x0cH\x00\x12\x1b\n\x05mixed\x18\r \x01(\x0b\x32\n.MixedDataH\x00\x42\x06\n\x04\x64\x61taB\r\n\x0b_js_contentB\x11\n\x0f_js_source_pathB\x0f\n\r_html_contentB\x0e\n\x0c_css_contentB\x12\n\x10_css_source_pathB2\n\x1c\x63om.snowflake.apps.streamlitB\x12\x42idiComponentProtob\x06proto3')
19
+
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.BidiComponent_pb2', _globals)
23
+ if not _descriptor._USE_C_DESCRIPTORS:
24
+ _globals['DESCRIPTOR']._loaded_options = None
25
+ _globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\022BidiComponentProto'
26
+ _globals['_MIXEDDATA_ARROWBLOBSENTRY']._loaded_options = None
27
+ _globals['_MIXEDDATA_ARROWBLOBSENTRY']._serialized_options = b'8\001'
28
+ _globals['_MIXEDDATA']._serialized_start=73
29
+ _globals['_MIXEDDATA']._serialized_end=210
30
+ _globals['_MIXEDDATA_ARROWBLOBSENTRY']._serialized_start=149
31
+ _globals['_MIXEDDATA_ARROWBLOBSENTRY']._serialized_end=210
32
+ _globals['_BIDICOMPONENT']._serialized_start=213
33
+ _globals['_BIDICOMPONENT']._serialized_end=633
34
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,159 @@
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 collections.abc
22
+ import google.protobuf.descriptor
23
+ import google.protobuf.internal.containers
24
+ import google.protobuf.message
25
+ import streamlit.proto.ArrowData_pb2
26
+ import sys
27
+ import typing
28
+
29
+ if sys.version_info >= (3, 10):
30
+ import typing as typing_extensions
31
+ else:
32
+ import typing_extensions
33
+
34
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
35
+
36
+ @typing.final
37
+ class MixedData(google.protobuf.message.Message):
38
+ """Mixed data structure that allows JSON with embedded Arrow references"""
39
+
40
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
41
+
42
+ @typing.final
43
+ class ArrowBlobsEntry(google.protobuf.message.Message):
44
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
45
+
46
+ KEY_FIELD_NUMBER: builtins.int
47
+ VALUE_FIELD_NUMBER: builtins.int
48
+ key: builtins.str
49
+ @property
50
+ def value(self) -> streamlit.proto.ArrowData_pb2.ArrowData: ...
51
+ def __init__(
52
+ self,
53
+ *,
54
+ key: builtins.str = ...,
55
+ value: streamlit.proto.ArrowData_pb2.ArrowData | None = ...,
56
+ ) -> None: ...
57
+ def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
58
+ def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
59
+
60
+ JSON_FIELD_NUMBER: builtins.int
61
+ ARROW_BLOBS_FIELD_NUMBER: builtins.int
62
+ json: builtins.str
63
+ """The main JSON structure with arrow references replaced by placeholders"""
64
+ @property
65
+ def arrow_blobs(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, streamlit.proto.ArrowData_pb2.ArrowData]:
66
+ """Map of arrow data blobs keyed by reference ID"""
67
+
68
+ def __init__(
69
+ self,
70
+ *,
71
+ json: builtins.str = ...,
72
+ arrow_blobs: collections.abc.Mapping[builtins.str, streamlit.proto.ArrowData_pb2.ArrowData] | None = ...,
73
+ ) -> None: ...
74
+ def ClearField(self, field_name: typing.Literal["arrow_blobs", b"arrow_blobs", "json", b"json"]) -> None: ...
75
+
76
+ Global___MixedData: typing_extensions.TypeAlias = MixedData
77
+
78
+ @typing.final
79
+ class BidiComponent(google.protobuf.message.Message):
80
+ """Represents an instance of a bidirectional component."""
81
+
82
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
83
+
84
+ ID_FIELD_NUMBER: builtins.int
85
+ COMPONENT_NAME_FIELD_NUMBER: builtins.int
86
+ JS_CONTENT_FIELD_NUMBER: builtins.int
87
+ JS_SOURCE_PATH_FIELD_NUMBER: builtins.int
88
+ FORM_ID_FIELD_NUMBER: builtins.int
89
+ HTML_CONTENT_FIELD_NUMBER: builtins.int
90
+ CSS_CONTENT_FIELD_NUMBER: builtins.int
91
+ CSS_SOURCE_PATH_FIELD_NUMBER: builtins.int
92
+ ISOLATE_STYLES_FIELD_NUMBER: builtins.int
93
+ JSON_FIELD_NUMBER: builtins.int
94
+ ARROW_DATA_FIELD_NUMBER: builtins.int
95
+ BYTES_FIELD_NUMBER: builtins.int
96
+ MIXED_FIELD_NUMBER: builtins.int
97
+ id: builtins.str
98
+ """The ID of the widget instance."""
99
+ component_name: builtins.str
100
+ """The registered name of the component."""
101
+ js_content: builtins.str
102
+ """The JavaScript content provided by the developer."""
103
+ js_source_path: builtins.str
104
+ """The source path for the JavaScript content."""
105
+ form_id: builtins.str
106
+ """The ID of the form this component belongs to, if any."""
107
+ html_content: builtins.str
108
+ """The HTML content provided by the developer."""
109
+ css_content: builtins.str
110
+ """The CSS content provided by the developer."""
111
+ css_source_path: builtins.str
112
+ """The source path for the CSS content."""
113
+ isolate_styles: builtins.bool
114
+ """Whether to isolate styles from the parent."""
115
+ json: builtins.str
116
+ """JSON-serialized value for generic data payloads."""
117
+ bytes: builtins.bytes
118
+ """Arbitrary bytes payload."""
119
+ @property
120
+ def arrow_data(self) -> streamlit.proto.ArrowData_pb2.ArrowData:
121
+ """Data-only Apache Arrow buffer for dataframe-like payloads."""
122
+
123
+ @property
124
+ def mixed(self) -> Global___MixedData:
125
+ """Mixed data with JSON structure + embedded Arrow references"""
126
+
127
+ def __init__(
128
+ self,
129
+ *,
130
+ id: builtins.str = ...,
131
+ component_name: builtins.str = ...,
132
+ js_content: builtins.str | None = ...,
133
+ js_source_path: builtins.str | None = ...,
134
+ form_id: builtins.str = ...,
135
+ html_content: builtins.str | None = ...,
136
+ css_content: builtins.str | None = ...,
137
+ css_source_path: builtins.str | None = ...,
138
+ isolate_styles: builtins.bool = ...,
139
+ json: builtins.str = ...,
140
+ arrow_data: streamlit.proto.ArrowData_pb2.ArrowData | None = ...,
141
+ bytes: builtins.bytes = ...,
142
+ mixed: Global___MixedData | None = ...,
143
+ ) -> None: ...
144
+ def HasField(self, field_name: typing.Literal["_css_content", b"_css_content", "_css_source_path", b"_css_source_path", "_html_content", b"_html_content", "_js_content", b"_js_content", "_js_source_path", b"_js_source_path", "arrow_data", b"arrow_data", "bytes", b"bytes", "css_content", b"css_content", "css_source_path", b"css_source_path", "data", b"data", "html_content", b"html_content", "js_content", b"js_content", "js_source_path", b"js_source_path", "json", b"json", "mixed", b"mixed"]) -> builtins.bool: ...
145
+ def ClearField(self, field_name: typing.Literal["_css_content", b"_css_content", "_css_source_path", b"_css_source_path", "_html_content", b"_html_content", "_js_content", b"_js_content", "_js_source_path", b"_js_source_path", "arrow_data", b"arrow_data", "bytes", b"bytes", "component_name", b"component_name", "css_content", b"css_content", "css_source_path", b"css_source_path", "data", b"data", "form_id", b"form_id", "html_content", b"html_content", "id", b"id", "isolate_styles", b"isolate_styles", "js_content", b"js_content", "js_source_path", b"js_source_path", "json", b"json", "mixed", b"mixed"]) -> None: ...
146
+ @typing.overload
147
+ def WhichOneof(self, oneof_group: typing.Literal["_css_content", b"_css_content"]) -> typing.Literal["css_content"] | None: ...
148
+ @typing.overload
149
+ def WhichOneof(self, oneof_group: typing.Literal["_css_source_path", b"_css_source_path"]) -> typing.Literal["css_source_path"] | None: ...
150
+ @typing.overload
151
+ def WhichOneof(self, oneof_group: typing.Literal["_html_content", b"_html_content"]) -> typing.Literal["html_content"] | None: ...
152
+ @typing.overload
153
+ def WhichOneof(self, oneof_group: typing.Literal["_js_content", b"_js_content"]) -> typing.Literal["js_content"] | None: ...
154
+ @typing.overload
155
+ def WhichOneof(self, oneof_group: typing.Literal["_js_source_path", b"_js_source_path"]) -> typing.Literal["js_source_path"] | None: ...
156
+ @typing.overload
157
+ def WhichOneof(self, oneof_group: typing.Literal["data", b"data"]) -> typing.Literal["json", "arrow_data", "bytes", "mixed"] | None: ...
158
+
159
+ Global___BidiComponent: typing_extensions.TypeAlias = BidiComponent