streamlit-nightly 1.53.2.dev20260202__py3-none-any.whl → 1.54.1.dev20260204__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 (141) hide show
  1. streamlit/commands/logo.py +6 -10
  2. streamlit/components/v2/component_path_utils.py +17 -29
  3. streamlit/config.py +4 -2
  4. streamlit/elements/arrow.py +66 -26
  5. streamlit/elements/lib/built_in_chart_utils.py +1 -1
  6. streamlit/elements/lib/column_config_utils.py +4 -4
  7. streamlit/elements/lib/options_selector_utils.py +4 -0
  8. streamlit/elements/lib/pandas_styler_utils.py +22 -22
  9. streamlit/elements/widgets/button_group.py +221 -86
  10. streamlit/elements/widgets/data_editor.py +9 -9
  11. streamlit/elements/widgets/radio.py +8 -4
  12. streamlit/hello/dataframe_demo.py +1 -1
  13. streamlit/path_security.py +98 -0
  14. streamlit/proto/ArrowData_pb2.py +5 -3
  15. streamlit/proto/ArrowData_pb2.pyi +44 -4
  16. streamlit/proto/ArrowNamedDataSet_pb2.py +4 -4
  17. streamlit/proto/ArrowNamedDataSet_pb2.pyi +3 -3
  18. streamlit/proto/ArrowVegaLiteChart_pb2.py +4 -4
  19. streamlit/proto/ArrowVegaLiteChart_pb2.pyi +3 -3
  20. streamlit/proto/ButtonGroup_pb2.py +8 -8
  21. streamlit/proto/ButtonGroup_pb2.pyi +9 -7
  22. streamlit/proto/Dataframe_pb2.py +31 -0
  23. streamlit/proto/{Arrow_pb2.pyi → Dataframe_pb2.pyi} +39 -102
  24. streamlit/proto/Element_pb2.py +5 -4
  25. streamlit/proto/Element_pb2.pyi +11 -10
  26. streamlit/proto/Table_pb2.py +29 -0
  27. streamlit/proto/Table_pb2.pyi +83 -0
  28. streamlit/runtime/app_session.py +9 -1
  29. streamlit/static/index.html +1 -1
  30. streamlit/static/manifest.json +307 -307
  31. streamlit/static/static/js/{ErrorOutline.esm.CLuz0rSD.js → ErrorOutline.esm.DWBqsdHn.js} +1 -1
  32. streamlit/static/static/js/{FileDownload.esm.CO68LcnZ.js → FileDownload.esm.D5koxJhf.js} +1 -1
  33. streamlit/static/static/js/{FileHelper.DAXgY6Ug.js → FileHelper.kJKftfu4.js} +5 -5
  34. streamlit/static/static/js/{FormClearHelper.zxJ53Nym.js → FormClearHelper.CyGGPn10.js} +1 -1
  35. streamlit/static/static/js/{InputInstructions.CCbg8esE.js → InputInstructions.oezYb8Lm.js} +1 -1
  36. streamlit/static/static/js/{Particles.BJw0A-zv.js → Particles.BIpBmEwi.js} +1 -1
  37. streamlit/static/static/js/{ProgressBar.BrrHeAEh.js → ProgressBar.BRAS_FJc.js} +1 -1
  38. streamlit/static/static/js/{StreamlitSyntaxHighlighter.DvPLy3zk.js → StreamlitSyntaxHighlighter.c2qcx-xG.js} +2 -2
  39. streamlit/static/static/js/{TableChart.esm.BawvAi5p.js → TableChart.esm.BuemQLVW.js} +1 -1
  40. streamlit/static/static/js/{Toolbar.CbpscbNb.js → Toolbar.mUe2Nmta.js} +1 -1
  41. streamlit/static/static/js/{WidgetLabelHelpIconInline.DA4S2HFP.js → WidgetLabelHelpIconInline.if89y2mu.js} +1 -1
  42. streamlit/static/static/js/{base-input.BKKl2eBF.js → base-input.AJ4KxBTh.js} +4 -4
  43. streamlit/static/static/js/{checkbox.CB43AKV4.js → checkbox.GY4JoJkM.js} +1 -1
  44. streamlit/static/static/js/{createDownloadLinkElement.jVwF96ey.js → createDownloadLinkElement.BWJh90jh.js} +1 -1
  45. streamlit/static/static/js/{data-grid-overlay-editor.CxQizSv7.js → data-grid-overlay-editor.C9AINtRf.js} +1 -1
  46. streamlit/static/static/js/{downloader.CKlIgsy5.js → downloader.BZY8OE4f.js} +1 -1
  47. streamlit/static/static/js/{embed.BhRb_2n8.js → embed.BjO7Ez0y.js} +1 -1
  48. streamlit/static/static/js/{es6.DPyfPmWm.js → es6.eb5oR8iN.js} +2 -2
  49. streamlit/static/static/js/{formatNumber.DtfMnnPx.js → formatNumber.CCeQsvJQ.js} +1 -1
  50. streamlit/static/static/js/{iconPosition.DkZAlu_k.js → iconPosition.D6eEnKvO.js} +1 -1
  51. streamlit/static/static/js/{iframeResizer.contentWindow.l5sQWLra.js → iframeResizer.contentWindow.DTsWJRTo.js} +1 -1
  52. streamlit/static/static/js/{index.rvbQETlC.js → index.B6l4FdUv.js} +1 -1
  53. streamlit/static/static/js/{index.BUlT_mOL.js → index.B7H2q9vo.js} +2 -2
  54. streamlit/static/static/js/{index.CsIENsKH.js → index.BDdmrM58.js} +1 -1
  55. streamlit/static/static/js/{index.e6Ry6-Ft.js → index.BMbQnwRD.js} +1 -1
  56. streamlit/static/static/js/{index.CL_icBXS.js → index.BQ5MOzHu.js} +1 -1
  57. streamlit/static/static/js/{index.Ccye_uLl.js → index.BSgo_bkv.js} +1 -1
  58. streamlit/static/static/js/{index.LjqoQCm5.js → index.BU5M9DsN.js} +1 -1
  59. streamlit/static/static/js/{index.Bc_FQ4Wb.js → index.BYIxnU34.js} +1 -1
  60. streamlit/static/static/js/{index.y0h42OXL.js → index.BZL2hIBz.js} +1 -1
  61. streamlit/static/static/js/{index.Dac9Jib-.js → index.BZVrJlnq.js} +1 -1
  62. streamlit/static/static/js/{index.BLD3tJ2C.js → index.Bd7QK46M.js} +1 -1
  63. streamlit/static/static/js/{index.Ck64OQhV.js → index.BfHA_i34.js} +1 -1
  64. streamlit/static/static/js/{index.BpCj2-sQ.js → index.Bgry-Ek_.js} +1 -1
  65. streamlit/static/static/js/{index.D83azq2w.js → index.Bi25zaXA.js} +1 -1
  66. streamlit/static/static/js/{index.Cwg8nWw5.js → index.Bj3M1xBC.js} +1 -1
  67. streamlit/static/static/js/{index.DmWUXdjc.js → index.Bjrvlqx5.js} +16 -16
  68. streamlit/static/static/js/index.BnOSeM5K.js +11 -0
  69. streamlit/static/static/js/index.BoL6J1jK.js +2 -0
  70. streamlit/static/static/js/{index.yHLCvUGh.js → index.BoORyxOa.js} +1 -1
  71. streamlit/static/static/js/{index.DiBeetOH.js → index.Bpd7GPeH.js} +1 -1
  72. streamlit/static/static/js/{index.BzO83wKm.js → index.BpeJX018.js} +1 -1
  73. streamlit/static/static/js/{index.C_19KWNs.js → index.BriH7JVk.js} +1 -1
  74. streamlit/static/static/js/{index.DjuMEZ6m.js → index.BwkeObMo.js} +1 -1
  75. streamlit/static/static/js/{index.CiS4giQ2.js → index.C0o85qmd.js} +1 -1
  76. streamlit/static/static/js/{index.L9pOjBEn.js → index.C7_wNJTH.js} +2 -2
  77. streamlit/static/static/js/{index.DzdPUxsx.js → index.CGZP_w9b.js} +1 -1
  78. streamlit/static/static/js/{index.DKoJr0Se.js → index.CGw52-0-.js} +1 -1
  79. streamlit/static/static/js/{index.6J1N4is3.js → index.CUvtJj0a.js} +1 -1
  80. streamlit/static/static/js/{index.CBbYMKZp.js → index.Cfx1ZHWt.js} +1 -1
  81. streamlit/static/static/js/{index.BAK0CG1Q.js → index.Chl2kALe.js} +1 -1
  82. streamlit/static/static/js/index.Crlx_wdE.js +1 -0
  83. streamlit/static/static/js/{index.WIMtx3m0.js → index.D9A-8ebQ.js} +1 -1
  84. streamlit/static/static/js/{index.y5HxPwg9.js → index.DBIoNOen.js} +21 -21
  85. streamlit/static/static/js/{index.AZ9T4EqJ.js → index.DMKTAe4F.js} +1 -1
  86. streamlit/static/static/js/{index.YutgmD9x.js → index.DNrpqKVt.js} +2 -2
  87. streamlit/static/static/js/{index.Y9wPTZIf.js → index.DSRvF_8e.js} +1 -1
  88. streamlit/static/static/js/{index.DZOGT9vX.js → index.DhB1m_xG.js} +1 -1
  89. streamlit/static/static/js/{index.DR6V0uBJ.js → index.DiES30vM.js} +1 -1
  90. streamlit/static/static/js/{index.CmbqbRMZ.js → index.DlJ4Y1xc.js} +1 -1
  91. streamlit/static/static/js/{index.FioS1Y9m.js → index.J61yByUR.js} +1 -1
  92. streamlit/static/static/js/{index.hnu9U-5g.js → index.JxDTXE8N.js} +1 -1
  93. streamlit/static/static/js/{index.CaU3Uv_L.js → index.KGr28TP8.js} +1 -1
  94. streamlit/static/static/js/{index.465nmxtO.js → index.Pgm3rRpH.js} +1 -1
  95. streamlit/static/static/js/{index.DpSc4e1j.js → index.XzcYOc9I.js} +1 -1
  96. streamlit/static/static/js/{index.OizPL4jg.js → index.Z_u7ZS4h.js} +1 -1
  97. streamlit/static/static/js/{index.CL7it7tU.js → index.hDg7x0Tp.js} +1 -1
  98. streamlit/static/static/js/{index.b_f-McZ5.js → index.k7p0hmaU.js} +1 -1
  99. streamlit/static/static/js/{index.CsEZTo6L.js → index.syoxWolF.js} +1 -1
  100. streamlit/static/static/js/{index.Q2t_iBn0.js → index.xZ651bTg.js} +1 -1
  101. streamlit/static/static/js/{input.CAtwSQ27.js → input.C-PwAMG6.js} +1 -1
  102. streamlit/static/static/js/{main.VeMVx6VI.js → main.fMmyxXOf.js} +1 -1
  103. streamlit/static/static/js/{memory.CxS_lIUn.js → memory.BG__eDEj.js} +1 -1
  104. streamlit/static/static/js/{number-overlay-editor.CoqRgZW_.js → number-overlay-editor.C0n-91sR.js} +1 -1
  105. streamlit/static/static/js/{pandasStylerUtils.DGWgd5sM.js → pandasStylerUtils.BqWaUzvh.js} +1 -1
  106. streamlit/static/static/js/{sandbox.2mSqEau0.js → sandbox.CHhc-txg.js} +1 -1
  107. streamlit/static/static/js/{sprintfjs.CsoVVZ9k.js → sprintfjs.BlFBKfMf.js} +1 -1
  108. streamlit/static/static/js/{styled-components.BShfh7J8.js → styled-components.D5uOQqN2.js} +1 -1
  109. streamlit/static/static/js/{throttle.Fq1DQK4p.js → throttle.DlZC3xNA.js} +1 -1
  110. streamlit/static/static/js/{timepicker.DmyY-qtn.js → timepicker._TfRUaDL.js} +4 -4
  111. streamlit/static/static/js/{toConsumableArray.Dvd9AIqV.js → toConsumableArray.CZW4AmuW.js} +2 -2
  112. streamlit/static/static/js/uniqueId.CTTDAAaF.js +1 -0
  113. streamlit/static/static/js/useBasicWidgetState.Bx27912z.js +1 -0
  114. streamlit/static/static/js/{useIntlLocale.kdIj0ego.js → useIntlLocale.DsOvysl7.js} +1 -1
  115. streamlit/static/static/js/{useTextInputAutoExpand.DkuG1C1S.js → useTextInputAutoExpand.C9g8px1W.js} +1 -1
  116. streamlit/static/static/js/{useUpdateUiValue.-UI_JsjT.js → useUpdateUiValue.fF-Cntkp.js} +1 -1
  117. streamlit/static/static/js/{useWaveformController.C5PTwL6I.js → useWaveformController.C5EtFoJE.js} +1 -1
  118. streamlit/static/static/js/{withCalculatedWidth.BREyS0pJ.js → withCalculatedWidth.CcvaXQb0.js} +1 -1
  119. streamlit/static/static/js/{withFullScreenWrapper.DYDiEOrW.js → withFullScreenWrapper.DP61hzLF.js} +1 -1
  120. streamlit/testing/v1/element_tree.py +20 -15
  121. streamlit/web/server/app_static_file_handler.py +9 -0
  122. streamlit/web/server/bidi_component_request_handler.py +4 -4
  123. streamlit/web/server/component_file_utils.py +14 -6
  124. streamlit/web/server/component_request_handler.py +2 -2
  125. streamlit/web/server/routes.py +14 -0
  126. streamlit/web/server/server.py +4 -0
  127. streamlit/web/server/starlette/starlette_app.py +7 -1
  128. streamlit/web/server/starlette/starlette_path_security_middleware.py +97 -0
  129. streamlit/web/server/starlette/starlette_routes.py +6 -3
  130. streamlit/web/server/starlette/starlette_static_routes.py +14 -4
  131. {streamlit_nightly-1.53.2.dev20260202.dist-info → streamlit_nightly-1.54.1.dev20260204.dist-info}/METADATA +1 -1
  132. {streamlit_nightly-1.53.2.dev20260202.dist-info → streamlit_nightly-1.54.1.dev20260204.dist-info}/RECORD +135 -131
  133. streamlit/proto/Arrow_pb2.py +0 -34
  134. streamlit/static/static/js/index.CAoX2tlo.js +0 -2
  135. streamlit/static/static/js/index.DDr-BLbJ.js +0 -1
  136. streamlit/static/static/js/index.DL_ywOgf.js +0 -11
  137. streamlit/static/static/js/uniqueId.CCajdEK8.js +0 -1
  138. streamlit/static/static/js/useBasicWidgetState.COLQ5AFB.js +0 -1
  139. {streamlit_nightly-1.53.2.dev20260202.dist-info → streamlit_nightly-1.54.1.dev20260204.dist-info}/WHEEL +0 -0
  140. {streamlit_nightly-1.53.2.dev20260202.dist-info → streamlit_nightly-1.54.1.dev20260204.dist-info}/entry_points.txt +0 -0
  141. {streamlit_nightly-1.53.2.dev20260202.dist-info → streamlit_nightly-1.54.1.dev20260204.dist-info}/top_level.txt +0 -0
