streamlit 1.48.1__py3-none-any.whl → 1.49.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 (203) hide show
  1. streamlit/__init__.py +3 -10
  2. streamlit/commands/logo.py +4 -3
  3. streamlit/commands/navigation.py +1 -1
  4. streamlit/commands/page_config.py +4 -1
  5. streamlit/components/v1/custom_component.py +2 -2
  6. streamlit/config.py +82 -1
  7. streamlit/connections/snowflake_connection.py +3 -1
  8. streamlit/delta_generator.py +3 -0
  9. streamlit/elements/arrow.py +155 -70
  10. streamlit/elements/bokeh_chart.py +13 -3
  11. streamlit/elements/deck_gl_json_chart.py +0 -1
  12. streamlit/elements/dialog_decorator.py +7 -59
  13. streamlit/elements/form.py +10 -1
  14. streamlit/elements/graphviz_chart.py +57 -6
  15. streamlit/elements/heading.py +17 -16
  16. streamlit/elements/image.py +64 -37
  17. streamlit/elements/layouts.py +2 -2
  18. streamlit/elements/lib/built_in_chart_utils.py +2 -5
  19. streamlit/elements/lib/column_config_utils.py +18 -4
  20. streamlit/elements/lib/column_types.py +75 -30
  21. streamlit/elements/lib/dialog.py +3 -3
  22. streamlit/elements/lib/image_utils.py +19 -11
  23. streamlit/elements/lib/layout_utils.py +15 -2
  24. streamlit/elements/lib/utils.py +20 -41
  25. streamlit/elements/markdown.py +7 -6
  26. streamlit/elements/media.py +6 -13
  27. streamlit/elements/metric.py +78 -1
  28. streamlit/elements/pdf.py +192 -0
  29. streamlit/elements/plotly_chart.py +3 -2
  30. streamlit/elements/pyplot.py +53 -11
  31. streamlit/elements/toast.py +81 -5
  32. streamlit/elements/vega_charts.py +3 -8
  33. streamlit/elements/widgets/audio_input.py +0 -1
  34. streamlit/elements/widgets/button.py +0 -4
  35. streamlit/elements/widgets/button_group.py +5 -4
  36. streamlit/elements/widgets/camera_input.py +0 -1
  37. streamlit/elements/widgets/chat.py +11 -13
  38. streamlit/elements/widgets/checkbox.py +0 -1
  39. streamlit/elements/widgets/color_picker.py +0 -1
  40. streamlit/elements/widgets/data_editor.py +142 -62
  41. streamlit/elements/widgets/file_uploader.py +74 -37
  42. streamlit/elements/widgets/multiselect.py +0 -1
  43. streamlit/elements/widgets/number_input.py +0 -1
  44. streamlit/elements/widgets/radio.py +0 -1
  45. streamlit/elements/widgets/select_slider.py +0 -1
  46. streamlit/elements/widgets/selectbox.py +0 -1
  47. streamlit/elements/widgets/slider.py +0 -1
  48. streamlit/elements/widgets/text_widgets.py +0 -2
  49. streamlit/elements/widgets/time_widgets.py +0 -2
  50. streamlit/errors.py +11 -0
  51. streamlit/material_icon_names.py +1 -1
  52. streamlit/proto/Arrow_pb2.py +14 -8
  53. streamlit/proto/Arrow_pb2.pyi +11 -3
  54. streamlit/proto/Block_pb2.py +16 -16
  55. streamlit/proto/Block_pb2.pyi +2 -0
  56. streamlit/proto/ChatInput_pb2.py +3 -3
  57. streamlit/proto/ChatInput_pb2.pyi +2 -0
  58. streamlit/proto/FileUploader_pb2.py +2 -2
  59. streamlit/proto/FileUploader_pb2.pyi +5 -1
  60. streamlit/proto/GraphVizChart_pb2.py +4 -2
  61. streamlit/proto/GraphVizChart_pb2.pyi +1 -1
  62. streamlit/proto/Image_pb2.py +4 -2
  63. streamlit/proto/Image_pb2.pyi +1 -10
  64. streamlit/proto/Metric_pb2.py +8 -6
  65. streamlit/proto/Metric_pb2.pyi +34 -10
  66. streamlit/proto/Toast_pb2.py +2 -2
  67. streamlit/proto/Toast_pb2.pyi +10 -1
  68. streamlit/runtime/caching/__init__.py +14 -2
  69. streamlit/runtime/caching/cache_data_api.py +0 -17
  70. streamlit/runtime/caching/cache_resource_api.py +0 -16
  71. streamlit/runtime/caching/cached_message_replay.py +8 -20
  72. streamlit/runtime/caching/hashing.py +31 -1
  73. streamlit/runtime/credentials.py +4 -4
  74. streamlit/runtime/fragment.py +0 -42
  75. streamlit/runtime/websocket_session_manager.py +1 -1
  76. streamlit/static/index.html +2 -2
  77. streamlit/static/manifest.json +224 -252
  78. streamlit/static/static/css/{index.CJVRHjQZ.css → index.C8X8rNzw.css} +1 -1
  79. streamlit/static/static/css/index.COe1010n.css +1 -0
  80. streamlit/static/static/js/{ErrorOutline.esm.DjObtx4K.js → ErrorOutline.esm.u9XvzxL8.js} +1 -1
  81. streamlit/static/static/js/{FileDownload.esm.Bz9nxNC5.js → FileDownload.esm.CaRyZ-b2.js} +1 -1
  82. streamlit/static/static/js/FileHelper.Dk2SwIi3.js +5 -0
  83. streamlit/static/static/js/FormClearHelper.l_UPPvkg.js +1 -0
  84. streamlit/static/static/js/{Hooks.DEoLCfOE.js → Hooks.BxrVEftw.js} +1 -1
  85. streamlit/static/static/js/InputInstructions.C254RU9X.js +1 -0
  86. streamlit/static/static/js/Particles.DkY6FDnc.js +1 -0
  87. streamlit/static/static/js/ProgressBar.BPtSM82n.js +2 -0
  88. streamlit/static/static/js/Toolbar.BO_3WBaS.js +1 -0
  89. streamlit/static/static/js/{base-input.BmvSaPd2.js → base-input.egUI4LjJ.js} +4 -4
  90. streamlit/static/static/js/{checkbox.Cgxgc0et.js → checkbox.ButpszcE.js} +2 -2
  91. streamlit/static/static/js/createSuper.DYJA5xa6.js +1 -0
  92. streamlit/static/static/js/data-grid-overlay-editor.C9gQLEnU.js +1 -0
  93. streamlit/static/static/js/{downloader.M6jQeNDf.js → downloader.B3TjsSPZ.js} +1 -1
  94. streamlit/static/static/js/es6.BYSNuG4D.js +2 -0
  95. streamlit/static/static/js/iframeResizer.contentWindow.CNPHJsF2.js +1 -0
  96. streamlit/static/static/js/index.0tDq1WXk.js +1 -0
  97. streamlit/static/static/js/index.BBnWuh07.js +976 -0
  98. streamlit/static/static/js/index.BDZorv41.js +1 -0
  99. streamlit/static/static/js/{index.CbdWnLqS.js → index.BH79B25f.js} +3 -3
  100. streamlit/static/static/js/index.BeTC4Yl-.js +197 -0
  101. streamlit/static/static/js/index.BnOd05Ko.js +2 -0
  102. streamlit/static/static/js/index.BoJaJReB.js +1 -0
  103. streamlit/static/static/js/index.Bp1Of6L8.js +1 -0
  104. streamlit/static/static/js/index.Bpe4-O2W.js +1 -0
  105. streamlit/static/static/js/index.BrD9sbpx.js +1 -0
  106. streamlit/static/static/js/index.C1qCS-sd.js +1 -0
  107. streamlit/static/static/js/index.C3EXAI-u.js +1 -0
  108. streamlit/static/static/js/index.C77g9sAQ.js +3 -0
  109. streamlit/static/static/js/{index.BXDq9dj4.js → index.CFePF7s4.js} +1 -1
  110. streamlit/static/static/js/index.CFjU0x00.js +1 -0
  111. streamlit/static/static/js/index.Ca3y4ztK.js +1 -0
  112. streamlit/static/static/js/{index.CgZDfhN4.js → index.Cb9gN2T2.js} +2 -2
  113. streamlit/static/static/js/{index.tsvTLdio.js → index.CbwuUwu4.js} +9 -9
  114. streamlit/static/static/js/index.CeXLlclc.js +1 -0
  115. streamlit/static/static/js/index.CfiZGqj3.js +3 -0
  116. streamlit/static/static/js/index.CjQnYKID.js +1 -0
  117. streamlit/static/static/js/index.Cl_966eE.js +3858 -0
  118. streamlit/static/static/js/{index.Cqa4gqqN.js → index.CqSRo6zQ.js} +1 -1
  119. streamlit/static/static/js/index.CuEFSQ-o.js +1 -0
  120. streamlit/static/static/js/index.D4jR1m1z.js +1 -0
  121. streamlit/static/static/js/index.DGcW849X.js +1 -0
  122. streamlit/static/static/js/index.DKb-BAE2.js +1 -0
  123. streamlit/static/static/js/index.DP1rDFP0.js +1 -0
  124. streamlit/static/static/js/{index.D1EayrNh.js → index.DStzYLqM.js} +2 -2
  125. streamlit/static/static/js/index.DVKQKDLu.js +1 -0
  126. streamlit/static/static/js/index.DWedOrkQ.js +1 -0
  127. streamlit/static/static/js/index.DYbRPmVF.js +1 -0
  128. streamlit/static/static/js/index.DgpIMUsr.js +1 -0
  129. streamlit/static/static/js/index.DtwkPJs5.js +5367 -0
  130. streamlit/static/static/js/{index.D1jHqUJq.js → index.MQLQLR5Z.js} +1 -1
  131. streamlit/static/static/js/index.uInpwWAP.js +1 -0
  132. streamlit/static/static/js/index.z992t-BQ.js +7 -0
  133. streamlit/static/static/js/{input.DZd6EQlV.js → input.CbP5ZuQ7.js} +2 -2
  134. streamlit/static/static/js/{memory.ptkfuI71.js → memory.BuacVo2L.js} +1 -1
  135. streamlit/static/static/js/number-overlay-editor.BZb9zRl_.js +9 -0
  136. streamlit/static/static/js/{possibleConstructorReturn.Bd4ImlQ9.js → possibleConstructorReturn.DSM84rOS.js} +1 -1
  137. streamlit/static/static/js/{sandbox.DsH8LuID.js → sandbox.C480llMG.js} +1 -1
  138. streamlit/static/static/js/{timepicker.QVekV78C.js → timepicker.BunxCVp7.js} +4 -4
  139. streamlit/static/static/js/{toConsumableArray.BJvaP8gb.js → toConsumableArray.B4o8rEx1.js} +3 -3
  140. streamlit/static/static/js/uniqueId.tii0yosY.js +1 -0
  141. streamlit/static/static/js/{useBasicWidgetState.DB3vMS9V.js → useBasicWidgetState.Bnm4FD6K.js} +1 -1
  142. streamlit/static/static/js/{useTextInputAutoExpand.CBkGkaRt.js → useTextInputAutoExpand.Dgtwc1m0.js} +2 -2
  143. streamlit/static/static/js/useUpdateUiValue.DjXdMFGw.js +1 -0
  144. streamlit/static/static/js/withFullScreenWrapper.0cy2pVf5.js +1 -0
  145. streamlit/static/static/media/MaterialSymbols-Rounded.CBxVaFdk.woff2 +0 -0
  146. streamlit/user_info.py +3 -1
  147. streamlit/web/server/browser_websocket_handler.py +15 -0
  148. {streamlit-1.48.1.dist-info → streamlit-1.49.0.dist-info}/METADATA +4 -2
  149. {streamlit-1.48.1.dist-info → streamlit-1.49.0.dist-info}/RECORD +153 -156
  150. streamlit/static/static/css/index.CQt5TjGB.css +0 -1
  151. streamlit/static/static/js/FileHelper.BrQvUXVD.js +0 -5
  152. streamlit/static/static/js/FormClearHelper.DF4gFAOO.js +0 -1
  153. streamlit/static/static/js/InputInstructions.D8zoMog9.js +0 -1
  154. streamlit/static/static/js/Particles.CCFySwdL.js +0 -1
  155. streamlit/static/static/js/ProgressBar.COK9j1l0.js +0 -2
  156. streamlit/static/static/js/Toolbar.Dt4jIKlY.js +0 -1
  157. streamlit/static/static/js/createSuper.siQeagI2.js +0 -1
  158. streamlit/static/static/js/data-grid-overlay-editor.Ct51iCb_.js +0 -1
  159. streamlit/static/static/js/es6.CMaUdEZ5.js +0 -2
  160. streamlit/static/static/js/iframeResizer.contentWindow.C33BryyP.js +0 -1
  161. streamlit/static/static/js/index.8GJD0eeD.js +0 -1
  162. streamlit/static/static/js/index.8QEYHMQD.js +0 -1
  163. streamlit/static/static/js/index.Ay41Wnu9.js +0 -1
  164. streamlit/static/static/js/index.BLiKiJ7_.js +0 -1
  165. streamlit/static/static/js/index.BT78cJmU.js +0 -1
  166. streamlit/static/static/js/index.BdGvnhlM.js +0 -1
  167. streamlit/static/static/js/index.BfasrT0d.js +0 -1
  168. streamlit/static/static/js/index.CCdtFMFG.js +0 -1
  169. streamlit/static/static/js/index.CFRGZDz1.js +0 -1
  170. streamlit/static/static/js/index.CFSFYiPA.js +0 -5366
  171. streamlit/static/static/js/index.CeiIiXap.js +0 -1
  172. streamlit/static/static/js/index.CzX2xpyc.js +0 -1
  173. streamlit/static/static/js/index.D1ErX5go.js +0 -2
  174. streamlit/static/static/js/index.D5gweoL5.js +0 -7
  175. streamlit/static/static/js/index.DByVKZgq.js +0 -1
  176. streamlit/static/static/js/index.DEND45D1.js +0 -3
  177. streamlit/static/static/js/index.DKN5MVff.js +0 -781
  178. streamlit/static/static/js/index.DfoxW1gP.js +0 -3855
  179. streamlit/static/static/js/index.Dtf1Ac0x.js +0 -1
  180. streamlit/static/static/js/index.DxrLhpeO.js +0 -1
  181. streamlit/static/static/js/index.J7o-_HIh.js +0 -1
  182. streamlit/static/static/js/index.LU8juINp.js +0 -197
  183. streamlit/static/static/js/index.L_N2iylt.js +0 -1
  184. streamlit/static/static/js/index.PZUX2kRz.js +0 -3
  185. streamlit/static/static/js/index.ROjU6K0k.js +0 -1
  186. streamlit/static/static/js/index.WSNLkF94.js +0 -1
  187. streamlit/static/static/js/index.X5W3gJLn.js +0 -1
  188. streamlit/static/static/js/index.k9LYqfSL.js +0 -1
  189. streamlit/static/static/js/index.pnHtHv_c.js +0 -203
  190. streamlit/static/static/js/index.tPUXqsfW.js +0 -1
  191. streamlit/static/static/js/mergeWith.GRNk8iwv.js +0 -1
  192. streamlit/static/static/js/number-overlay-editor.DXS2qb1U.js +0 -9
  193. streamlit/static/static/js/threshold.DjX0wlsa.js +0 -1
  194. streamlit/static/static/js/timer.CAwTRJ_g.js +0 -1
  195. streamlit/static/static/js/uniqueId.D_5M8Dgf.js +0 -1
  196. streamlit/static/static/js/useUpdateUiValue.C7ZKpLQK.js +0 -1
  197. streamlit/static/static/js/value.CgPGBV_l.js +0 -1
  198. streamlit/static/static/js/withFullScreenWrapper.C-gXt0Rl.js +0 -1
  199. streamlit/static/static/media/MaterialSymbols-Rounded.DsbC8sYI.woff2 +0 -0
  200. {streamlit-1.48.1.data → streamlit-1.49.0.data}/scripts/streamlit.cmd +0 -0
  201. {streamlit-1.48.1.dist-info → streamlit-1.49.0.dist-info}/WHEEL +0 -0
  202. {streamlit-1.48.1.dist-info → streamlit-1.49.0.dist-info}/entry_points.txt +0 -0
  203. {streamlit-1.48.1.dist-info → streamlit-1.49.0.dist-info}/top_level.txt +0 -0
