streamlit 1.45.1__py3-none-any.whl → 1.46.1__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 (335) hide show
  1. streamlit/__init__.py +5 -1
  2. streamlit/auth_util.py +12 -12
  3. streamlit/cli_util.py +4 -3
  4. streamlit/column_config.py +11 -9
  5. streamlit/commands/echo.py +6 -4
  6. streamlit/commands/execution_control.py +33 -32
  7. streamlit/commands/experimental_query_params.py +2 -2
  8. streamlit/commands/logo.py +9 -4
  9. streamlit/commands/navigation.py +61 -18
  10. streamlit/commands/page_config.py +57 -47
  11. streamlit/components/types/base_custom_component.py +7 -7
  12. streamlit/components/v1/component_registry.py +7 -3
  13. streamlit/components/v1/components.py +1 -1
  14. streamlit/components/v1/custom_component.py +8 -8
  15. streamlit/config.py +289 -144
  16. streamlit/config_option.py +19 -15
  17. streamlit/config_util.py +29 -23
  18. streamlit/connections/__init__.py +2 -2
  19. streamlit/connections/base_connection.py +5 -5
  20. streamlit/connections/snowflake_connection.py +13 -11
  21. streamlit/connections/snowpark_connection.py +3 -3
  22. streamlit/connections/sql_connection.py +20 -18
  23. streamlit/connections/util.py +2 -2
  24. streamlit/cursor.py +6 -6
  25. streamlit/dataframe_util.py +52 -52
  26. streamlit/delta_generator.py +46 -48
  27. streamlit/delta_generator_singletons.py +3 -3
  28. streamlit/deprecation_util.py +6 -6
  29. streamlit/elements/alert.py +37 -29
  30. streamlit/elements/arrow.py +40 -22
  31. streamlit/elements/code.py +46 -13
  32. streamlit/elements/deck_gl_json_chart.py +38 -27
  33. streamlit/elements/dialog_decorator.py +3 -4
  34. streamlit/elements/doc_string.py +64 -58
  35. streamlit/elements/exception.py +23 -27
  36. streamlit/elements/form.py +41 -0
  37. streamlit/elements/graphviz_chart.py +1 -1
  38. streamlit/elements/heading.py +60 -9
  39. streamlit/elements/html.py +3 -4
  40. streamlit/elements/image.py +8 -9
  41. streamlit/elements/json.py +21 -2
  42. streamlit/elements/layouts.py +120 -31
  43. streamlit/elements/lib/built_in_chart_utils.py +96 -73
  44. streamlit/elements/lib/color_util.py +3 -3
  45. streamlit/elements/lib/column_config_utils.py +2 -4
  46. streamlit/elements/lib/column_types.py +14 -8
  47. streamlit/elements/lib/dialog.py +9 -5
  48. streamlit/elements/lib/image_utils.py +39 -40
  49. streamlit/elements/lib/js_number.py +4 -4
  50. streamlit/elements/lib/layout_utils.py +65 -1
  51. streamlit/elements/lib/mutable_status_container.py +14 -3
  52. streamlit/elements/lib/options_selector_utils.py +22 -12
  53. streamlit/elements/lib/pandas_styler_utils.py +25 -21
  54. streamlit/elements/lib/policies.py +6 -5
  55. streamlit/elements/lib/streamlit_plotly_theme.py +54 -53
  56. streamlit/elements/lib/subtitle_utils.py +6 -9
  57. streamlit/elements/lib/utils.py +20 -5
  58. streamlit/elements/map.py +32 -56
  59. streamlit/elements/markdown.py +101 -12
  60. streamlit/elements/media.py +78 -21
  61. streamlit/elements/metric.py +32 -16
  62. streamlit/elements/plotly_chart.py +15 -15
  63. streamlit/elements/progress.py +33 -15
  64. streamlit/elements/spinner.py +31 -6
  65. streamlit/elements/text.py +21 -1
  66. streamlit/elements/toast.py +1 -2
  67. streamlit/elements/vega_charts.py +54 -23
  68. streamlit/elements/widgets/audio_input.py +24 -7
  69. streamlit/elements/widgets/button.py +26 -19
  70. streamlit/elements/widgets/button_group.py +10 -15
  71. streamlit/elements/widgets/camera_input.py +27 -7
  72. streamlit/elements/widgets/chat.py +91 -38
  73. streamlit/elements/widgets/checkbox.py +45 -4
  74. streamlit/elements/widgets/color_picker.py +40 -17
  75. streamlit/elements/widgets/data_editor.py +76 -37
  76. streamlit/elements/widgets/file_uploader.py +42 -13
  77. streamlit/elements/widgets/multiselect.py +7 -10
  78. streamlit/elements/widgets/number_input.py +123 -47
  79. streamlit/elements/widgets/radio.py +59 -13
  80. streamlit/elements/widgets/select_slider.py +35 -30
  81. streamlit/elements/widgets/selectbox.py +56 -9
  82. streamlit/elements/widgets/slider.py +190 -99
  83. streamlit/elements/widgets/text_widgets.py +54 -8
  84. streamlit/elements/widgets/time_widgets.py +53 -14
  85. streamlit/elements/write.py +5 -8
  86. streamlit/env_util.py +2 -7
  87. streamlit/error_util.py +16 -9
  88. streamlit/errors.py +69 -48
  89. streamlit/external/langchain/streamlit_callback_handler.py +10 -5
  90. streamlit/file_util.py +27 -10
  91. streamlit/git_util.py +29 -24
  92. streamlit/hello/animation_demo.py +9 -9
  93. streamlit/hello/dataframe_demo.py +5 -5
  94. streamlit/hello/hello.py +1 -0
  95. streamlit/hello/mapping_demo.py +7 -8
  96. streamlit/hello/plotting_demo.py +3 -3
  97. streamlit/hello/streamlit_app.py +28 -26
  98. streamlit/hello/utils.py +2 -1
  99. streamlit/logger.py +10 -11
  100. streamlit/navigation/page.py +11 -8
  101. streamlit/proto/Audio_pb2.py +4 -3
  102. streamlit/proto/Audio_pb2.pyi +8 -1
  103. streamlit/proto/Block_pb2.py +38 -29
  104. streamlit/proto/Block_pb2.pyi +72 -4
  105. streamlit/proto/ClientState_pb2.py +4 -4
  106. streamlit/proto/ClientState_pb2.pyi +7 -2
  107. streamlit/proto/Code_pb2.py +4 -2
  108. streamlit/proto/Code_pb2.pyi +1 -0
  109. streamlit/proto/DataFrame_pb2.pyi +1 -1
  110. streamlit/proto/DeckGlJsonChart_pb2.pyi +1 -1
  111. streamlit/proto/Element_pb2.py +5 -3
  112. streamlit/proto/Element_pb2.pyi +20 -3
  113. streamlit/proto/GapSize_pb2.py +29 -0
  114. streamlit/proto/GapSize_pb2.pyi +70 -0
  115. streamlit/proto/HeightConfig_pb2.py +27 -0
  116. streamlit/proto/HeightConfig_pb2.pyi +48 -0
  117. streamlit/proto/NamedDataSet_pb2.pyi +1 -1
  118. streamlit/proto/Navigation_pb2.py +3 -3
  119. streamlit/proto/Navigation_pb2.pyi +4 -0
  120. streamlit/proto/NewSession_pb2.py +18 -16
  121. streamlit/proto/NewSession_pb2.pyi +29 -3
  122. streamlit/proto/PageConfig_pb2.py +7 -7
  123. streamlit/proto/PageConfig_pb2.pyi +21 -1
  124. streamlit/proto/Video_pb2.py +8 -7
  125. streamlit/proto/Video_pb2.pyi +8 -1
  126. streamlit/proto/WidthConfig_pb2.py +2 -2
  127. streamlit/proto/WidthConfig_pb2.pyi +15 -1
  128. streamlit/runtime/__init__.py +1 -1
  129. streamlit/runtime/app_session.py +53 -40
  130. streamlit/runtime/caching/__init__.py +9 -9
  131. streamlit/runtime/caching/cache_data_api.py +36 -30
  132. streamlit/runtime/caching/cache_errors.py +4 -4
  133. streamlit/runtime/caching/cache_resource_api.py +8 -8
  134. streamlit/runtime/caching/cache_utils.py +15 -14
  135. streamlit/runtime/caching/cached_message_replay.py +14 -8
  136. streamlit/runtime/caching/hashing.py +91 -97
  137. streamlit/runtime/caching/legacy_cache_api.py +2 -2
  138. streamlit/runtime/caching/storage/cache_storage_protocol.py +1 -1
  139. streamlit/runtime/caching/storage/dummy_cache_storage.py +1 -1
  140. streamlit/runtime/caching/storage/in_memory_cache_storage_wrapper.py +12 -14
  141. streamlit/runtime/caching/storage/local_disk_cache_storage.py +6 -6
  142. streamlit/runtime/connection_factory.py +36 -36
  143. streamlit/runtime/context.py +58 -9
  144. streamlit/runtime/credentials.py +29 -40
  145. streamlit/runtime/forward_msg_queue.py +11 -11
  146. streamlit/runtime/fragment.py +7 -7
  147. streamlit/runtime/media_file_manager.py +3 -4
  148. streamlit/runtime/memory_media_file_storage.py +6 -5
  149. streamlit/runtime/memory_uploaded_file_manager.py +2 -2
  150. streamlit/runtime/metrics_util.py +11 -12
  151. streamlit/runtime/pages_manager.py +4 -6
  152. streamlit/runtime/runtime.py +8 -6
  153. streamlit/runtime/runtime_util.py +7 -6
  154. streamlit/runtime/scriptrunner/__init__.py +4 -4
  155. streamlit/runtime/scriptrunner/exec_code.py +12 -5
  156. streamlit/runtime/scriptrunner/magic.py +16 -12
  157. streamlit/runtime/scriptrunner/script_cache.py +1 -1
  158. streamlit/runtime/scriptrunner/script_runner.py +53 -29
  159. streamlit/runtime/scriptrunner_utils/exceptions.py +1 -1
  160. streamlit/runtime/scriptrunner_utils/script_requests.py +7 -4
  161. streamlit/runtime/scriptrunner_utils/script_run_context.py +10 -23
  162. streamlit/runtime/secrets.py +40 -35
  163. streamlit/runtime/session_manager.py +2 -1
  164. streamlit/runtime/state/__init__.py +5 -5
  165. streamlit/runtime/state/common.py +2 -2
  166. streamlit/runtime/state/query_params.py +13 -15
  167. streamlit/runtime/state/query_params_proxy.py +17 -13
  168. streamlit/runtime/state/safe_session_state.py +2 -2
  169. streamlit/runtime/state/session_state.py +52 -34
  170. streamlit/runtime/stats.py +2 -2
  171. streamlit/runtime/uploaded_file_manager.py +1 -1
  172. streamlit/runtime/websocket_session_manager.py +10 -6
  173. streamlit/source_util.py +8 -6
  174. streamlit/static/index.html +3 -17
  175. streamlit/static/manifest.json +1180 -0
  176. streamlit/static/static/css/{index.DqDwtg6_.css → index.CJVRHjQZ.css} +1 -1
  177. streamlit/static/static/js/{ErrorOutline.esm.DU9IrB3M.js → ErrorOutline.esm.DitPpe1Y.js} +1 -1
  178. streamlit/static/static/js/{FileDownload.esm.P9rKwKo8.js → FileDownload.esm.AI3watX9.js} +1 -1
  179. streamlit/static/static/js/{FileHelper.D7RMkx0e.js → FileHelper.kt7mhnu8.js} +5 -5
  180. streamlit/static/static/js/{FormClearHelper.B67tgll0.js → FormClearHelper.D1M9GM_c.js} +1 -1
  181. streamlit/static/static/js/{Hooks.ncTJktu9.js → Hooks.BGwHKeUc.js} +1 -1
  182. streamlit/static/static/js/{InputInstructions.D-Y8geDN.js → InputInstructions.DaZ89mzH.js} +1 -1
  183. streamlit/static/static/js/{ProgressBar.B-kexwwD.js → ProgressBar.C0zPMe-p.js} +2 -2
  184. streamlit/static/static/js/{RenderInPortalIfExists.BgaoZgep.js → RenderInPortalIfExists.Ox8gQvdz.js} +1 -1
  185. streamlit/static/static/js/Toolbar.KhlcEc0K.js +1 -0
  186. streamlit/static/static/js/UploadFileInfo.0DCkpDDf.js +6 -0
  187. streamlit/static/static/js/{base-input.BoAa1U94.js → base-input.BJ4qsfSq.js} +4 -4
  188. streamlit/static/static/js/{checkbox.Z6iSfe5F.js → checkbox.DSDh78Xz.js} +2 -2
  189. streamlit/static/static/js/{createSuper.B4oGDYRm.js → createSuper.wQ9SIXEJ.js} +1 -1
  190. streamlit/static/static/js/{data-grid-overlay-editor.msYws2Ou.js → data-grid-overlay-editor.DvbdPJ15.js} +1 -1
  191. streamlit/static/static/js/{downloader.kc14n2Hv.js → downloader.CD9rzih5.js} +1 -1
  192. streamlit/static/static/js/{es6.CxQz807-.js → es6.48Q9Qjgb.js} +2 -2
  193. streamlit/static/static/js/{iframeResizer.contentWindow.B19u0ONI.js → iframeResizer.contentWindow.CKdem3Bn.js} +1 -1
  194. streamlit/static/static/js/{index.LaIasviC.js → index.6md5Qhod.js} +1 -1
  195. streamlit/static/static/js/index.7hy6AeJ1.js +1 -0
  196. streamlit/static/static/js/index.B4CGJiBW.js +1 -0
  197. streamlit/static/static/js/index.B8oW0ZTD.js +1 -0
  198. streamlit/static/static/js/index.BU6RnlHI.js +73 -0
  199. streamlit/static/static/js/index.BUq9Wcf8.js +197 -0
  200. streamlit/static/static/js/{index.BFz9U2y0.js → index.BXXo-Yoj.js} +1 -1
  201. streamlit/static/static/js/index.Bae9H0OS.js +1 -0
  202. streamlit/static/static/js/{index.-5ruC9At.js → index.BhTl2Uyb.js} +1 -1
  203. streamlit/static/static/js/{index.BpILzHf_.js → index.BiSaCB1o.js} +20 -20
  204. streamlit/static/static/js/{index.xNQq3Ei5.js → index.BulSAJ9z.js} +1 -1
  205. streamlit/static/static/js/{index.9V1KdxfP.js → index.Bv-EuTKR.js} +1 -1
  206. streamlit/static/static/js/index.BvMLYCHi.js +1 -0
  207. streamlit/static/static/js/index.C1NIn1Y2.js +783 -0
  208. streamlit/static/static/js/index.CP-fthOJ.js +2 -0
  209. streamlit/static/static/js/{index.BoigZiu7.js → index.CS9guO3p.js} +1 -1
  210. streamlit/static/static/js/index.CYTBHth8.js +1 -0
  211. streamlit/static/static/js/{index.CmTAF0dM.js → index.CcJufcuD.js} +1 -1
  212. streamlit/static/static/js/index.CnENU1yn.js +1 -0
  213. streamlit/static/static/js/index.Cns13qBb.js +1 -0
  214. streamlit/static/static/js/index.Ct_xXq7w.js +1 -0
  215. streamlit/static/static/js/{index.BqfdT8-Q.js → index.CxGSemHL.js} +1 -1
  216. streamlit/static/static/js/index.D5S0ldVb.js +1 -0
  217. streamlit/static/static/js/index.D72B_ksb.js +2 -0
  218. streamlit/static/static/js/index.DI4yZ27M.js +1 -0
  219. streamlit/static/static/js/index.DN51vLxR.js +1 -0
  220. streamlit/static/static/js/index.DRtq5dka.js +1 -0
  221. streamlit/static/static/js/{index.BHXxWdde.js → index.DX-oiXlb.js} +1 -1
  222. streamlit/static/static/js/index.DlFE4_Aq.js +12 -0
  223. streamlit/static/static/js/{index.BHGGDa8K.js → index.J7BJwXOi.js} +2 -2
  224. streamlit/static/static/js/index.Jg38kJPP.js +1 -0
  225. streamlit/static/static/js/index.JhIO6abf.js +3 -0
  226. streamlit/static/static/js/{index.DeB9iKFW.js → index.NkRcWwc5.js} +255 -255
  227. streamlit/static/static/js/{index.BGga-hcS.js → index.prekPLrm.js} +25 -25
  228. streamlit/static/static/js/{index.BRXmLIsC.js → index.wyzngKUE.js} +1 -1
  229. streamlit/static/static/js/index.xW7mVdI8.js +1 -0
  230. streamlit/static/static/js/index.yk07dYGx.js +1 -0
  231. streamlit/static/static/js/{input.DsCfafm0.js → input.CxKZ5Wrc.js} +2 -2
  232. streamlit/static/static/js/{memory.nY_lMTtu.js → memory.DeZ9VUvl.js} +1 -1
  233. streamlit/static/static/js/{mergeWith.B_7zmsM4.js → mergeWith.CVkhrWUb.js} +1 -1
  234. streamlit/static/static/js/{number-overlay-editor.CSeVhHRU.js → number-overlay-editor.Bpkm3nTq.js} +1 -1
  235. streamlit/static/static/js/{possibleConstructorReturn.nNhsvgRd.js → possibleConstructorReturn.CIDCId52.js} +1 -1
  236. streamlit/static/static/js/{sandbox.Cgm3iuL6.js → sandbox.TrkMaokR.js} +1 -1
  237. streamlit/static/static/js/{textarea.BR8rlyih.js → textarea.QKjxR64N.js} +2 -2
  238. streamlit/static/static/js/{timepicker.w4XhAenH.js → timepicker.DJYmE1dK.js} +1 -1
  239. streamlit/static/static/js/{toConsumableArray.CgkEPBwD.js → toConsumableArray.BZoworE-.js} +1 -1
  240. streamlit/static/static/js/{uniqueId.j-1rlNNH.js → uniqueId.O0UbJ2Bu.js} +1 -1
  241. streamlit/static/static/js/{useBasicWidgetState.zXY9CjFS.js → useBasicWidgetState.Ci89jaH5.js} +1 -1
  242. streamlit/static/static/js/useOnInputChange.Cxh6ExEn.js +1 -0
  243. streamlit/static/static/js/{withFullScreenWrapper.Ov13692o.js → withFullScreenWrapper.iW37lS8Z.js} +1 -1
  244. streamlit/static/static/media/SourceCodeVF-Italic.ttf.Ba1oaZG1.woff2 +0 -0
  245. streamlit/static/static/media/SourceCodeVF-Upright.ttf.BjWn63N-.woff2 +0 -0
  246. streamlit/static/static/media/SourceSansVF-Italic.ttf.Bt9VkdQ3.woff2 +0 -0
  247. streamlit/static/static/media/SourceSansVF-Upright.ttf.BsWL4Kly.woff2 +0 -0
  248. streamlit/static/static/media/SourceSerifVariable-Italic.ttf.CVdzAtxO.woff2 +0 -0
  249. streamlit/static/static/media/SourceSerifVariable-Roman.ttf.mdpVL9bi.woff2 +0 -0
  250. streamlit/string_util.py +14 -19
  251. streamlit/temporary_directory.py +13 -4
  252. streamlit/testing/v1/app_test.py +15 -10
  253. streamlit/testing/v1/element_tree.py +157 -178
  254. streamlit/testing/v1/local_script_runner.py +11 -15
  255. streamlit/testing/v1/util.py +11 -4
  256. streamlit/type_util.py +8 -12
  257. streamlit/url_util.py +1 -1
  258. streamlit/user_info.py +6 -5
  259. streamlit/util.py +25 -1
  260. streamlit/vendor/pympler/asizeof.py +3 -2
  261. streamlit/watcher/event_based_path_watcher.py +21 -2
  262. streamlit/watcher/folder_black_list.py +2 -2
  263. streamlit/watcher/local_sources_watcher.py +64 -18
  264. streamlit/watcher/path_watcher.py +6 -10
  265. streamlit/watcher/polling_path_watcher.py +8 -7
  266. streamlit/watcher/util.py +7 -6
  267. streamlit/web/bootstrap.py +16 -14
  268. streamlit/web/cli.py +52 -45
  269. streamlit/web/server/__init__.py +7 -3
  270. streamlit/web/server/app_static_file_handler.py +1 -1
  271. streamlit/web/server/authlib_tornado_integration.py +9 -4
  272. streamlit/web/server/browser_websocket_handler.py +8 -2
  273. streamlit/web/server/component_request_handler.py +14 -10
  274. streamlit/web/server/media_file_handler.py +14 -7
  275. streamlit/web/server/oauth_authlib_routes.py +41 -9
  276. streamlit/web/server/oidc_mixin.py +35 -17
  277. streamlit/web/server/routes.py +32 -22
  278. streamlit/web/server/server.py +13 -24
  279. streamlit/web/server/server_util.py +43 -9
  280. streamlit/web/server/stats_request_handler.py +7 -5
  281. streamlit/web/server/upload_file_request_handler.py +22 -19
  282. streamlit/web/server/websocket_headers.py +1 -1
  283. {streamlit-1.45.1.dist-info → streamlit-1.46.1.dist-info}/METADATA +4 -4
  284. streamlit-1.46.1.dist-info/RECORD +559 -0
  285. {streamlit-1.45.1.dist-info → streamlit-1.46.1.dist-info}/WHEEL +1 -1
  286. streamlit/elements/lib/event_utils.py +0 -39
  287. streamlit/static/static/js/Toolbar.D9RUZv9G.js +0 -1
  288. streamlit/static/static/js/UploadFileInfo.C-jY39rj.js +0 -1
  289. streamlit/static/static/js/index.8jhZBWF2.js +0 -3
  290. streamlit/static/static/js/index.BCx3C6e_.js +0 -1
  291. streamlit/static/static/js/index.BRuTz_S4.js +0 -1
  292. streamlit/static/static/js/index.Bcru_ti-.js +0 -1
  293. streamlit/static/static/js/index.Bl1FMJRd.js +0 -1
  294. streamlit/static/static/js/index.C1z8KpLA.js +0 -779
  295. streamlit/static/static/js/index.C32I2PUe.js +0 -2
  296. streamlit/static/static/js/index.C5GnDRB7.js +0 -1
  297. streamlit/static/static/js/index.CG4qPaaW.js +0 -2
  298. streamlit/static/static/js/index.C_msmT1u.js +0 -1
  299. streamlit/static/static/js/index.CbeNTdd6.js +0 -1
  300. streamlit/static/static/js/index.CnGQVJcw.js +0 -12
  301. streamlit/static/static/js/index.CopVVq4l.js +0 -1
  302. streamlit/static/static/js/index.CtXupx4d.js +0 -197
  303. streamlit/static/static/js/index.DGmCchO7.js +0 -1
  304. streamlit/static/static/js/index.DH6zBk0e.js +0 -1
  305. streamlit/static/static/js/index.DHVlVWsm.js +0 -1
  306. streamlit/static/static/js/index.DRKIVBoi.js +0 -1
  307. streamlit/static/static/js/index.DUd-lFXx.js +0 -73
  308. streamlit/static/static/js/index.D_uRBA4B.js +0 -1
  309. streamlit/static/static/js/index.QHNfgPJd.js +0 -1
  310. streamlit/static/static/js/index.a-RJocYL.js +0 -1
  311. streamlit/static/static/js/index.cvz4B1gy.js +0 -1
  312. streamlit/static/static/js/index.t--hEgTQ.js +0 -6
  313. streamlit/static/static/js/useOnInputChange.z04u96A8.js +0 -1
  314. streamlit/static/static/media/SourceCodePro-Bold.CFEfr7-q.woff2 +0 -0
  315. streamlit/static/static/media/SourceCodePro-BoldItalic.C-LkFXxa.woff2 +0 -0
  316. streamlit/static/static/media/SourceCodePro-Italic.CxFOx7N-.woff2 +0 -0
  317. streamlit/static/static/media/SourceCodePro-Regular.CBOlD63d.woff2 +0 -0
  318. streamlit/static/static/media/SourceCodePro-SemiBold.CFHwW3Wd.woff2 +0 -0
  319. streamlit/static/static/media/SourceCodePro-SemiBoldItalic.Cg2yRu82.woff2 +0 -0
  320. streamlit/static/static/media/SourceSansPro-Bold.-6c9oR8J.woff2 +0 -0
  321. streamlit/static/static/media/SourceSansPro-BoldItalic.DmM_grLY.woff2 +0 -0
  322. streamlit/static/static/media/SourceSansPro-Italic.I1ipWe7Q.woff2 +0 -0
  323. streamlit/static/static/media/SourceSansPro-Regular.DZLUzqI4.woff2 +0 -0
  324. streamlit/static/static/media/SourceSansPro-SemiBold.sKQIyTMz.woff2 +0 -0
  325. streamlit/static/static/media/SourceSansPro-SemiBoldItalic.C0wP0icr.woff2 +0 -0
  326. streamlit/static/static/media/SourceSerifPro-Bold.8TUnKj4x.woff2 +0 -0
  327. streamlit/static/static/media/SourceSerifPro-BoldItalic.CBVO7Ve7.woff2 +0 -0
  328. streamlit/static/static/media/SourceSerifPro-Italic.DkFgL2HZ.woff2 +0 -0
  329. streamlit/static/static/media/SourceSerifPro-Regular.CNJNET2S.woff2 +0 -0
  330. streamlit/static/static/media/SourceSerifPro-SemiBold.CHyh9GC5.woff2 +0 -0
  331. streamlit/static/static/media/SourceSerifPro-SemiBoldItalic.CBtz8sWN.woff2 +0 -0
  332. streamlit-1.45.1.dist-info/RECORD +0 -568
  333. {streamlit-1.45.1.data → streamlit-1.46.1.data}/scripts/streamlit.cmd +0 -0
  334. {streamlit-1.45.1.dist-info → streamlit-1.46.1.dist-info}/entry_points.txt +0 -0
  335. {streamlit-1.45.1.dist-info → streamlit-1.46.1.dist-info}/top_level.txt +0 -0