@@ -21,7 +21,6 @@ from google.protobuf import descriptor as _descriptor
21
21
  from google.protobuf import message as _message
22
22
  from streamlit.proto import Alert_pb2 as _Alert_pb2
23
23
  from streamlit.proto import ArrowVegaLiteChart_pb2 as _ArrowVegaLiteChart_pb2
24
- from streamlit.proto import Arrow_pb2 as _Arrow_pb2
25
24
  from streamlit.proto import AudioInput_pb2 as _AudioInput_pb2
26
25
  from streamlit.proto import Audio_pb2 as _Audio_pb2
27
26
  from streamlit.proto import Balloons_pb2 as _Balloons_pb2
@@ -34,6 +33,7 @@ from streamlit.proto import Checkbox_pb2 as _Checkbox_pb2
34
33
  from streamlit.proto import Code_pb2 as _Code_pb2
35
34
  from streamlit.proto import ColorPicker_pb2 as _ColorPicker_pb2
36
35
  from streamlit.proto import Components_pb2 as _Components_pb2
36
+ from streamlit.proto import Dataframe_pb2 as _Dataframe_pb2
37
37
  from streamlit.proto import DateInput_pb2 as _DateInput_pb2
38
38
  from streamlit.proto import DateTimeInput_pb2 as _DateTimeInput_pb2