@@ -17,7 +17,7 @@ from streamlit.proto import HeightConfig_pb2 as streamlit_dot_proto_dot_HeightCo
17
17
  from streamlit.proto import GapSize_pb2 as streamlit_dot_proto_dot_GapSize__pb2
18
18
 
19
19
 
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\"\x9b\x10\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\x12\n\x06height\x18\x02 \x01(\rB\x02\x18\x01\x1a\x19\n\nHorizontal\x12\x0b\n\x03gap\x18\x01 \x01(\t\x1a\x81\x04\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\x12-\n\x07justify\x18\x07 \x01(\x0e\x32\x1c.Block.FlexContainer.Justify\x12)\n\x05\x61lign\x18\x08 \x01(\x0e\x32\x1a.Block.FlexContainer.Align\"B\n\tDirection\x12\x17\n\x13\x44IRECTION_UNDEFINED\x10\x00\x12\x0c\n\x08VERTICAL\x10\x01\x12\x0e\n\nHORIZONTAL\x10\x02\"k\n\x07Justify\x12\x15\n\x11JUSTIFY_UNDEFINED\x10\x00\x12\x11\n\rJUSTIFY_START\x10\x01\x12\x0f\n\x0bJUSTIFY_END\x10\x02\x12\x12\n\x0eJUSTIFY_CENTER\x10\x03\x12\x11\n\rSPACE_BETWEEN\x10\x04\"[\n\x05\x41lign\x12\x13\n\x0f\x41LIGN_UNDEFINED\x10\x00\x12\x0f\n\x0b\x41LIGN_START\x10\x01\x12\r\n\tALIGN_END\x10\x02\x12\x10\n\x0c\x41LIGN_CENTER\x10\x03\x12\x0b\n\x07STRETCH\x10\x04\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\xa9\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\x12\n\n\x02id\x18\x05 \x01(\t\"#\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\x1ag\n\x07Popover\x12\r\n\x05label\x18\x01 \x01(\t\x12\x1f\n\x13use_container_width\x18\x02 \x01(\x08\x42\x02\x18\x01\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')
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\"\xa7\x10\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\x12\n\x06height\x18\x02 \x01(\rB\x02\x18\x01\x1a\x19\n\nHorizontal\x12\x0b\n\x03gap\x18\x01 \x01(\t\x1a\x81\x04\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\x12-\n\x07justify\x18\x07 \x01(\x0e\x32\x1c.Block.FlexContainer.Justify\x12)\n\x05\x61lign\x18\x08 \x01(\x0e\x32\x1a.Block.FlexContainer.Align\"B\n\tDirection\x12\x17\n\x13\x44IRECTION_UNDEFINED\x10\x00\x12\x0c\n\x08VERTICAL\x10\x01\x12\x0e\n\nHORIZONTAL\x10\x02\"k\n\x07Justify\x12\x15\n\x11JUSTIFY_UNDEFINED\x10\x00\x12\x11\n\rJUSTIFY_START\x10\x01\x12\x0f\n\x0bJUSTIFY_END\x10\x02\x12\x12\n\x0eJUSTIFY_CENTER\x10\x03\x12\x11\n\rSPACE_BETWEEN\x10\x04\"[\n\x05\x41lign\x12\x13\n\x0f\x41LIGN_UNDEFINED\x10\x00\x12\x0f\n\x0b\x41LIGN_START\x10\x01\x12\r\n\tALIGN_END\x10\x02\x12\x10\n\x0c\x41LIGN_CENTER\x10\x03\x12\x0b\n\x07STRETCH\x10\x04\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\xb5\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\x12\n\n\x02id\x18\x05 \x01(\t\"/\n\x0b\x44ialogWidth\x12\t\n\x05SMALL\x10\x00\x12\t\n\x05LARGE\x10\x01\x12\n\n\x06MEDIUM\x10\x02\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\x1ag\n\x07Popover\x12\r\n\x05label\x18\x01 \x01(\t\x12\x1f\n\x13use_container_width\x18\x02 \x01(\x08\x42\x02\x18\x01\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')
21
21
 