@@ -21,17 +21,17 @@ import streamlit as st
21
21
  from streamlit.hello.utils import show_code
22
22
 
23
23
 
24
- def mapping_demo():
24
+ def mapping_demo() -> None:
25
25
  @st.cache_data
26
- def from_data_file(filename):
26
+ def from_data_file(filename: str) -> pd.DataFrame:
27
27
  url = (
28
28
  "https://raw.githubusercontent.com/streamlit/"
29
- "example-data/master/hello/v1/%s" % filename
29
+ f"example-data/master/hello/v1/{filename}"
30
30
  )
31
31
  return pd.read_json(url)
32
32
 
33
33
  try:
34
- ALL_LAYERS = {
34
+ all_layers = {
35
35
  "Bike rentals": pdk.Layer(
36
36
  "HexagonLayer",
37
37
  data=from_data_file("bike_rental_stats.json"),
@@ -75,7 +75,7 @@ def mapping_demo():
75
75
  st.sidebar.subheader("Map layers")
76
76
  selected_layers = [
77
77
  layer
78
- for layer_name, layer in ALL_LAYERS.items()
78
+ for layer_name, layer in all_layers.items()
79
79
  if st.sidebar.checkbox(layer_name, True)
80
80
  ]
81
81
  if selected_layers:
@@ -95,11 +95,10 @@ def mapping_demo():
95
95
  st.error("Please choose at least one layer above.")
96
96
  except URLError as e:
97
97
  st.error(
98
- """
98
+ f"""
99
99
  **This demo requires internet access.**
100
- Connection error: %s
100
+ Connection error: {e.reason}
101
101
  """
102
- % e.reason
103
102
  )
104
103
 
105
104
 
@@ -20,14 +20,14 @@ import streamlit as st
20
20
  from streamlit.hello.utils import show_code
21
21
 
22
22
 
23
- def plotting_demo():
23
+ def plotting_demo() -> None:
24
24
  progress_bar = st.sidebar.progress(0)
25
25
  status_text = st.sidebar.empty()
26
- last_rows = np.random.randn(1, 1)
26
+ last_rows = np.random.randn(1, 1) # noqa: NPY002
27
27
  chart = st.line_chart(last_rows)
28
28
 
29
29
  for i in range(1, 101):
30
- new_rows = last_rows[-1, :] + np.random.randn(5, 1).cumsum(axis=0)
30
+ new_rows = last_rows[-1, :] + np.random.randn(5, 1).cumsum(axis=0) # noqa: NPY002
31
31
  status_text.text(f"{i}% complete")
32
32
  chart.add_rows(new_rows)
33
33
  progress_bar.progress(i)
@@ -20,33 +20,35 @@ dir_path = Path(__file__).parent
20
20
 
21
21
 
22
22
  # Note that this needs to be in a method so we can have an e2e playwright test.
23
- def run():
23
+ def run() -> None:
24
24
  page = st.navigation(
25
- [
26
- st.Page(
27
- dir_path / "hello.py", title="Hello", icon=":material/waving_hand:"
28
- ),
29
- st.Page(
30
- dir_path / "dataframe_demo.py",
31
- title="DataFrame demo",
32
- icon=":material/table:",
33
- ),
34
- st.Page(
35
- dir_path / "plotting_demo.py",
36
- title="Plotting demo",
37
- icon=":material/show_chart:",
38
- ),
39
- st.Page(
40
- dir_path / "mapping_demo.py",
41
- title="Mapping demo",
42
- icon=":material/public:",
43
- ),
44
- st.Page(
45
- dir_path / "animation_demo.py",
46
- title="Animation demo",
47
- icon=":material/animation:",
48
- ),
49
- ]
25
+ {
26
+ "Pages": [
27
+ st.Page(
28
+ dir_path / "hello.py", title="Hello", icon=":material/waving_hand:"
29
+ ),
30
+ st.Page(
31
+ dir_path / "dataframe_demo.py",
32
+ title="DataFrame demo",
33
+ icon=":material/table:",
34
+ ),
35
+ st.Page(
36
+ dir_path / "plotting_demo.py",
37
+ title="Plotting demo",
38
+ icon=":material/show_chart:",
39
+ ),
40
+ st.Page(
41
+ dir_path / "mapping_demo.py",
42
+ title="Mapping demo",
43
+ icon=":material/public:",
44
+ ),
45
+ st.Page(
46
+ dir_path / "animation_demo.py",
47
+ title="Animation demo",
48
+ icon=":material/animation:",
49
+ ),
50
+ ]
51
+ }
50
52
  )
51
53
  page.run()
52
54
 
streamlit/hello/utils.py CHANGED
@@ -14,11 +14,12 @@
14
14
 
15
15
  import inspect
16
16
  import textwrap
17
+ from typing import Any, Callable
17
18
 
18
19
  import streamlit as st
19
20
 
20
21
 
21
- def show_code(demo):
22
+ def show_code(demo: Callable[..., Any]) -> None:
22
23
  """Showing the code of the demo."""
23
24
  show_code = st.sidebar.checkbox("Show code", True)
24
25
  if show_code:
streamlit/logger.py CHANGED
@@ -35,18 +35,18 @@ def set_log_level(level: str | int) -> None:
35
35
 
36
36
  if isinstance(level, str):
37
37
  level = level.upper()
38
- if level == "CRITICAL" or level == logging.CRITICAL:
38
+ if level in {"CRITICAL", logging.CRITICAL}:
39
39
  log_level = logging.CRITICAL
40
- elif level == "ERROR" or level == logging.ERROR:
40
+ elif level in {"ERROR", logging.ERROR}:
41
41
  log_level = logging.ERROR
42
- elif level == "WARNING" or level == logging.WARNING:
42
+ elif level in {"WARNING", logging.WARNING}:
43
43
  log_level = logging.WARNING
44
- elif level == "INFO" or level == logging.INFO:
44
+ elif level in {"INFO", logging.INFO}:
45
45
  log_level = logging.INFO
46
- elif level == "DEBUG" or level == logging.DEBUG:
46
+ elif level in {"DEBUG", logging.DEBUG}:
47
47
  log_level = logging.DEBUG
48
48
  else:
49
- msg = 'undefined log level "%s"' % level
49
+ msg = f'undefined log level "{level}"'
50
50
  logger.critical(msg)
51
51
  sys.exit(1)
52
52
 
@@ -113,13 +113,12 @@ def get_logger(name: str) -> logging.Logger:
113
113
  Logger
114
114
 
115
115
  """
116
- if name in _loggers.keys():
116
+ if name in _loggers:
117
117
  return _loggers[name]
118
118
 
119
- if name == "root":
120
- logger = logging.getLogger("streamlit")
121
- else:
122
- logger = logging.getLogger(name)
119
+ logger = (
120
+ logging.getLogger("streamlit") if name == "root" else logging.getLogger(name)
121
+ )
123
122
 
124
123
  logger.setLevel(_global_log_level)
125
124
  logger.propagate = False
@@ -27,7 +27,7 @@ from streamlit.util import calc_md5
27
27
 
28
28
 
29
29
  @gather_metrics("Page")
30
- def Page(
30
+ def Page( # noqa: N802
31
31
  page: str | Path | Callable[[], None],
32
32
  *,
33
33
  title: str | None = None,
@@ -167,7 +167,7 @@ class StreamlitPage:
167
167
  icon: str | None = None,
168
168
  url_path: str | None = None,
169
169
  default: bool = False,
170
- ):
170
+ ) -> None:
171
171
  # Must appear before the return so all pages, even if running in bare Python,
172
172
  # have a _default property. This way we can always tell which script needs to run.
173
173
  self._default: bool = default
@@ -205,6 +205,10 @@ class StreamlitPage:
205
205
 
206
206
  self._page: Path | Callable[[], None] = page
207
207
  self._title: str = title or inferred_name.replace("_", " ")
208
+
209
+ if icon is not None:
210
+ # validate user provided icon.
211
+ validate_icon_or_emoji(icon)
208
212
  self._icon: str = icon or inferred_icon
209
213
 
210
214
  if self._title.strip() == "":
@@ -289,12 +293,11 @@ class StreamlitPage:
289
293
  if callable(self._page):
290
294
  self._page()
291
295
  return
292
- else:
293
- code = ctx.pages_manager.get_page_script_byte_code(str(self._page))
294
- module = types.ModuleType("__main__")
295
- # We want __file__ to be the string path to the script
296
- module.__dict__["__file__"] = str(self._page)
297
- exec(code, module.__dict__)
296
+ code = ctx.pages_manager.get_page_script_byte_code(str(self._page))
297
+ module = types.ModuleType("__main__")
298
+ # We want __file__ to be the string path to the script
299
+ module.__dict__["__file__"] = str(self._page)
300
+ exec(code, module.__dict__) # noqa: S102
298
301
 
299
302
  @property
300
303
  def _script_hash(self) -> str:
@@ -12,9 +12,10 @@ from google.protobuf.internal import builder as _builder
12
12
  _sym_db = _symbol_database.Default()
13
13
 
14
14
 
15
+ from streamlit.proto import WidthConfig_pb2 as streamlit_dot_proto_dot_WidthConfig__pb2
15
16
 
16
17
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Audio.proto\"\x86\x01\n\x05\x41udio\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x05\x12\x10\n\x08\x65nd_time\x18\x06 \x01(\x05\x12\x0c\n\x04loop\x18\x07 \x01(\x08\x12\x10\n\x08\x61utoplay\x18\x08 \x01(\x08\x12\n\n\x02id\x18\t \x01(\tJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05R\x04\x64\x61taR\x06\x66ormatB*\n\x1c\x63om.snowflake.apps.streamlitB\nAudioProtob\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Audio.proto\x1a!streamlit/proto/WidthConfig.proto\"\xca\x01\n\x05\x41udio\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x05\x12\x10\n\x08\x65nd_time\x18\x06 \x01(\x05\x12\x0c\n\x04loop\x18\x07 \x01(\x08\x12\x10\n\x08\x61utoplay\x18\x08 \x01(\x08\x12\n\n\x02id\x18\t \x01(\t\x12\x31\n\x0cwidth_config\x18\n \x01(\x0b\x32\x16.streamlit.WidthConfigH\x00\x88\x01\x01\x42\x0f\n\r_width_configJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05R\x04\x64\x61taR\x06\x66ormatB*\n\x1c\x63om.snowflake.apps.streamlitB\nAudioProtob\x06proto3')
18
19
 
19
20
  _globals = globals()
20
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -22,6 +23,6 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Audio_pb2',
22
23
  if not _descriptor._USE_C_DESCRIPTORS:
23
24
  _globals['DESCRIPTOR']._loaded_options = None
24
25
  _globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\nAudioProto'
25
- _globals['_AUDIO']._serialized_start=32
26
- _globals['_AUDIO']._serialized_end=166
26
+ _globals['_AUDIO']._serialized_start=67
27
+ _globals['_AUDIO']._serialized_end=269
27
28
  # @@protoc_insertion_point(module_scope)
@@ -20,6 +20,7 @@ limitations under the License.
20
20
  import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.message
23
+ import streamlit.proto.WidthConfig_pb2
23
24
  import typing
24
25
 
25
26
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
@@ -34,6 +35,7 @@ class Audio(google.protobuf.message.Message):
34
35
  LOOP_FIELD_NUMBER: builtins.int
35
36
  AUTOPLAY_FIELD_NUMBER: builtins.int
36
37
  ID_FIELD_NUMBER: builtins.int
38
+ WIDTH_CONFIG_FIELD_NUMBER: builtins.int
37
39
  url: builtins.str
38
40
  start_time: builtins.int
39
41
  """The currentTime attribute of the HTML <audio> tag's <source> subtag."""
@@ -43,6 +45,8 @@ class Audio(google.protobuf.message.Message):
43
45
  """Indicates whether the audio should start over from the beginning once it ends."""
44
46
  autoplay: builtins.bool
45
47
  id: builtins.str
48
+ @property
49
+ def width_config(self) -> streamlit.proto.WidthConfig_pb2.WidthConfig: ...
46
50
  def __init__(
47
51
  self,
48
52
  *,
@@ -52,7 +56,10 @@ class Audio(google.protobuf.message.Message):
52
56
  loop: builtins.bool = ...,
53
57
  autoplay: builtins.bool = ...,
54
58
  id: builtins.str = ...,
59
+ width_config: streamlit.proto.WidthConfig_pb2.WidthConfig | None = ...,
55
60
  ) -> None: ...
56
- def ClearField(self, field_name: typing.Literal["autoplay", b"autoplay", "end_time", b"end_time", "id", b"id", "loop", b"loop", "start_time", b"start_time", "url", b"url"]) -> None: ...
61
+ def HasField(self, field_name: typing.Literal["_width_config", b"_width_config", "width_config", b"width_config"]) -> builtins.bool: ...
62
+ 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
+ def WhichOneof(self, oneof_group: typing.Literal["_width_config", b"_width_config"]) -> typing.Literal["width_config"] | None: ...
57
64
 
58
65
  global___Audio = Audio
@@ -12,9 +12,12 @@ from google.protobuf.internal import builder as _builder
12
12
  _sym_db = _symbol_database.Default()
13
13
 
14
14
 
15
+ from streamlit.proto import WidthConfig_pb2 as streamlit_dot_proto_dot_WidthConfig__pb2
16
+ from streamlit.proto import HeightConfig_pb2 as streamlit_dot_proto_dot_HeightConfig__pb2
17
+ from streamlit.proto import GapSize_pb2 as streamlit_dot_proto_dot_GapSize__pb2
15
18
 
16
19
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Block.proto\"\x86\n\n\x05\x42lock\x12#\n\x08vertical\x18\x01 \x01(\x0b\x32\x0f.Block.VerticalH\x00\x12\'\n\nhorizontal\x18\x02 \x01(\x0b\x32\x11.Block.HorizontalH\x00\x12\x1f\n\x06\x63olumn\x18\x03 \x01(\x0b\x32\r.Block.ColumnH\x00\x12\'\n\nexpandable\x18\x04 \x01(\x0b\x32\x11.Block.ExpandableH\x00\x12\x1b\n\x04\x66orm\x18\x05 \x01(\x0b\x32\x0b.Block.FormH\x00\x12,\n\rtab_container\x18\x06 \x01(\x0b\x32\x13.Block.TabContainerH\x00\x12\x19\n\x03tab\x18\x07 \x01(\x0b\x32\n.Block.TabH\x00\x12*\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x12.Block.ChatMessageH\x00\x12!\n\x07popover\x18\n \x01(\x0b\x32\x0e.Block.PopoverH\x00\x12\x1f\n\x06\x64ialog\x18\x0b \x01(\x0b\x32\r.Block.DialogH\x00\x12\x13\n\x0b\x61llow_empty\x18\x08 \x01(\x08\x12\x0f\n\x02id\x18\x0c \x01(\tH\x01\x88\x01\x01\x1a*\n\x08Vertical\x12\x0e\n\x06\x62order\x18\x01 \x01(\x08\x12\x0e\n\x06height\x18\x02 \x01(\r\x1a\x19\n\nHorizontal\x12\x0b\n\x03gap\x18\x01 \x01(\t\x1a\xad\x01\n\x06\x43olumn\x12\x0e\n\x06weight\x18\x01 \x01(\x01\x12\x0b\n\x03gap\x18\x02 \x01(\t\x12;\n\x12vertical_alignment\x18\x03 \x01(\x0e\x32\x1f.Block.Column.VerticalAlignment\x12\x13\n\x0bshow_border\x18\x04 \x01(\x08\"4\n\x11VerticalAlignment\x12\x07\n\x03TOP\x10\x00\x12\n\n\x06\x43\x45NTER\x10\x01\x12\n\n\x06\x42OTTOM\x10\x02\x1aM\n\nExpandable\x12\r\n\x05label\x18\x01 \x01(\t\x12\x15\n\x08\x65xpanded\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x0c\n\x04icon\x18\x03 \x01(\tB\x0b\n\t_expanded\x1a\x9d\x01\n\x06\x44ialog\x12\r\n\x05title\x18\x01 \x01(\t\x12\x13\n\x0b\x64ismissible\x18\x02 \x01(\x08\x12(\n\x05width\x18\x03 \x01(\x0e\x32\x19.Block.Dialog.DialogWidth\x12\x14\n\x07is_open\x18\x04 \x01(\x08H\x00\x88\x01\x01\"#\n\x0b\x44ialogWidth\x12\t\n\x05SMALL\x10\x00\x12\t\n\x05LARGE\x10\x01\x42\n\n\x08_is_open\x1aY\n\x04\x46orm\x12\x0f\n\x07\x66orm_id\x18\x01 \x01(\t\x12\x17\n\x0f\x63lear_on_submit\x18\x02 \x01(\x08\x12\x0e\n\x06\x62order\x18\x03 \x01(\x08\x12\x17\n\x0f\x65nter_to_submit\x18\x04 \x01(\x08\x1a\x0e\n\x0cTabContainer\x1a\x14\n\x03Tab\x12\r\n\x05label\x18\x01 \x01(\t\x1a\x63\n\x07Popover\x12\r\n\x05label\x18\x01 \x01(\t\x12\x1b\n\x13use_container_width\x18\x02 \x01(\x08\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x10\n\x08\x64isabled\x18\x04 \x01(\x08\x12\x0c\n\x04icon\x18\x05 \x01(\t\x1a\x8d\x01\n\x0b\x43hatMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x61vatar\x18\x02 \x01(\t\x12\x32\n\x0b\x61vatar_type\x18\x03 \x01(\x0e\x32\x1d.Block.ChatMessage.AvatarType\",\n\nAvatarType\x12\t\n\x05IMAGE\x10\x00\x12\t\n\x05\x45MOJI\x10\x01\x12\x08\n\x04ICON\x10\x02\x42\x06\n\x04typeB\x05\n\x03_idB*\n\x1c\x63om.snowflake.apps.streamlitB\nBlockProtob\x06proto3')
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Block.proto\x1a!streamlit/proto/WidthConfig.proto\x1a\"streamlit/proto/HeightConfig.proto\x1a\x1dstreamlit/proto/GapSize.proto\"\xe3\r\n\x05\x42lock\x12#\n\x08vertical\x18\x01 \x01(\x0b\x32\x0f.Block.VerticalH\x00\x12\'\n\nhorizontal\x18\x02 \x01(\x0b\x32\x11.Block.HorizontalH\x00\x12\x1f\n\x06\x63olumn\x18\x03 \x01(\x0b\x32\r.Block.ColumnH\x00\x12\'\n\nexpandable\x18\x04 \x01(\x0b\x32\x11.Block.ExpandableH\x00\x12\x1b\n\x04\x66orm\x18\x05 \x01(\x0b\x32\x0b.Block.FormH\x00\x12,\n\rtab_container\x18\x06 \x01(\x0b\x32\x13.Block.TabContainerH\x00\x12\x19\n\x03tab\x18\x07 \x01(\x0b\x32\n.Block.TabH\x00\x12*\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x12.Block.ChatMessageH\x00\x12!\n\x07popover\x18\n \x01(\x0b\x32\x0e.Block.PopoverH\x00\x12\x1f\n\x06\x64ialog\x18\x0b \x01(\x0b\x32\r.Block.DialogH\x00\x12.\n\x0e\x66lex_container\x18\r \x01(\x0b\x32\x14.Block.FlexContainerH\x00\x12\x13\n\x0b\x61llow_empty\x18\x08 \x01(\x08\x12\x0f\n\x02id\x18\x0c \x01(\tH\x01\x88\x01\x01\x12\x33\n\rheight_config\x18\x0e \x01(\x0b\x32\x17.streamlit.HeightConfigH\x02\x88\x01\x01\x12\x31\n\x0cwidth_config\x18\x0f \x01(\x0b\x32\x16.streamlit.WidthConfigH\x03\x88\x01\x01\x1a*\n\x08Vertical\x12\x0e\n\x06\x62order\x18\x01 \x01(\x08\x12\x0e\n\x06height\x18\x02 \x01(\r\x1a\x19\n\nHorizontal\x12\x0b\n\x03gap\x18\x01 \x01(\t\x1a\xdd\x01\n\rFlexContainer\x12\x0e\n\x06\x62order\x18\x01 \x01(\x08\x12(\n\ngap_config\x18\x02 \x01(\x0b\x32\x14.streamlit.GapConfig\x12\r\n\x05scale\x18\x03 \x01(\x02\x12\x31\n\tdirection\x18\x04 \x01(\x0e\x32\x1e.Block.FlexContainer.Direction\x12\x0c\n\x04wrap\x18\x05 \x01(\x08\"B\n\tDirection\x12\x17\n\x13\x44IRECTION_UNDEFINED\x10\x00\x12\x0c\n\x08VERTICAL\x10\x01\x12\x0e\n\nHORIZONTAL\x10\x02\x1a\xef\x01\n\x06\x43olumn\x12\x0e\n\x06weight\x18\x01 \x01(\x01\x12\x0f\n\x03gap\x18\x02 \x01(\tB\x02\x18\x01\x12;\n\x12vertical_alignment\x18\x03 \x01(\x0e\x32\x1f.Block.Column.VerticalAlignment\x12\x13\n\x0bshow_border\x18\x04 \x01(\x08\x12-\n\ngap_config\x18\x05 \x01(\x0b\x32\x14.streamlit.GapConfigH\x00\x88\x01\x01\"4\n\x11VerticalAlignment\x12\x07\n\x03TOP\x10\x00\x12\n\n\x06\x43\x45NTER\x10\x01\x12\n\n\x06\x42OTTOM\x10\x02\x42\r\n\x0b_gap_config\x1aM\n\nExpandable\x12\r\n\x05label\x18\x01 \x01(\t\x12\x15\n\x08\x65xpanded\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x0c\n\x04icon\x18\x03 \x01(\tB\x0b\n\t_expanded\x1a\x9d\x01\n\x06\x44ialog\x12\r\n\x05title\x18\x01 \x01(\t\x12\x13\n\x0b\x64ismissible\x18\x02 \x01(\x08\x12(\n\x05width\x18\x03 \x01(\x0e\x32\x19.Block.Dialog.DialogWidth\x12\x14\n\x07is_open\x18\x04 \x01(\x08H\x00\x88\x01\x01\"#\n\x0b\x44ialogWidth\x12\t\n\x05SMALL\x10\x00\x12\t\n\x05LARGE\x10\x01\x42\n\n\x08_is_open\x1aY\n\x04\x46orm\x12\x0f\n\x07\x66orm_id\x18\x01 \x01(\t\x12\x17\n\x0f\x63lear_on_submit\x18\x02 \x01(\x08\x12\x0e\n\x06\x62order\x18\x03 \x01(\x08\x12\x17\n\x0f\x65nter_to_submit\x18\x04 \x01(\x08\x1a\x0e\n\x0cTabContainer\x1a\x14\n\x03Tab\x12\r\n\x05label\x18\x01 \x01(\t\x1a\x63\n\x07Popover\x12\r\n\x05label\x18\x01 \x01(\t\x12\x1b\n\x13use_container_width\x18\x02 \x01(\x08\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x10\n\x08\x64isabled\x18\x04 \x01(\x08\x12\x0c\n\x04icon\x18\x05 \x01(\t\x1a\x8d\x01\n\x0b\x43hatMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x61vatar\x18\x02 \x01(\t\x12\x32\n\x0b\x61vatar_type\x18\x03 \x01(\x0e\x32\x1d.Block.ChatMessage.AvatarType\",\n\nAvatarType\x12\t\n\x05IMAGE\x10\x00\x12\t\n\x05\x45MOJI\x10\x01\x12\x08\n\x04ICON\x10\x02\x42\x06\n\x04typeB\x05\n\x03_idB\x10\n\x0e_height_configB\x0f\n\r_width_configB*\n\x1c\x63om.snowflake.apps.streamlitB\nBlockProtob\x06proto3')
18
21
 
19
22
  _globals = globals()
20
23
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -22,32 +25,38 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Block_pb2',
22
25
  if not _descriptor._USE_C_DESCRIPTORS:
23
26
  _globals['DESCRIPTOR']._loaded_options = None
24
27
  _globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\nBlockProto'
25
- _globals['_BLOCK']._serialized_start=32
26
- _globals['_BLOCK']._serialized_end=1318
27
- _globals['_BLOCK_VERTICAL']._serialized_start=445
28
- _globals['_BLOCK_VERTICAL']._serialized_end=487
29
- _globals['_BLOCK_HORIZONTAL']._serialized_start=489
30
- _globals['_BLOCK_HORIZONTAL']._serialized_end=514
31
- _globals['_BLOCK_COLUMN']._serialized_start=517
32
- _globals['_BLOCK_COLUMN']._serialized_end=690
33
- _globals['_BLOCK_COLUMN_VERTICALALIGNMENT']._serialized_start=638
34
- _globals['_BLOCK_COLUMN_VERTICALALIGNMENT']._serialized_end=690
35
- _globals['_BLOCK_EXPANDABLE']._serialized_start=692
36
- _globals['_BLOCK_EXPANDABLE']._serialized_end=769
37
- _globals['_BLOCK_DIALOG']._serialized_start=772
38
- _globals['_BLOCK_DIALOG']._serialized_end=929
39
- _globals['_BLOCK_DIALOG_DIALOGWIDTH']._serialized_start=882
40
- _globals['_BLOCK_DIALOG_DIALOGWIDTH']._serialized_end=917
41
- _globals['_BLOCK_FORM']._serialized_start=931
42
- _globals['_BLOCK_FORM']._serialized_end=1020
43
- _globals['_BLOCK_TABCONTAINER']._serialized_start=1022
44
- _globals['_BLOCK_TABCONTAINER']._serialized_end=1036
45
- _globals['_BLOCK_TAB']._serialized_start=1038
46
- _globals['_BLOCK_TAB']._serialized_end=1058
47
- _globals['_BLOCK_POPOVER']._serialized_start=1060
48
- _globals['_BLOCK_POPOVER']._serialized_end=1159
49
- _globals['_BLOCK_CHATMESSAGE']._serialized_start=1162
50
- _globals['_BLOCK_CHATMESSAGE']._serialized_end=1303
51
- _globals['_BLOCK_CHATMESSAGE_AVATARTYPE']._serialized_start=1259
52
- _globals['_BLOCK_CHATMESSAGE_AVATARTYPE']._serialized_end=1303
28
+ _globals['_BLOCK_COLUMN'].fields_by_name['gap']._loaded_options = None
29
+ _globals['_BLOCK_COLUMN'].fields_by_name['gap']._serialized_options = b'\030\001'
30
+ _globals['_BLOCK']._serialized_start=134
31
+ _globals['_BLOCK']._serialized_end=1897
32
+ _globals['_BLOCK_VERTICAL']._serialized_start=699
33
+ _globals['_BLOCK_VERTICAL']._serialized_end=741
34
+ _globals['_BLOCK_HORIZONTAL']._serialized_start=743
35
+ _globals['_BLOCK_HORIZONTAL']._serialized_end=768
36
+ _globals['_BLOCK_FLEXCONTAINER']._serialized_start=771
37
+ _globals['_BLOCK_FLEXCONTAINER']._serialized_end=992
38
+ _globals['_BLOCK_FLEXCONTAINER_DIRECTION']._serialized_start=926
39
+ _globals['_BLOCK_FLEXCONTAINER_DIRECTION']._serialized_end=992
40
+ _globals['_BLOCK_COLUMN']._serialized_start=995
41
+ _globals['_BLOCK_COLUMN']._serialized_end=1234
42
+ _globals['_BLOCK_COLUMN_VERTICALALIGNMENT']._serialized_start=1167
43
+ _globals['_BLOCK_COLUMN_VERTICALALIGNMENT']._serialized_end=1219
44
+ _globals['_BLOCK_EXPANDABLE']._serialized_start=1236
45
+ _globals['_BLOCK_EXPANDABLE']._serialized_end=1313
46
+ _globals['_BLOCK_DIALOG']._serialized_start=1316
47
+ _globals['_BLOCK_DIALOG']._serialized_end=1473
48
+ _globals['_BLOCK_DIALOG_DIALOGWIDTH']._serialized_start=1426
49
+ _globals['_BLOCK_DIALOG_DIALOGWIDTH']._serialized_end=1461
50
+ _globals['_BLOCK_FORM']._serialized_start=1475
51
+ _globals['_BLOCK_FORM']._serialized_end=1564
52
+ _globals['_BLOCK_TABCONTAINER']._serialized_start=1566
53
+ _globals['_BLOCK_TABCONTAINER']._serialized_end=1580
54
+ _globals['_BLOCK_TAB']._serialized_start=1582
55
+ _globals['_BLOCK_TAB']._serialized_end=1602
56
+ _globals['_BLOCK_POPOVER']._serialized_start=1604
57
+ _globals['_BLOCK_POPOVER']._serialized_end=1703
58
+ _globals['_BLOCK_CHATMESSAGE']._serialized_start=1706
59
+ _globals['_BLOCK_CHATMESSAGE']._serialized_end=1847
60
+ _globals['_BLOCK_CHATMESSAGE_AVATARTYPE']._serialized_start=1803
61
+ _globals['_BLOCK_CHATMESSAGE_AVATARTYPE']._serialized_end=1847
53
62
  # @@protoc_insertion_point(module_scope)
@@ -21,6 +21,9 @@ import builtins
21
21
  import google.protobuf.descriptor
22
22
  import google.protobuf.internal.enum_type_wrapper
23
23
  import google.protobuf.message
24
+ import streamlit.proto.GapSize_pb2
25
+ import streamlit.proto.HeightConfig_pb2
26
+ import streamlit.proto.WidthConfig_pb2
24
27
  import sys
25
28
  import typing
26
29
 
@@ -65,6 +68,48 @@ class Block(google.protobuf.message.Message):
65
68
  ) -> None: ...
66
69
  def ClearField(self, field_name: typing.Literal["gap", b"gap"]) -> None: ...
67
70
 
71
+ @typing.final
72
+ class FlexContainer(google.protobuf.message.Message):
73
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
74
+
75
+ class _Direction:
76
+ ValueType = typing.NewType("ValueType", builtins.int)
77
+ V: typing_extensions.TypeAlias = ValueType
78
+
79
+ class _DirectionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Block.FlexContainer._Direction.ValueType], builtins.type):
80
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
81
+ DIRECTION_UNDEFINED: Block.FlexContainer._Direction.ValueType # 0
82
+ VERTICAL: Block.FlexContainer._Direction.ValueType # 1
83
+ HORIZONTAL: Block.FlexContainer._Direction.ValueType # 2
84
+
85
+ class Direction(_Direction, metaclass=_DirectionEnumTypeWrapper): ...
86
+ DIRECTION_UNDEFINED: Block.FlexContainer.Direction.ValueType # 0
87
+ VERTICAL: Block.FlexContainer.Direction.ValueType # 1
88
+ HORIZONTAL: Block.FlexContainer.Direction.ValueType # 2
89
+
90
+ BORDER_FIELD_NUMBER: builtins.int
91
+ GAP_CONFIG_FIELD_NUMBER: builtins.int
92
+ SCALE_FIELD_NUMBER: builtins.int
93
+ DIRECTION_FIELD_NUMBER: builtins.int
94
+ WRAP_FIELD_NUMBER: builtins.int
95
+ border: builtins.bool
96
+ scale: builtins.float
97
+ direction: global___Block.FlexContainer.Direction.ValueType
98
+ wrap: builtins.bool
99
+ @property
100
+ def gap_config(self) -> streamlit.proto.GapSize_pb2.GapConfig: ...
101
+ def __init__(
102
+ self,
103
+ *,
104
+ border: builtins.bool = ...,
105
+ gap_config: streamlit.proto.GapSize_pb2.GapConfig | None = ...,
106
+ scale: builtins.float = ...,
107
+ direction: global___Block.FlexContainer.Direction.ValueType = ...,
108
+ wrap: builtins.bool = ...,
109
+ ) -> None: ...
110
+ def HasField(self, field_name: typing.Literal["gap_config", b"gap_config"]) -> builtins.bool: ...
111
+ def ClearField(self, field_name: typing.Literal["border", b"border", "direction", b"direction", "gap_config", b"gap_config", "scale", b"scale", "wrap", b"wrap"]) -> None: ...
112
+
68
113
  @typing.final
69
114
  class Column(google.protobuf.message.Message):
70
115
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -88,10 +133,14 @@ class Block(google.protobuf.message.Message):
88
133
  GAP_FIELD_NUMBER: builtins.int
89
134
  VERTICAL_ALIGNMENT_FIELD_NUMBER: builtins.int
90
135
  SHOW_BORDER_FIELD_NUMBER: builtins.int
136
+ GAP_CONFIG_FIELD_NUMBER: builtins.int
91
137
  weight: builtins.float
92
138
  gap: builtins.str
139
+ """Deprecated. Use gap_size"""
93
140
  vertical_alignment: global___Block.Column.VerticalAlignment.ValueType
94
141
  show_border: builtins.bool
142
+ @property
143
+ def gap_config(self) -> streamlit.proto.GapSize_pb2.GapConfig: ...
95
144
  def __init__(
96
145
  self,
97
146
  *,
@@ -99,8 +148,11 @@ class Block(google.protobuf.message.Message):
99
148
  gap: builtins.str = ...,
100
149
  vertical_alignment: global___Block.Column.VerticalAlignment.ValueType = ...,
101
150
  show_border: builtins.bool = ...,
151
+ gap_config: streamlit.proto.GapSize_pb2.GapConfig | None = ...,
102
152
  ) -> None: ...
103
- def ClearField(self, field_name: typing.Literal["gap", b"gap", "show_border", b"show_border", "vertical_alignment", b"vertical_alignment", "weight", b"weight"]) -> None: ...
153
+ def HasField(self, field_name: typing.Literal["_gap_config", b"_gap_config", "gap_config", b"gap_config"]) -> builtins.bool: ...
154
+ def ClearField(self, field_name: typing.Literal["_gap_config", b"_gap_config", "gap", b"gap", "gap_config", b"gap_config", "show_border", b"show_border", "vertical_alignment", b"vertical_alignment", "weight", b"weight"]) -> None: ...
155
+ def WhichOneof(self, oneof_group: typing.Literal["_gap_config", b"_gap_config"]) -> typing.Literal["gap_config"] | None: ...
104
156
 
105
157
  @typing.final
106
158
  class Expandable(google.protobuf.message.Message):
@@ -272,8 +324,11 @@ class Block(google.protobuf.message.Message):
272
324
  CHAT_MESSAGE_FIELD_NUMBER: builtins.int
273
325
  POPOVER_FIELD_NUMBER: builtins.int
274
326
  DIALOG_FIELD_NUMBER: builtins.int
327
+ FLEX_CONTAINER_FIELD_NUMBER: builtins.int
275
328
  ALLOW_EMPTY_FIELD_NUMBER: builtins.int
276
329
  ID_FIELD_NUMBER: builtins.int
330
+ HEIGHT_CONFIG_FIELD_NUMBER: builtins.int
331
+ WIDTH_CONFIG_FIELD_NUMBER: builtins.int
277
332
  allow_empty: builtins.bool
278
333
  id: builtins.str
279
334
  @property
@@ -296,6 +351,12 @@ class Block(google.protobuf.message.Message):
296
351
  def popover(self) -> global___Block.Popover: ...
297
352
  @property
298
353
  def dialog(self) -> global___Block.Dialog: ...
354
+ @property
355
+ def flex_container(self) -> global___Block.FlexContainer: ...
356
+ @property
357
+ def height_config(self) -> streamlit.proto.HeightConfig_pb2.HeightConfig: ...
358
+ @property
359
+ def width_config(self) -> streamlit.proto.WidthConfig_pb2.WidthConfig: ...
299
360
  def __init__(
300
361
  self,
301
362
  *,
@@ -309,14 +370,21 @@ class Block(google.protobuf.message.Message):
309
370
  chat_message: global___Block.ChatMessage | None = ...,
310
371
  popover: global___Block.Popover | None = ...,
311
372
  dialog: global___Block.Dialog | None = ...,
373
+ flex_container: global___Block.FlexContainer | None = ...,
312
374
  allow_empty: builtins.bool = ...,
313
375
  id: builtins.str | None = ...,
376
+ height_config: streamlit.proto.HeightConfig_pb2.HeightConfig | None = ...,
377
+ width_config: streamlit.proto.WidthConfig_pb2.WidthConfig | None = ...,
314
378
  ) -> None: ...
315
- def HasField(self, field_name: typing.Literal["_id", b"_id", "chat_message", b"chat_message", "column", b"column", "dialog", b"dialog", "expandable", b"expandable", "form", b"form", "horizontal", b"horizontal", "id", b"id", "popover", b"popover", "tab", b"tab", "tab_container", b"tab_container", "type", b"type", "vertical", b"vertical"]) -> builtins.bool: ...
316
- def ClearField(self, field_name: typing.Literal["_id", b"_id", "allow_empty", b"allow_empty", "chat_message", b"chat_message", "column", b"column", "dialog", b"dialog", "expandable", b"expandable", "form", b"form", "horizontal", b"horizontal", "id", b"id", "popover", b"popover", "tab", b"tab", "tab_container", b"tab_container", "type", b"type", "vertical", b"vertical"]) -> None: ...
379
+ def HasField(self, field_name: typing.Literal["_height_config", b"_height_config", "_id", b"_id", "_width_config", b"_width_config", "chat_message", b"chat_message", "column", b"column", "dialog", b"dialog", "expandable", b"expandable", "flex_container", b"flex_container", "form", b"form", "height_config", b"height_config", "horizontal", b"horizontal", "id", b"id", "popover", b"popover", "tab", b"tab", "tab_container", b"tab_container", "type", b"type", "vertical", b"vertical", "width_config", b"width_config"]) -> builtins.bool: ...
380
+ def ClearField(self, field_name: typing.Literal["_height_config", b"_height_config", "_id", b"_id", "_width_config", b"_width_config", "allow_empty", b"allow_empty", "chat_message", b"chat_message", "column", b"column", "dialog", b"dialog", "expandable", b"expandable", "flex_container", b"flex_container", "form", b"form", "height_config", b"height_config", "horizontal", b"horizontal", "id", b"id", "popover", b"popover", "tab", b"tab", "tab_container", b"tab_container", "type", b"type", "vertical", b"vertical", "width_config", b"width_config"]) -> None: ...
381
+ @typing.overload
382
+ def WhichOneof(self, oneof_group: typing.Literal["_height_config", b"_height_config"]) -> typing.Literal["height_config"] | None: ...
317
383
  @typing.overload
318
384
  def WhichOneof(self, oneof_group: typing.Literal["_id", b"_id"]) -> typing.Literal["id"] | None: ...
319
385
  @typing.overload
320
- def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["vertical", "horizontal", "column", "expandable", "form", "tab_container", "tab", "chat_message", "popover", "dialog"] | None: ...
386
+ def WhichOneof(self, oneof_group: typing.Literal["_width_config", b"_width_config"]) -> typing.Literal["width_config"] | None: ...
387
+ @typing.overload
388
+ def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["vertical", "horizontal", "column", "expandable", "form", "tab_container", "tab", "chat_message", "popover", "dialog", "flex_container"] | None: ...
321
389
 
322
390
  global___Block = Block
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
15
15
  from streamlit.proto import WidgetStates_pb2 as streamlit_dot_proto_dot_WidgetStates__pb2
16
16
 
17
17
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!streamlit/proto/ClientState.proto\x1a\"streamlit/proto/WidgetStates.proto\"\xc7\x01\n\x0b\x43ontextInfo\x12\x15\n\x08timezone\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0ftimezone_offset\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x13\n\x06locale\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03url\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0bis_embedded\x18\x05 \x01(\x08H\x04\x88\x01\x01\x42\x0b\n\t_timezoneB\x12\n\x10_timezone_offsetB\t\n\x07_localeB\x06\n\x04_urlB\x0e\n\x0c_is_embedded\"\xe5\x01\n\x0b\x43lientState\x12\x14\n\x0cquery_string\x18\x01 \x01(\t\x12$\n\rwidget_states\x18\x02 \x01(\x0b\x32\r.WidgetStates\x12\x18\n\x10page_script_hash\x18\x03 \x01(\t\x12\x11\n\tpage_name\x18\x04 \x01(\t\x12\x13\n\x0b\x66ragment_id\x18\x05 \x01(\t\x12\x15\n\ris_auto_rerun\x18\x06 \x01(\x08\x12\x1d\n\x15\x63\x61\x63hed_message_hashes\x18\x07 \x03(\t\x12\"\n\x0c\x63ontext_info\x18\x08 \x01(\x0b\x32\x0c.ContextInfoB0\n\x1c\x63om.snowflake.apps.streamlitB\x10\x43lientStateProtob\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!streamlit/proto/ClientState.proto\x1a\"streamlit/proto/WidgetStates.proto\"\xf3\x01\n\x0b\x43ontextInfo\x12\x15\n\x08timezone\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0ftimezone_offset\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x13\n\x06locale\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03url\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0bis_embedded\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12\x19\n\x0c\x63olor_scheme\x18\x06 \x01(\tH\x05\x88\x01\x01\x42\x0b\n\t_timezoneB\x12\n\x10_timezone_offsetB\t\n\x07_localeB\x06\n\x04_urlB\x0e\n\x0c_is_embeddedB\x0f\n\r_color_scheme\"\xe5\x01\n\x0b\x43lientState\x12\x14\n\x0cquery_string\x18\x01 \x01(\t\x12$\n\rwidget_states\x18\x02 \x01(\x0b\x32\r.WidgetStates\x12\x18\n\x10page_script_hash\x18\x03 \x01(\t\x12\x11\n\tpage_name\x18\x04 \x01(\t\x12\x13\n\x0b\x66ragment_id\x18\x05 \x01(\t\x12\x15\n\ris_auto_rerun\x18\x06 \x01(\x08\x12\x1d\n\x15\x63\x61\x63hed_message_hashes\x18\x07 \x03(\t\x12\"\n\x0c\x63ontext_info\x18\x08 \x01(\x0b\x32\x0c.ContextInfoB0\n\x1c\x63om.snowflake.apps.streamlitB\x10\x43lientStateProtob\x06proto3')
19
19
 
20
20
  _globals = globals()
21
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -24,7 +24,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
24
24
  _globals['DESCRIPTOR']._loaded_options = None
25
25
  _globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\020ClientStateProto'
26
26
  _globals['_CONTEXTINFO']._serialized_start=74
27
- _globals['_CONTEXTINFO']._serialized_end=273
28
- _globals['_CLIENTSTATE']._serialized_start=276
29
- _globals['_CLIENTSTATE']._serialized_end=505
27
+ _globals['_CONTEXTINFO']._serialized_end=317
28
+ _globals['_CLIENTSTATE']._serialized_start=320
29
+ _globals['_CLIENTSTATE']._serialized_end=549
30
30
  # @@protoc_insertion_point(module_scope)
@@ -36,11 +36,13 @@ class ContextInfo(google.protobuf.message.Message):
36
36
  LOCALE_FIELD_NUMBER: builtins.int
37
37
  URL_FIELD_NUMBER: builtins.int
38
38
  IS_EMBEDDED_FIELD_NUMBER: builtins.int
39
+ COLOR_SCHEME_FIELD_NUMBER: builtins.int
39
40
  timezone: builtins.str
40
41
  timezone_offset: builtins.int
41
42
  locale: builtins.str
42
43
  url: builtins.str
43
44
  is_embedded: builtins.bool
45
+ color_scheme: builtins.str
44
46
  def __init__(
45
47
  self,
46
48
  *,
@@ -49,9 +51,12 @@ class ContextInfo(google.protobuf.message.Message):
49
51
  locale: builtins.str | None = ...,
50
52
  url: builtins.str | None = ...,
51
53
  is_embedded: builtins.bool | None = ...,
54
+ color_scheme: builtins.str | None = ...,
52
55
  ) -> None: ...
53
- def HasField(self, field_name: typing.Literal["_is_embedded", b"_is_embedded", "_locale", b"_locale", "_timezone", b"_timezone", "_timezone_offset", b"_timezone_offset", "_url", b"_url", "is_embedded", b"is_embedded", "locale", b"locale", "timezone", b"timezone", "timezone_offset", b"timezone_offset", "url", b"url"]) -> builtins.bool: ...
54
- def ClearField(self, field_name: typing.Literal["_is_embedded", b"_is_embedded", "_locale", b"_locale", "_timezone", b"_timezone", "_timezone_offset", b"_timezone_offset", "_url", b"_url", "is_embedded", b"is_embedded", "locale", b"locale", "timezone", b"timezone", "timezone_offset", b"timezone_offset", "url", b"url"]) -> None: ...
56
+ def HasField(self, field_name: typing.Literal["_color_scheme", b"_color_scheme", "_is_embedded", b"_is_embedded", "_locale", b"_locale", "_timezone", b"_timezone", "_timezone_offset", b"_timezone_offset", "_url", b"_url", "color_scheme", b"color_scheme", "is_embedded", b"is_embedded", "locale", b"locale", "timezone", b"timezone", "timezone_offset", b"timezone_offset", "url", b"url"]) -> builtins.bool: ...
57
+ def ClearField(self, field_name: typing.Literal["_color_scheme", b"_color_scheme", "_is_embedded", b"_is_embedded", "_locale", b"_locale", "_timezone", b"_timezone", "_timezone_offset", b"_timezone_offset", "_url", b"_url", "color_scheme", b"color_scheme", "is_embedded", b"is_embedded", "locale", b"locale", "timezone", b"timezone", "timezone_offset", b"timezone_offset", "url", b"url"]) -> None: ...
58
+ @typing.overload
59
+ def WhichOneof(self, oneof_group: typing.Literal["_color_scheme", b"_color_scheme"]) -> typing.Literal["color_scheme"] | None: ...
55
60
  @typing.overload
56
61
  def WhichOneof(self, oneof_group: typing.Literal["_is_embedded", b"_is_embedded"]) -> typing.Literal["is_embedded"] | None: ...
57
62
  @typing.overload
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1astreamlit/proto/Code.proto\"j\n\x04\x43ode\x12\x11\n\tcode_text\x18\x01 \x01(\t\x12\x10\n\x08language\x18\x02 \x01(\t\x12\x19\n\x11show_line_numbers\x18\x03 \x01(\x08\x12\x12\n\nwrap_lines\x18\x04 \x01(\x08\x12\x0e\n\x06height\x18\x05 \x01(\rB)\n\x1c\x63om.snowflake.apps.streamlitB\tCodeProtob\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1astreamlit/proto/Code.proto\"n\n\x04\x43ode\x12\x11\n\tcode_text\x18\x01 \x01(\t\x12\x10\n\x08language\x18\x02 \x01(\t\x12\x19\n\x11show_line_numbers\x18\x03 \x01(\x08\x12\x12\n\nwrap_lines\x18\x04 \x01(\x08\x12\x12\n\x06height\x18\x05 \x01(\rB\x02\x18\x01\x42)\n\x1c\x63om.snowflake.apps.streamlitB\tCodeProtob\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -22,6 +22,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Code_pb2',
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\tCodeProto'
25
+ _globals['_CODE'].fields_by_name['height']._loaded_options = None
26
+ _globals['_CODE'].fields_by_name['height']._serialized_options = b'\030\001'
25
27
  _globals['_CODE']._serialized_start=30
26
- _globals['_CODE']._serialized_end=136
28
+ _globals['_CODE']._serialized_end=140
27
29
  # @@protoc_insertion_point(module_scope)
@@ -41,6 +41,7 @@ class Code(google.protobuf.message.Message):
41
41
  show_line_numbers: builtins.bool
42
42
  wrap_lines: builtins.bool
43
43
  height: builtins.int
44
+ """deprecated use height on Element.proto"""
44
45
  def __init__(
45
46
  self,
46
47
  *,
@@ -29,7 +29,7 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
29
29
 
30
30
  @typing.final
31
31
  class DataFrame(google.protobuf.message.Message):
32
- """DEPRECATED: This proto message is deprecated and unsused. Use Arrow.proto instead.
32
+ """DEPRECATED: This proto message is deprecated and unused. Use Arrow.proto instead.
33
33
  Represents a pandas DataFrame.
34
34
  """
35
35
 
@@ -73,7 +73,7 @@ class DeckGlJsonChart(google.protobuf.message.Message):
73
73
  id: builtins.str
74
74
  """ID, required for selection events."""
75
75
  mapbox_token: builtins.str
76
- """The user-configured Mapbox token. If empty, the token id fetched from https://data.streamlit.io/tokens.json"""
76
+ """The Mapbox token, if any."""
77
77
  width: builtins.int
78
78
  """Width in pixels"""
79
79
  height: builtins.int