39
39
  from streamlit.proto import DeckGlJsonChart_pb2 as _DeckGlJsonChart_pb2
@@ -66,6 +66,7 @@ from streamlit.proto import Slider_pb2 as _Slider_pb2
66
66
  from streamlit.proto import Snow_pb2 as _Snow_pb2
67
67
  from streamlit.proto import Space_pb2 as _Space_pb2
68
68
  from streamlit.proto import Spinner_pb2 as _Spinner_pb2
69
+ from streamlit.proto import Table_pb2 as _Table_pb2
69
70
  from streamlit.proto import TextAlignmentConfig_pb2 as _TextAlignmentConfig_pb2
70
71
  from streamlit.proto import TextArea_pb2 as _TextArea_pb2
71
72
  from streamlit.proto import TextInput_pb2 as _TextInput_pb2
@@ -95,8 +96,8 @@ class Element(_message.Message):
95
96
  WIDTH_CONFIG_FIELD_NUMBER: _builtins.int
96
97
  TEXT_ALIGNMENT_CONFIG_FIELD_NUMBER: _builtins.int
97
98
  ALERT_FIELD_NUMBER: _builtins.int
98
- ARROW_DATA_FRAME_FIELD_NUMBER: _builtins.int
99
- ARROW_TABLE_FIELD_NUMBER: _builtins.int
99
+ DATAFRAME_FIELD_NUMBER: _builtins.int
100
+ TABLE_FIELD_NUMBER: _builtins.int
100
101
  ARROW_VEGA_LITE_CHART_FIELD_NUMBER: _builtins.int