22
22
  _globals = globals()
23
23
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -32,7 +32,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
32
32
  _globals['_BLOCK_POPOVER'].fields_by_name['use_container_width']._loaded_options = None
33
33
  _globals['_BLOCK_POPOVER'].fields_by_name['use_container_width']._serialized_options = b'\030\001'
34
34
  _globals['_BLOCK']._serialized_start=134
35
- _globals['_BLOCK']._serialized_end=2209
35
+ _globals['_BLOCK']._serialized_end=2221
36
36
  _globals['_BLOCK_VERTICAL']._serialized_start=699
37
37
  _globals['_BLOCK_VERTICAL']._serialized_end=745
38
38
  _globals['_BLOCK_HORIZONTAL']._serialized_start=747
@@ -52,19 +52,19 @@ if not _descriptor._USE_C_DESCRIPTORS:
52
52
  _globals['_BLOCK_EXPANDABLE']._serialized_start=1532
53
53
  _globals['_BLOCK_EXPANDABLE']._serialized_end=1609
54
54
  _globals['_BLOCK_DIALOG']._serialized_start=1612
55
- _globals['_BLOCK_DIALOG']._serialized_end=1781
55
+ _globals['_BLOCK_DIALOG']._serialized_end=1793
56
56
  _globals['_BLOCK_DIALOG_DIALOGWIDTH']._serialized_start=1734
57
- _globals['_BLOCK_DIALOG_DIALOGWIDTH']._serialized_end=1769
58
- _globals['_BLOCK_FORM']._serialized_start=1783
59
- _globals['_BLOCK_FORM']._serialized_end=1872
60
- _globals['_BLOCK_TABCONTAINER']._serialized_start=1874
61
- _globals['_BLOCK_TABCONTAINER']._serialized_end=1888
62
- _globals['_BLOCK_TAB']._serialized_start=1890
63
- _globals['_BLOCK_TAB']._serialized_end=1910
64
- _globals['_BLOCK_POPOVER']._serialized_start=1912
65
- _globals['_BLOCK_POPOVER']._serialized_end=2015
66
- _globals['_BLOCK_CHATMESSAGE']._serialized_start=2018
67
- _globals['_BLOCK_CHATMESSAGE']._serialized_end=2159
68
- _globals['_BLOCK_CHATMESSAGE_AVATARTYPE']._serialized_start=2115
69
- _globals['_BLOCK_CHATMESSAGE_AVATARTYPE']._serialized_end=2159
57
+ _globals['_BLOCK_DIALOG_DIALOGWIDTH']._serialized_end=1781
58
+ _globals['_BLOCK_FORM']._serialized_start=1795
59
+ _globals['_BLOCK_FORM']._serialized_end=1884
60
+ _globals['_BLOCK_TABCONTAINER']._serialized_start=1886
61
+ _globals['_BLOCK_TABCONTAINER']._serialized_end=1900
62
+ _globals['_BLOCK_TAB']._serialized_start=1902
63
+ _globals['_BLOCK_TAB']._serialized_end=1922
64
+ _globals['_BLOCK_POPOVER']._serialized_start=1924
65
+ _globals['_BLOCK_POPOVER']._serialized_end=2027
66
+ _globals['_BLOCK_CHATMESSAGE']._serialized_start=2030
67
+ _globals['_BLOCK_CHATMESSAGE']._serialized_end=2171
68
+ _globals['_BLOCK_CHATMESSAGE_AVATARTYPE']._serialized_start=2127
69
+ _globals['_BLOCK_CHATMESSAGE_AVATARTYPE']._serialized_end=2171
70
70
  # @@protoc_insertion_point(module_scope)
@@ -233,10 +233,12 @@ class Block(google.protobuf.message.Message):
233
233
  DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
234
234
  SMALL: Block.Dialog._DialogWidth.ValueType # 0
235
235
  LARGE: Block.Dialog._DialogWidth.ValueType # 1
236
+ MEDIUM: Block.Dialog._DialogWidth.ValueType # 2
236
237
 
237
238
  class DialogWidth(_DialogWidth, metaclass=_DialogWidthEnumTypeWrapper): ...
238
239
  SMALL: Block.Dialog.DialogWidth.ValueType # 0
239
240
  LARGE: Block.Dialog.DialogWidth.ValueType # 1
241
+ MEDIUM: Block.Dialog.DialogWidth.ValueType # 2
240
242
 
241
243
  TITLE_FIELD_NUMBER: builtins.int
242
244
  DISMISSIBLE_FIELD_NUMBER: builtins.int
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fstreamlit/proto/ChatInput.proto\"\xd0\x02\n\tChatInput\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bplaceholder\x18\x02 \x01(\t\x12\x11\n\tmax_chars\x18\x03 \x01(\r\x12\x10\n\x08\x64isabled\x18\x04 \x01(\x08\x12\r\n\x05value\x18\x05 \x01(\t\x12\x11\n\tset_value\x18\x06 \x01(\x08\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x07 \x01(\t\x12%\n\x08position\x18\x08 \x01(\x0e\x32\x13.ChatInput.Position\x12*\n\x0b\x61\x63\x63\x65pt_file\x18\t \x01(\x0e\x32\x15.ChatInput.AcceptFile\x12\x11\n\tfile_type\x18\n \x03(\t\x12\x1a\n\x12max_upload_size_mb\x18\x0b \x01(\x05\"\x16\n\x08Position\x12\n\n\x06\x42OTTOM\x10\x00\"0\n\nAcceptFile\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06SINGLE\x10\x01\x12\x0c\n\x08MULTIPLE\x10\x02\x42.\n\x1c\x63om.snowflake.apps.streamlitB\x0e\x43hatInputProtob\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fstreamlit/proto/ChatInput.proto\"\xdf\x02\n\tChatInput\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bplaceholder\x18\x02 \x01(\t\x12\x11\n\tmax_chars\x18\x03 \x01(\r\x12\x10\n\x08\x64isabled\x18\x04 \x01(\x08\x12\r\n\x05value\x18\x05 \x01(\t\x12\x11\n\tset_value\x18\x06 \x01(\x08\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x07 \x01(\t\x12%\n\x08position\x18\x08 \x01(\x0e\x32\x13.ChatInput.Position\x12*\n\x0b\x61\x63\x63\x65pt_file\x18\t \x01(\x0e\x32\x15.ChatInput.AcceptFile\x12\x11\n\tfile_type\x18\n \x03(\t\x12\x1a\n\x12max_upload_size_mb\x18\x0b \x01(\x05\"\x16\n\x08Position\x12\n\n\x06\x42OTTOM\x10\x00\"?\n\nAcceptFile\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06SINGLE\x10\x01\x12\x0c\n\x08MULTIPLE\x10\x02\x12\r\n\tDIRECTORY\x10\x03\x42.\n\x1c\x63om.snowflake.apps.streamlitB\x0e\x43hatInputProtob\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -23,9 +23,9 @@ 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\016ChatInputProto'
25
25
  _globals['_CHATINPUT']._serialized_start=36
26
- _globals['_CHATINPUT']._serialized_end=372
26
+ _globals['_CHATINPUT']._serialized_end=387
27
27
  _globals['_CHATINPUT_POSITION']._serialized_start=300
28
28
  _globals['_CHATINPUT_POSITION']._serialized_end=322
29
29
  _globals['_CHATINPUT_ACCEPTFILE']._serialized_start=324
30
- _globals['_CHATINPUT_ACCEPTFILE']._serialized_end=372
30
+ _globals['_CHATINPUT_ACCEPTFILE']._serialized_end=387
31
31
  # @@protoc_insertion_point(module_scope)
@@ -59,11 +59,13 @@ class ChatInput(google.protobuf.message.Message):
59
59
  NONE: ChatInput._AcceptFile.ValueType # 0
60
60
  SINGLE: ChatInput._AcceptFile.ValueType # 1
61
61
  MULTIPLE: ChatInput._AcceptFile.ValueType # 2
62
+ DIRECTORY: ChatInput._AcceptFile.ValueType # 3
62
63
 
63
64
  class AcceptFile(_AcceptFile, metaclass=_AcceptFileEnumTypeWrapper): ...
64
65
  NONE: ChatInput.AcceptFile.ValueType # 0
65
66
  SINGLE: ChatInput.AcceptFile.ValueType # 1
66
67
  MULTIPLE: ChatInput.AcceptFile.ValueType # 2
68
+ DIRECTORY: ChatInput.AcceptFile.ValueType # 3
67
69
 
68
70
  ID_FIELD_NUMBER: builtins.int
69
71
  PLACEHOLDER_FIELD_NUMBER: builtins.int
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
15
15
  from streamlit.proto import LabelVisibilityMessage_pb2 as streamlit_dot_proto_dot_LabelVisibilityMessage__pb2
16
16
 