101
102
  AUDIO_FIELD_NUMBER: _builtins.int
102
103
  AUDIO_INPUT_FIELD_NUMBER: _builtins.int
@@ -158,9 +159,9 @@ class Element(_message.Message):
158
159
  @_builtins.property
159
160
  def alert(self) -> _Alert_pb2.Alert: ...
160
161
  @_builtins.property
161
- def arrow_data_frame(self) -> _Arrow_pb2.Arrow: ...
162
+ def dataframe(self) -> _Dataframe_pb2.Dataframe: ...
162
163
  @_builtins.property
163
- def arrow_table(self) -> _Arrow_pb2.Arrow: ...
164
+ def table(self) -> _Table_pb2.Table: ...
164
165
  @_builtins.property
165
166
  def arrow_vega_lite_chart(self) -> _ArrowVegaLiteChart_pb2.ArrowVegaLiteChart: ...
166
167
  @_builtins.property
@@ -270,8 +271,8 @@ class Element(_message.Message):
270
271
  width_config: _WidthConfig_pb2.WidthConfig | None = ...,
271
272
  text_alignment_config: _TextAlignmentConfig_pb2.TextAlignmentConfig | None = ...,
272
273
  alert: _Alert_pb2.Alert | None = ...,
273
- arrow_data_frame: _Arrow_pb2.Arrow | None = ...,
274
- arrow_table: _Arrow_pb2.Arrow | None = ...,
274
+ dataframe: _Dataframe_pb2.Dataframe | None = ...,
275
+ table: _Table_pb2.Table | None = ...,
275
276
  arrow_vega_lite_chart: _ArrowVegaLiteChart_pb2.ArrowVegaLiteChart | None = ...,