17
17
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"streamlit/proto/FileUploader.proto\x1a,streamlit/proto/LabelVisibilityMessage.proto\"\xd5\x01\n\x0c\x46ileUploader\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x03(\t\x12\x1a\n\x12max_upload_size_mb\x18\x04 \x01(\x05\x12\x16\n\x0emultiple_files\x18\x06 \x01(\x08\x12\x0c\n\x04help\x18\x07 \x01(\t\x12\x0f\n\x07\x66orm_id\x18\x08 \x01(\t\x12\x10\n\x08\x64isabled\x18\t \x01(\x08\x12\x31\n\x10label_visibility\x18\n \x01(\x0b\x32\x17.LabelVisibilityMessageJ\x04\x08\x05\x10\x06\x42\x31\n\x1c\x63om.snowflake.apps.streamlitB\x11\x46ileUploaderProtob\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"streamlit/proto/FileUploader.proto\x1a,streamlit/proto/LabelVisibilityMessage.proto\"\xef\x01\n\x0c\x46ileUploader\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x03(\t\x12\x1a\n\x12max_upload_size_mb\x18\x04 \x01(\x05\x12\x16\n\x0emultiple_files\x18\x06 \x01(\x08\x12\x0c\n\x04help\x18\x07 \x01(\t\x12\x0f\n\x07\x66orm_id\x18\x08 \x01(\t\x12\x10\n\x08\x64isabled\x18\t \x01(\x08\x12\x31\n\x10label_visibility\x18\n \x01(\x0b\x32\x17.LabelVisibilityMessage\x12\x18\n\x10\x61\x63\x63\x65pt_directory\x18\x0b \x01(\x08J\x04\x08\x05\x10\x06\x42\x31\n\x1c\x63om.snowflake.apps.streamlitB\x11\x46ileUploaderProtob\x06proto3')
19
19
 
20
20
  _globals = globals()
21
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -24,5 +24,5 @@ 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\021FileUploaderProto'
26
26
  _globals['_FILEUPLOADER']._serialized_start=85
27
- _globals['_FILEUPLOADER']._serialized_end=298
27
+ _globals['_FILEUPLOADER']._serialized_end=324
28
28
  # @@protoc_insertion_point(module_scope)
@@ -42,6 +42,7 @@ class FileUploader(google.protobuf.message.Message):
42
42
  FORM_ID_FIELD_NUMBER: builtins.int
43
43
  DISABLED_FIELD_NUMBER: builtins.int
44
44
  LABEL_VISIBILITY_FIELD_NUMBER: builtins.int
45
+ ACCEPT_DIRECTORY_FIELD_NUMBER: builtins.int
45
46
  id: builtins.str
46
47
  """The widget id"""
47
48
  label: builtins.str
@@ -53,6 +54,8 @@ class FileUploader(google.protobuf.message.Message):
53
54
  help: builtins.str
54
55
  form_id: builtins.str
55
56
  disabled: builtins.bool
57
+ accept_directory: builtins.bool
58
+ """If true, the widget accepts directory uploads (includes all files in subdirectories)."""
56
59
  @property
57
60
  def type(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
58
61
  """Supported types: For example: ["png","jpg","img"]"""
@@ -71,8 +74,9 @@ class FileUploader(google.protobuf.message.Message):
71
74
  form_id: builtins.str = ...,
72
75
  disabled: builtins.bool = ...,
73
76
  label_visibility: streamlit.proto.LabelVisibilityMessage_pb2.LabelVisibilityMessage | None = ...,
77
+ accept_directory: builtins.bool = ...,
74
78
  ) -> None: ...
75
79
  def HasField(self, field_name: typing.Literal["label_visibility", b"label_visibility"]) -> builtins.bool: ...
76
- def ClearField(self, field_name: typing.Literal["disabled", b"disabled", "form_id", b"form_id", "help", b"help", "id", b"id", "label", b"label", "label_visibility", b"label_visibility", "max_upload_size_mb", b"max_upload_size_mb", "multiple_files", b"multiple_files", "type", b"type"]) -> None: ...
80
+ def ClearField(self, field_name: typing.Literal["accept_directory", b"accept_directory", "disabled", b"disabled", "form_id", b"form_id", "help", b"help", "id", b"id", "label", b"label", "label_visibility", b"label_visibility", "max_upload_size_mb", b"max_upload_size_mb", "multiple_files", b"multiple_files", "type", b"type"]) -> None: ...
77
81
 
78
82
  global___FileUploader = FileUploader
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#streamlit/proto/GraphVizChart.proto\"j\n\rGraphVizChart\x12\x0c\n\x04spec\x18\x01 \x01(\t\x12\x1b\n\x13use_container_width\x18\x04 \x01(\x08\x12\x12\n\nelement_id\x18\x05 \x01(\t\x12\x0e\n\x06\x65ngine\x18\x06 \x01(\tJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x42\x32\n\x1c\x63om.snowflake.apps.streamlitB\x12GraphVizChartProtob\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#streamlit/proto/GraphVizChart.proto\"n\n\rGraphVizChart\x12\x0c\n\x04spec\x18\x01 \x01(\t\x12\x1f\n\x13use_container_width\x18\x04 \x01(\x08\x42\x02\x18\x01\x12\x12\n\nelement_id\x18\x05 \x01(\t\x12\x0e\n\x06\x65ngine\x18\x06 \x01(\tJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x42\x32\n\x1c\x63om.snowflake.apps.streamlitB\x12GraphVizChartProtob\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -22,6 +22,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.GraphVizCha
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\022GraphVizChartProto'
25
+ _globals['_GRAPHVIZCHART'].fields_by_name['use_container_width']._loaded_options = None
26
+ _globals['_GRAPHVIZCHART'].fields_by_name['use_container_width']._serialized_options = b'\030\001'
25
27
  _globals['_GRAPHVIZCHART']._serialized_start=39
26
- _globals['_GRAPHVIZCHART']._serialized_end=145
28
+ _globals['_GRAPHVIZCHART']._serialized_end=149
27
29
  # @@protoc_insertion_point(module_scope)
@@ -35,7 +35,7 @@ class GraphVizChart(google.protobuf.message.Message):
35
35
  spec: builtins.str
36
36
  """A specification of the GraphViz graph in the "Dot" language."""
37
37
  use_container_width: builtins.bool
38
- """If True, will overwrite the chart width spec to fit to container."""
38
+ """DEPRECATED: We use widthConfig on Element.proto"""
39
39
  element_id: builtins.str
40
40
  """A unique ID of this element."""
41
41
  engine: builtins.str
@@ -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/Image.proto\"A\n\x05Image\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x0f\n\x07\x63\x61ption\x18\x02 \x01(\t\x12\x0e\n\x06markup\x18\x04 \x01(\tJ\x04\x08\x01\x10\x02R\x04\x64\x61ta\"0\n\tImageList\x12\x14\n\x04imgs\x18\x01 \x03(\x0b\x32\x06.Image\x12\r\n\x05width\x18\x02 \x01(\x05\x42*\n\x1c\x63om.snowflake.apps.streamlitB\nImageProtob\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Image.proto\"A\n\x05Image\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x0f\n\x07\x63\x61ption\x18\x02 \x01(\t\x12\x0e\n\x06markup\x18\x04 \x01(\tJ\x04\x08\x01\x10\x02R\x04\x64\x61ta\"4\n\tImageList\x12\x14\n\x04imgs\x18\x01 \x03(\x0b\x32\x06.Image\x12\x11\n\x05width\x18\x02 \x01(\x05\x42\x02\x18\x01\x42*\n\x1c\x63om.snowflake.apps.streamlitB\nImageProtob\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -22,8 +22,10 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Image_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\nImageProto'
25
+ _globals['_IMAGELIST'].fields_by_name['width']._loaded_options = None
26
+ _globals['_IMAGELIST'].fields_by_name['width']._serialized_options = b'\030\001'
25
27
  _globals['_IMAGE']._serialized_start=31
26
28
  _globals['_IMAGE']._serialized_end=96
27
29
  _globals['_IMAGELIST']._serialized_start=98
28
- _globals['_IMAGELIST']._serialized_end=146
30
+ _globals['_IMAGELIST']._serialized_end=150
29
31
  # @@protoc_insertion_point(module_scope)
@@ -61,16 +61,7 @@ class ImageList(google.protobuf.message.Message):
61
61
  IMGS_FIELD_NUMBER: builtins.int
62
62
  WIDTH_FIELD_NUMBER: builtins.int
63
63
  width: builtins.int
64
- """@see WidthBehavior on the backend
65
- @see WidthBehavior on the frontend
66
- The width of each image.
67
- >0 sets the image width explicitly
68
- -1 means use the image width
69
- -2 means use the column width (deprecated)
70
- -3 means use the smaller of image width & column width (deprecated)
71
- -4 means use the smaller of image width & container width
72
- -5 means use the larger of image width & container width
73
- """
64
+ """DEPRECATED use widthConfig on Element.proto"""
74
65
  @property
75
66
  def imgs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Image]: ...
76
67
  def __init__(
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
15
15
  from streamlit.proto import LabelVisibilityMessage_pb2 as streamlit_dot_proto_dot_LabelVisibilityMessage__pb2
16
16
 
17
17
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cstreamlit/proto/Metric.proto\x1a,streamlit/proto/LabelVisibilityMessage.proto\"\xb6\x02\n\x06Metric\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\t\x12*\n\tdirection\x18\x04 \x01(\x0e\x32\x17.Metric.MetricDirection\x12\"\n\x05\x63olor\x18\x05 \x01(\x0e\x32\x13.Metric.MetricColor\x12\x0c\n\x04help\x18\x06 \x01(\t\x12\x31\n\x10label_visibility\x18\x07 \x01(\x0b\x32\x17.LabelVisibilityMessage\x12\x13\n\x0bshow_border\x18\x08 \x01(\x08\"+\n\x0bMetricColor\x12\x07\n\x03RED\x10\x00\x12\t\n\x05GREEN\x10\x01\x12\x08\n\x04GRAY\x10\x02\"-\n\x0fMetricDirection\x12\x08\n\x04\x44OWN\x10\x00\x12\x06\n\x02UP\x10\x01\x12\x08\n\x04NONE\x10\x02\x42+\n\x1c\x63om.snowflake.apps.streamlitB\x0bMetricProtob\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cstreamlit/proto/Metric.proto\x1a,streamlit/proto/LabelVisibilityMessage.proto\"\x9b\x03\n\x06Metric\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\t\x12*\n\tdirection\x18\x04 \x01(\x0e\x32\x17.Metric.MetricDirection\x12\"\n\x05\x63olor\x18\x05 \x01(\x0e\x32\x13.Metric.MetricColor\x12\x0c\n\x04help\x18\x06 \x01(\t\x12\x31\n\x10label_visibility\x18\x07 \x01(\x0b\x32\x17.LabelVisibilityMessage\x12\x13\n\x0bshow_border\x18\x08 \x01(\x08\x12\x12\n\nchart_data\x18\t \x03(\x01\x12%\n\nchart_type\x18\n \x01(\x0e\x32\x11.Metric.ChartType\"-\n\x0fMetricDirection\x12\x08\n\x04\x44OWN\x10\x00\x12\x06\n\x02UP\x10\x01\x12\x08\n\x04NONE\x10\x02\"+\n\x0bMetricColor\x12\x07\n\x03RED\x10\x00\x12\t\n\x05GREEN\x10\x01\x12\x08\n\x04GRAY\x10\x02\"(\n\tChartType\x12\x08\n\x04LINE\x10\x00\x12\x07\n\x03\x42\x41R\x10\x01\x12\x08\n\x04\x41REA\x10\x02\x42+\n\x1c\x63om.snowflake.apps.streamlitB\x0bMetricProtob\x06proto3')
19
19
 
20
20
  _globals = globals()
21
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -24,9 +24,11 @@ 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\013MetricProto'
26
26
  _globals['_METRIC']._serialized_start=79
27
- _globals['_METRIC']._serialized_end=389
28
- _globals['_METRIC_METRICCOLOR']._serialized_start=299
29
- _globals['_METRIC_METRICCOLOR']._serialized_end=342
30
- _globals['_METRIC_METRICDIRECTION']._serialized_start=344
31
- _globals['_METRIC_METRICDIRECTION']._serialized_end=389
27
+ _globals['_METRIC']._serialized_end=490
28
+ _globals['_METRIC_METRICDIRECTION']._serialized_start=358
29
+ _globals['_METRIC_METRICDIRECTION']._serialized_end=403
30
+ _globals['_METRIC_METRICCOLOR']._serialized_start=405
31
+ _globals['_METRIC_METRICCOLOR']._serialized_end=448
32
+ _globals['_METRIC_CHARTTYPE']._serialized_start=450
33
+ _globals['_METRIC_CHARTTYPE']._serialized_end=490
32
34
  # @@protoc_insertion_point(module_scope)
@@ -18,7 +18,9 @@ limitations under the License.
18
18
  """
19
19
 
20
20
  import builtins
21
+ import collections.abc
21
22
  import google.protobuf.descriptor
23
+ import google.protobuf.internal.containers
22
24
  import google.protobuf.internal.enum_type_wrapper
23
25
  import google.protobuf.message
24
26
  import streamlit.proto.LabelVisibilityMessage_pb2
@@ -36,6 +38,21 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
36
38
  class Metric(google.protobuf.message.Message):
37
39
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
38
40
 
41
+ class _MetricDirection:
42
+ ValueType = typing.NewType("ValueType", builtins.int)
43
+ V: typing_extensions.TypeAlias = ValueType
44
+
45
+ class _MetricDirectionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Metric._MetricDirection.ValueType], builtins.type):
46
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
47
+ DOWN: Metric._MetricDirection.ValueType # 0
48
+ UP: Metric._MetricDirection.ValueType # 1
49
+ NONE: Metric._MetricDirection.ValueType # 2
50
+
51
+ class MetricDirection(_MetricDirection, metaclass=_MetricDirectionEnumTypeWrapper): ...
52
+ DOWN: Metric.MetricDirection.ValueType # 0
53
+ UP: Metric.MetricDirection.ValueType # 1
54
+ NONE: Metric.MetricDirection.ValueType # 2
55
+
39
56
  class _MetricColor:
40
57
  ValueType = typing.NewType("ValueType", builtins.int)
41
58
  V: typing_extensions.TypeAlias = ValueType
@@ -51,20 +68,20 @@ class Metric(google.protobuf.message.Message):
51
68
  GREEN: Metric.MetricColor.ValueType # 1
52
69
  GRAY: Metric.MetricColor.ValueType # 2
53
70
 
54
- class _MetricDirection:
71
+ class _ChartType:
55
72
  ValueType = typing.NewType("ValueType", builtins.int)
56
73
  V: typing_extensions.TypeAlias = ValueType
57
74
 
58
- class _MetricDirectionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Metric._MetricDirection.ValueType], builtins.type):
75
+ class _ChartTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Metric._ChartType.ValueType], builtins.type):
59
76
  DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
60
- DOWN: Metric._MetricDirection.ValueType # 0
61
- UP: Metric._MetricDirection.ValueType # 1
62
- NONE: Metric._MetricDirection.ValueType # 2
77
+ LINE: Metric._ChartType.ValueType # 0
78
+ BAR: Metric._ChartType.ValueType # 1
79
+ AREA: Metric._ChartType.ValueType # 2
63
80
 
64
- class MetricDirection(_MetricDirection, metaclass=_MetricDirectionEnumTypeWrapper): ...
65
- DOWN: Metric.MetricDirection.ValueType # 0
66
- UP: Metric.MetricDirection.ValueType # 1
67
- NONE: Metric.MetricDirection.ValueType # 2
81
+ class ChartType(_ChartType, metaclass=_ChartTypeEnumTypeWrapper): ...
82
+ LINE: Metric.ChartType.ValueType # 0
83
+ BAR: Metric.ChartType.ValueType # 1
84
+ AREA: Metric.ChartType.ValueType # 2
68
85
 
69
86
  LABEL_FIELD_NUMBER: builtins.int
70
87
  BODY_FIELD_NUMBER: builtins.int
@@ -74,6 +91,8 @@ class Metric(google.protobuf.message.Message):
74
91
  HELP_FIELD_NUMBER: builtins.int
75
92
  LABEL_VISIBILITY_FIELD_NUMBER: builtins.int
76
93
  SHOW_BORDER_FIELD_NUMBER: builtins.int
94
+ CHART_DATA_FIELD_NUMBER: builtins.int
95
+ CHART_TYPE_FIELD_NUMBER: builtins.int
77
96
  label: builtins.str
78
97
  body: builtins.str
79
98
  delta: builtins.str
@@ -81,8 +100,11 @@ class Metric(google.protobuf.message.Message):
81
100
  color: global___Metric.MetricColor.ValueType
82
101
  help: builtins.str
83
102
  show_border: builtins.bool
103
+ chart_type: global___Metric.ChartType.ValueType
84
104
  @property
85
105
  def label_visibility(self) -> streamlit.proto.LabelVisibilityMessage_pb2.LabelVisibilityMessage: ...
106
+ @property
107
+ def chart_data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
86
108
  def __init__(
87
109
  self,
88
110
  *,
@@ -94,8 +116,10 @@ class Metric(google.protobuf.message.Message):
94
116
  help: builtins.str = ...,
95
117
  label_visibility: streamlit.proto.LabelVisibilityMessage_pb2.LabelVisibilityMessage | None = ...,
96
118
  show_border: builtins.bool = ...,
119
+ chart_data: collections.abc.Iterable[builtins.float] | None = ...,
120
+ chart_type: global___Metric.ChartType.ValueType = ...,
97
121
  ) -> None: ...
98
122
  def HasField(self, field_name: typing.Literal["label_visibility", b"label_visibility"]) -> builtins.bool: ...
99
- def ClearField(self, field_name: typing.Literal["body", b"body", "color", b"color", "delta", b"delta", "direction", b"direction", "help", b"help", "label", b"label", "label_visibility", b"label_visibility", "show_border", b"show_border"]) -> None: ...
123
+ def ClearField(self, field_name: typing.Literal["body", b"body", "chart_data", b"chart_data", "chart_type", b"chart_type", "color", b"color", "delta", b"delta", "direction", b"direction", "help", b"help", "label", b"label", "label_visibility", b"label_visibility", "show_border", b"show_border"]) -> None: ...
100
124
 
101
125
  global___Metric = Metric
@@ -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/Toast.proto\"#\n\x05Toast\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\x0c\n\x04icon\x18\x02 \x01(\tB*\n\x1c\x63om.snowflake.apps.streamlitB\nToastProtob\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Toast.proto\"G\n\x05Toast\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\x0c\n\x04icon\x18\x02 \x01(\t\x12\x15\n\x08\x64uration\x18\x03 \x01(\x05H\x00\x88\x01\x01\x42\x0b\n\t_durationB*\n\x1c\x63om.snowflake.apps.streamlitB\nToastProtob\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -23,5 +23,5 @@ 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\nToastProto'
25
25
  _globals['_TOAST']._serialized_start=31
26
- _globals['_TOAST']._serialized_end=66
26
+ _globals['_TOAST']._serialized_end=102
27
27
  # @@protoc_insertion_point(module_scope)
@@ -30,16 +30,25 @@ class Toast(google.protobuf.message.Message):
30
30
 
31
31
  BODY_FIELD_NUMBER: builtins.int
32
32
  ICON_FIELD_NUMBER: builtins.int
33
+ DURATION_FIELD_NUMBER: builtins.int
33
34
  body: builtins.str
34
35
  """Display message"""
35
36
  icon: builtins.str
36
37
  """Emoji"""
38
+ duration: builtins.int
39
+ """The time to display the toast message in seconds.
40
+ If not set, the toast will be displayed for 4 seconds. A value of 0
41
+ indicates that the toast should not be automatically dismissed.
42
+ """
37
43
  def __init__(
38
44
  self,
39
45
  *,
40
46
  body: builtins.str = ...,
41
47
  icon: builtins.str = ...,
48
+ duration: builtins.int | None = ...,
42
49
  ) -> None: ...
43
- def ClearField(self, field_name: typing.Literal["body", b"body", "icon", b"icon"]) -> None: ...
50
+ def HasField(self, field_name: typing.Literal["_duration", b"_duration", "duration", b"duration"]) -> builtins.bool: ...
51
+ def ClearField(self, field_name: typing.Literal["_duration", b"_duration", "body", b"body", "duration", b"duration", "icon", b"icon"]) -> None: ...
52
+ def WhichOneof(self, oneof_group: typing.Literal["_duration", b"_duration"]) -> typing.Literal["duration"] | None: ...
44
53
 
45
54
  global___Toast = Toast
@@ -32,6 +32,7 @@ from streamlit.runtime.caching.legacy_cache_api import cache as _cache
32
32
  if TYPE_CHECKING:
33
33
  from google.protobuf.message import Message
34
34
 
35
+ from streamlit.elements.lib.layout_utils import LayoutConfig
35
36
  from streamlit.proto.Block_pb2 import Block
36
37
 
37
38
 
@@ -41,16 +42,27 @@ def save_element_message(
41
42
  invoked_dg_id: str,
42
43
  used_dg_id: str,
43
44
  returned_dg_id: str,
45
+ layout_config: LayoutConfig | None = None,
44
46
  ) -> None:
45
47
  """Save the message for an element to a thread-local callstack, so it can
46
48
  be used later to replay the element when a cache-decorated function's
47
49
  execution is skipped.
48
50
  """
49
51
  CACHE_DATA_MESSAGE_REPLAY_CTX.save_element_message(
50
- delta_type, element_proto, invoked_dg_id, used_dg_id, returned_dg_id
52
+ delta_type,
53
+ element_proto,
54
+ invoked_dg_id,
55
+ used_dg_id,
56
+ returned_dg_id,
57
+ layout_config,
51
58
  )
52
59
  CACHE_RESOURCE_MESSAGE_REPLAY_CTX.save_element_message(
53
- delta_type, element_proto, invoked_dg_id, used_dg_id, returned_dg_id
60
+ delta_type,
61
+ element_proto,
62
+ invoked_dg_id,
63
+ used_dg_id,
64
+ returned_dg_id,
65
+ layout_config,
54
66
  )
55
67
 
56
68
 
@@ -47,7 +47,6 @@ from streamlit.runtime.caching.cached_message_replay import (
47
47
  CachedMessageReplayContext,
48
48
  CachedResult,
49
49
  MsgData,
50
- show_widget_replay_deprecation,
51
50
  )
52
51
  from streamlit.runtime.caching.storage import (
53
52
  CacheStorage,
@@ -358,7 +357,6 @@ class CacheDataAPI:
358
357
  show_spinner: bool | str = True,
359
358
  show_time: bool = False,
360
359
  persist: CachePersistType | bool = None,
361
- experimental_allow_widgets: bool = False,
362
360
  hash_funcs: HashFuncsDict | None = None,
363
361
  ) -> Callable[[Callable[P, R]], CachedFunc[P, R]]: ...
364
362
 
@@ -371,7 +369,6 @@ class CacheDataAPI:
371
369
  show_spinner: bool | str = True,
372
370
  show_time: bool = False,
373
371
  persist: CachePersistType | bool = None,
374
- experimental_allow_widgets: bool = False,
375
372
  hash_funcs: HashFuncsDict | None = None,
376
373
  ) -> CachedFunc[P, R] | Callable[[Callable[P, R]], CachedFunc[P, R]]:
377
374
  return self._decorator(
@@ -381,7 +378,6 @@ class CacheDataAPI:
381
378
  persist=persist,
382
379
  show_spinner=show_spinner,
383
380
  show_time=show_time,
384
- experimental_allow_widgets=experimental_allow_widgets,
385
381
  hash_funcs=hash_funcs,
386
382
  )
387
383
 
@@ -394,7 +390,6 @@ class CacheDataAPI:
394
390
  show_spinner: bool | str,
395
391
  show_time: bool = False,
396
392
  persist: CachePersistType | bool,
397
- experimental_allow_widgets: bool,
398
393
  hash_funcs: HashFuncsDict | None = None,
399
394
  ) -> CachedFunc[P, R] | Callable[[Callable[P, R]], CachedFunc[P, R]]:
400
395
  """Decorator to cache functions that return data (e.g. dataframe transforms, database queries, ML inference).
@@ -469,9 +464,6 @@ class CacheDataAPI:
469
464
  will persist the cached data to the local disk. None (or False) will disable
470
465
  persistence. The default is None.
471
466
 
472
- experimental_allow_widgets : bool
473
- Allow widgets to be used in the cached function. Defaults to False.
474
-
475
467
  hash_funcs : dict or None
476
468
  Mapping of types or fully qualified names to hash functions.
477
469
  This is used to override the behavior of the hasher inside Streamlit's
@@ -480,12 +472,6 @@ class CacheDataAPI:
480
472
  the provided function to generate a hash for it. See below for an example
481
473
  of how this can be used.
482
474
 
483
- .. deprecated::
484
- The cached widget replay functionality was removed in 1.38. Please
485
- remove the ``experimental_allow_widgets`` parameter from your
486
- caching decorators. This parameter will be removed in a future
487
- version.
488
-
489
475
  Example
490
476
  -------
491
477
  >>> import streamlit as st
@@ -590,9 +576,6 @@ class CacheDataAPI:
590
576
  f"Unsupported persist option '{persist}'. Valid values are 'disk' or None."
591
577
  )