276
277
  audio: _Audio_pb2.Audio | None = ...,
277
278
  audio_input: _AudioInput_pb2.AudioInput | None = ...,
@@ -323,9 +324,9 @@ class Element(_message.Message):
323
324
  heading: _Heading_pb2.Heading | None = ...,
324
325
  code: _Code_pb2.Code | None = ...,
325
326
  ) -> None: ...
326
- _HasFieldArgType: _TypeAlias = _typing.Literal["_height_config", b"_height_config", "_text_alignment_config", b"_text_alignment_config", "_width_config", b"_width_config", "alert", b"alert", "arrow_data_frame", b"arrow_data_frame", "arrow_table", b"arrow_table", "arrow_vega_lite_chart", b"arrow_vega_lite_chart", "audio", b"audio", "audio_input", b"audio_input", "balloons", b"balloons", "bidi_component", b"bidi_component", "button", b"button", "button_group", b"button_group", "camera_input", b"camera_input", "chat_input", b"chat_input", "checkbox", b"checkbox", "code", b"code", "color_picker", b"color_picker", "component_instance", b"component_instance", "date_input", b"date_input", "date_time_input", b"date_time_input", "deck_gl_json_chart", b"deck_gl_json_chart", "doc_string", b"doc_string", "download_button", b"download_button", "empty", b"empty", "exception", b"exception", "favicon", b"favicon", "feedback", b"feedback", "file_uploader", b"file_uploader", "graphviz_chart", b"graphviz_chart", "heading", b"heading", "height_config", b"height_config", "html", b"html", "iframe", b"iframe", "imgs", b"imgs", "json", b"json", "link_button", b"link_button", "markdown", b"markdown", "metric", b"metric", "multiselect", b"multiselect", "number_input", b"number_input", "page_link", b"page_link", "plotly_chart", b"plotly_chart", "progress", b"progress", "radio", b"radio", "selectbox", b"selectbox", "skeleton", b"skeleton", "slider", b"slider", "snow", b"snow", "space", b"space", "spinner", b"spinner", "text", b"text", "text_alignment_config", b"text_alignment_config", "text_area", b"text_area", "text_input", b"text_input", "time_input", b"time_input", "toast", b"toast", "type", b"type", "video", b"video", "width_config", b"width_config"] # noqa: Y015
327
+ _HasFieldArgType: _TypeAlias = _typing.Literal["_height_config", b"_height_config", "_text_alignment_config", b"_text_alignment_config", "_width_config", b"_width_config", "alert", b"alert", "arrow_vega_lite_chart", b"arrow_vega_lite_chart", "audio", b"audio", "audio_input", b"audio_input", "balloons", b"balloons", "bidi_component", b"bidi_component", "button", b"button", "button_group", b"button_group", "camera_input", b"camera_input", "chat_input", b"chat_input", "checkbox", b"checkbox", "code", b"code", "color_picker", b"color_picker", "component_instance", b"component_instance", "dataframe", b"dataframe", "date_input", b"date_input", "date_time_input", b"date_time_input", "deck_gl_json_chart", b"deck_gl_json_chart", "doc_string", b"doc_string", "download_button", b"download_button", "empty", b"empty", "exception", b"exception", "favicon", b"favicon", "feedback", b"feedback", "file_uploader", b"file_uploader", "graphviz_chart", b"graphviz_chart", "heading", b"heading", "height_config", b"height_config", "html", b"html", "iframe", b"iframe", "imgs", b"imgs", "json", b"json", "link_button", b"link_button", "markdown", b"markdown", "metric", b"metric", "multiselect", b"multiselect", "number_input", b"number_input", "page_link", b"page_link", "plotly_chart", b"plotly_chart", "progress", b"progress", "radio", b"radio", "selectbox", b"selectbox", "skeleton", b"skeleton", "slider", b"slider", "snow", b"snow", "space", b"space", "spinner", b"spinner", "table", b"table", "text", b"text", "text_alignment_config", b"text_alignment_config", "text_area", b"text_area", "text_input", b"text_input", "time_input", b"time_input", "toast", b"toast", "type", b"type", "video", b"video", "width_config", b"width_config"] # noqa: Y015
327
328
  def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