592
578
 
593
- if experimental_allow_widgets:
594
- show_widget_replay_deprecation("cache_data")
595
-
596
579
  def wrapper(f: Callable[P, R]) -> CachedFunc[P, R]:
597
580
  return make_cached_func_wrapper(
598
581
  CachedDataFuncInfo(
@@ -46,7 +46,6 @@ from streamlit.runtime.caching.cached_message_replay import (
46
46
  CachedMessageReplayContext,
47
47
  CachedResult,
48
48
  MsgData,
49
- show_widget_replay_deprecation,
50
49
  )
51
50
  from streamlit.runtime.metrics_util import gather_metrics
52
51
  from streamlit.runtime.stats import CacheStat, CacheStatsProvider, group_stats
@@ -233,7 +232,6 @@ class CacheResourceAPI:
233
232
  show_spinner: bool | str = True,
234
233
  show_time: bool = False,
235
234
  validate: ValidateFunc | None = None,
236
- experimental_allow_widgets: bool = False,
237
235
  hash_funcs: HashFuncsDict | None = None,
238
236
  ) -> Callable[[Callable[P, R]], CachedFunc[P, R]]: ...
239
237
 
@@ -246,7 +244,6 @@ class CacheResourceAPI:
246
244
  show_spinner: bool | str = True,
247
245
  show_time: bool = False,
248
246
  validate: ValidateFunc | None = None,
249
- experimental_allow_widgets: bool = False,
250
247
  hash_funcs: HashFuncsDict | None = None,
251
248
  ) -> CachedFunc[P, R] | Callable[[Callable[P, R]], CachedFunc[P, R]]:
252
249
  return self._decorator(
@@ -256,7 +253,6 @@ class CacheResourceAPI:
256
253
  show_spinner=show_spinner,
257
254
  show_time=show_time,
258
255
  validate=validate,
259
- experimental_allow_widgets=experimental_allow_widgets,
260
256
  hash_funcs=hash_funcs,
261
257
  )
262
258
 
@@ -269,7 +265,6 @@ class CacheResourceAPI:
269
265
  show_spinner: bool | str,
270
266
  show_time: bool = False,
271
267
  validate: ValidateFunc | None,
272
- experimental_allow_widgets: bool,
273
268
  hash_funcs: HashFuncsDict | None = None,
274
269
  ) -> CachedFunc[P, R] | Callable[[Callable[P, R]], CachedFunc[P, R]]:
275
270
  """Decorator to cache functions that return global resources (e.g. database connections, ML models).
@@ -355,9 +350,6 @@ class CacheResourceAPI:
355
350
  is called to compute a new value. This is useful e.g. to check the
356
351
  health of database connections.
357
352
 
358
- experimental_allow_widgets : bool
359
- Allow widgets to be used in the cached function. Defaults to False.
360
-
361
353
  hash_funcs : dict or None
362
354
  Mapping of types or fully qualified names to hash functions.
363
355
  This is used to override the behavior of the hasher inside Streamlit's
@@ -366,12 +358,6 @@ class CacheResourceAPI:
366
358
  the provided function to generate a hash for it. See below for an example
367
359
  of how this can be used.
368
360
 
369
- .. deprecated::
370
- The cached widget replay functionality was removed in 1.38. Please
371
- remove the ``experimental_allow_widgets`` parameter from your
372
- caching decorators. This parameter will be removed in a future
373
- version.
374
-
375
361
  Example
376
362
  -------
377
363
  >>> import streamlit as st
@@ -454,8 +440,6 @@ class CacheResourceAPI:
454
440
  ... def get_person_name(person: Person):
455
441
  ... return person.name
456
442
  """
457
- if experimental_allow_widgets:
458
- show_widget_replay_deprecation("cache_resource")
459
443
 
460
444
  # Support passing the params via function decorator, e.g.
461
445
  # @st.cache_resource(show_spinner=False)