328
- _ClearFieldArgType: _TypeAlias = _typing.Literal["_height_config", b"_height_config", "_text_alignment_config", b"_text_alignment_config", "_width_config", b"_width_config", "alert", b"alert", "arrow_data_frame", b"arrow_data_frame", "arrow_table", b"arrow_table", "arrow_vega_lite_chart", b"arrow_vega_lite_chart", "audio", b"audio", "audio_input", b"audio_input", "balloons", b"balloons", "bidi_component", b"bidi_component", "button", b"button", "button_group", b"button_group", "camera_input", b"camera_input", "chat_input", b"chat_input", "checkbox", b"checkbox", "code", b"code", "color_picker", b"color_picker", "component_instance", b"component_instance", "date_input", b"date_input", "date_time_input", b"date_time_input", "deck_gl_json_chart", b"deck_gl_json_chart", "doc_string", b"doc_string", "download_button", b"download_button", "empty", b"empty", "exception", b"exception", "favicon", b"favicon", "feedback", b"feedback", "file_uploader", b"file_uploader", "graphviz_chart", b"graphviz_chart", "heading", b"heading", "height_config", b"height_config", "html", b"html", "iframe", b"iframe", "imgs", b"imgs", "json", b"json", "link_button", b"link_button", "markdown", b"markdown", "metric", b"metric", "multiselect", b"multiselect", "number_input", b"number_input", "page_link", b"page_link", "plotly_chart", b"plotly_chart", "progress", b"progress", "radio", b"radio", "selectbox", b"selectbox", "skeleton", b"skeleton", "slider", b"slider", "snow", b"snow", "space", b"space", "spinner", b"spinner", "text", b"text", "text_alignment_config", b"text_alignment_config", "text_area", b"text_area", "text_input", b"text_input", "time_input", b"time_input", "toast", b"toast", "type", b"type", "video", b"video", "width_config", b"width_config"] # noqa: Y015
329
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["_height_config", b"_height_config", "_text_alignment_config", b"_text_alignment_config", "_width_config", b"_width_config", "alert", b"alert", "arrow_vega_lite_chart", b"arrow_vega_lite_chart", "audio", b"audio", "audio_input", b"audio_input", "balloons", b"balloons", "bidi_component", b"bidi_component", "button", b"button", "button_group", b"button_group", "camera_input", b"camera_input", "chat_input", b"chat_input", "checkbox", b"checkbox", "code", b"code", "color_picker", b"color_picker", "component_instance", b"component_instance", "dataframe", b"dataframe", "date_input", b"date_input", "date_time_input", b"date_time_input", "deck_gl_json_chart", b"deck_gl_json_chart", "doc_string", b"doc_string", "download_button", b"download_button", "empty", b"empty", "exception", b"exception", "favicon", b"favicon", "feedback", b"feedback", "file_uploader", b"file_uploader", "graphviz_chart", b"graphviz_chart", "heading", b"heading", "height_config", b"height_config", "html", b"html", "iframe", b"iframe", "imgs", b"imgs", "json", b"json", "link_button", b"link_button", "markdown", b"markdown", "metric", b"metric", "multiselect", b"multiselect", "number_input", b"number_input", "page_link", b"page_link", "plotly_chart", b"plotly_chart", "progress", b"progress", "radio", b"radio", "selectbox", b"selectbox", "skeleton", b"skeleton", "slider", b"slider", "snow", b"snow", "space", b"space", "spinner", b"spinner", "table", b"table", "text", b"text", "text_alignment_config", b"text_alignment_config", "text_area", b"text_area", "text_input", b"text_input", "time_input", b"time_input", "toast", b"toast", "type", b"type", "video", b"video", "width_config", b"width_config"] # noqa: Y015
329
330
  def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
330
331
  _WhichOneofReturnType__height_config: _TypeAlias = _typing.Literal["height_config"] # noqa: Y015
331
332
  _WhichOneofArgType__height_config: _TypeAlias = _typing.Literal["_height_config", b"_height_config"] # noqa: Y015
@@ -333,7 +334,7 @@ class Element(_message.Message):
333
334
  _WhichOneofArgType__text_alignment_config: _TypeAlias = _typing.Literal["_text_alignment_config", b"_text_alignment_config"] # noqa: Y015
334
335
  _WhichOneofReturnType__width_config: _TypeAlias = _typing.Literal["width_config"] # noqa: Y015
335
336
  _WhichOneofArgType__width_config: _TypeAlias = _typing.Literal["_width_config", b"_width_config"] # noqa: Y015
336
- _WhichOneofReturnType_type: _TypeAlias = _typing.Literal["alert", "arrow_data_frame", "arrow_table", "arrow_vega_lite_chart", "audio", "audio_input", "balloons", "bidi_component", "button", "button_group", "download_button", "camera_input", "chat_input", "checkbox", "color_picker", "component_instance", "date_input", "deck_gl_json_chart", "doc_string", "empty", "exception", "favicon", "feedback", "file_uploader", "graphviz_chart", "html", "iframe", "imgs", "json", "link_button", "markdown", "metric", "multiselect", "number_input", "page_link", "plotly_chart", "progress", "radio", "selectbox", "skeleton", "slider", "snow", "space", "spinner", "text", "text_area", "text_input", "time_input", "date_time_input", "toast", "video", "heading", "code"] # noqa: Y015
337
+ _WhichOneofReturnType_type: _TypeAlias = _typing.Literal["alert", "dataframe", "table", "arrow_vega_lite_chart", "audio", "audio_input", "balloons", "bidi_component", "button", "button_group", "download_button", "camera_input", "chat_input", "checkbox", "color_picker", "component_instance", "date_input", "deck_gl_json_chart", "doc_string", "empty", "exception", "favicon", "feedback", "file_uploader", "graphviz_chart", "html", "iframe", "imgs", "json", "link_button", "markdown", "metric", "multiselect", "number_input", "page_link", "plotly_chart", "progress", "radio", "selectbox", "skeleton", "slider", "snow", "space", "spinner", "text", "text_area", "text_input", "time_input", "date_time_input", "toast", "video", "heading", "code"] # noqa: Y015
337
338
  _WhichOneofArgType_type: _TypeAlias = _typing.Literal["type", b"type"] # noqa: Y015
338
339
  @_typing.overload
339
340
  def WhichOneof(self, oneof_group: _WhichOneofArgType__height_config) -> _WhichOneofReturnType__height_config | None: ...
@@ -0,0 +1,29 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: streamlit/proto/Table.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from streamlit.proto import ArrowData_pb2 as streamlit_dot_proto_dot_ArrowData__pb2
16
+
17
+
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Table.proto\x1a\x1fstreamlit/proto/ArrowData.proto\"\x80\x01\n\x05Table\x12\x1e\n\narrow_data\x18\x01 \x01(\x0b\x32\n.ArrowData\x12&\n\x0b\x62order_mode\x18\x02 \x01(\x0e\x32\x11.Table.BorderMode\"/\n\nBorderMode\x12\x07\n\x03\x41LL\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x0e\n\nHORIZONTAL\x10\x02\x62\x06proto3')
19
+
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Table_pb2', _globals)
23
+ if not _descriptor._USE_C_DESCRIPTORS:
24
+ DESCRIPTOR._loaded_options = None
25
+ _globals['_TABLE']._serialized_start=65
26
+ _globals['_TABLE']._serialized_end=193
27
+ _globals['_TABLE_BORDERMODE']._serialized_start=146
28
+ _globals['_TABLE_BORDERMODE']._serialized_end=193
29
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,83 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ *!
5
+ Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026)
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ """
19
+
20
+ from google.protobuf import descriptor as _descriptor
21
+ from google.protobuf import message as _message
22
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
23
+ from streamlit.proto import ArrowData_pb2 as _ArrowData_pb2
24
+ import builtins as _builtins
25
+ import sys
26
+ import typing as _typing
27
+
28
+ if sys.version_info >= (3, 10):
29
+ from typing import TypeAlias as _TypeAlias
30
+ else:
31
+ from typing_extensions import TypeAlias as _TypeAlias
32
+
33
+ DESCRIPTOR: _descriptor.FileDescriptor
34
+
35
+ @_typing.final
36
+ class Table(_message.Message):
37
+ """Proto message for st.table element."""
38
+
39
+ DESCRIPTOR: _descriptor.Descriptor
40
+
41
+ class _BorderMode:
42
+ ValueType = _typing.NewType("ValueType", _builtins.int)
43
+ V: _TypeAlias = ValueType # noqa: Y015
44
+
45
+ class _BorderModeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[Table._BorderMode.ValueType], _builtins.type):
46
+ DESCRIPTOR: _descriptor.EnumDescriptor
47
+ ALL: Table._BorderMode.ValueType # 0
48
+ """Show borders around the table and between cells."""
49
+ NONE: Table._BorderMode.ValueType # 1
50
+ """Show no borders."""
51
+ HORIZONTAL: Table._BorderMode.ValueType # 2
52
+ """Show only horizontal borders between rows."""
53
+
54
+ class BorderMode(_BorderMode, metaclass=_BorderModeEnumTypeWrapper):
55
+ """Available border modes:"""
56
+
57
+ ALL: Table.BorderMode.ValueType # 0
58
+ """Show borders around the table and between cells."""
59
+ NONE: Table.BorderMode.ValueType # 1
60
+ """Show no borders."""
61
+ HORIZONTAL: Table.BorderMode.ValueType # 2
62
+ """Show only horizontal borders between rows."""
63
+
64
+ ARROW_DATA_FIELD_NUMBER: _builtins.int
65
+ BORDER_MODE_FIELD_NUMBER: _builtins.int
66
+ border_mode: Global___Table.BorderMode.ValueType
67
+ """How to show borders around the table and between cells."""
68
+ @_builtins.property
69
+ def arrow_data(self) -> _ArrowData_pb2.ArrowData:
70
+ """The Arrow data to display"""
71
+
72
+ def __init__(
73
+ self,
74
+ *,
75
+ arrow_data: _ArrowData_pb2.ArrowData | None = ...,
76
+ border_mode: Global___Table.BorderMode.ValueType = ...,
77
+ ) -> None: ...
78
+ _HasFieldArgType: _TypeAlias = _typing.Literal["arrow_data", b"arrow_data"] # noqa: Y015
79
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
80
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["arrow_data", b"arrow_data", "border_mode", b"border_mode"] # noqa: Y015
81
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
82
+
83
+ Global___Table: _TypeAlias = Table # noqa: Y015
@@ -1009,13 +1009,21 @@ def _get_toolbar_mode() -> Config.ToolbarMode.ValueType:
1009
1009
 
1010
1010
  def _get_show_error_links() -> Config.ShowErrorLinks.ValueType:
1011
1011
  config_key = "client.showErrorLinks"
1012
+ config_value = config.get_option(config_key)
1013
+
1014
+ # Handle boolean values (from st.set_option or programmatic setting)
1015
+ if config_value is True:
1016
+ return Config.ShowErrorLinks.SHOW_ERROR_LINKS_TRUE
1017
+ if config_value is False:
1018
+ return Config.ShowErrorLinks.SHOW_ERROR_LINKS_FALSE
1019
+
1020
+ # Handle string values (from config.toml or command-line)
1012
1021
  allowed_values = ["auto", "true", "false"]
1013
1022
  value_to_enum = {
1014
1023
  "auto": Config.ShowErrorLinks.SHOW_ERROR_LINKS_AUTO,
1015
1024
  "true": Config.ShowErrorLinks.SHOW_ERROR_LINKS_TRUE,
1016
1025
  "false": Config.ShowErrorLinks.SHOW_ERROR_LINKS_FALSE,
1017
1026
  }
1018
- config_value = config.get_option(config_key)
1019
1027
  if config_value not in allowed_values:
1020
1028
  raise ValueError(
1021
1029
  f"Config {config_key!r} expects to have one of "
@@ -37,7 +37,7 @@
37
37
  <script>
38
38
  window.prerenderReady = false
39
39
  </script>
40
- <script type="module" crossorigin src="./static/js/index.y5HxPwg9.js"></script>
40
+ <script type="module" crossorigin src="./static/js/index.DBIoNOen.js"></script>
41
41
  <link rel="stylesheet" crossorigin href="./static/css/index.C8MrxwGF.css">
42
42
  </head>
43
43
  <body>