streamlit-nightly 1.42.3.dev20250301__py2.py3-none-any.whl → 1.43.1.dev20250306__py2.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 (98) hide show
  1. streamlit/commands/navigation.py +138 -98
  2. streamlit/components/v1/component_arrow.py +3 -1
  3. streamlit/config.py +33 -11
  4. streamlit/dataframe_util.py +12 -4
  5. streamlit/elements/lib/built_in_chart_utils.py +3 -3
  6. streamlit/elements/lib/pandas_styler_utils.py +4 -4
  7. streamlit/elements/map.py +4 -2
  8. streamlit/elements/media.py +4 -2
  9. streamlit/elements/widgets/button.py +92 -28
  10. streamlit/elements/widgets/data_editor.py +4 -4
  11. streamlit/proto/ClientState_pb2.py +5 -5
  12. streamlit/proto/ClientState_pb2.pyi +7 -2
  13. streamlit/proto/NewSession_pb2.py +16 -16
  14. streamlit/proto/NewSession_pb2.pyi +8 -3
  15. streamlit/runtime/caching/hashing.py +1 -1
  16. streamlit/runtime/context.py +9 -0
  17. streamlit/static/index.html +1 -1
  18. streamlit/static/static/js/{FileDownload.esm.CUiEWbzl.js → FileDownload.esm.D90ZPlvX.js} +1 -1
  19. streamlit/static/static/js/{FileHelper.B6bBsK7b.js → FileHelper.B7wMHnJf.js} +1 -1
  20. streamlit/static/static/js/{FormClearHelper.B_9Ez6vr.js → FormClearHelper.DiTttn8n.js} +1 -1
  21. streamlit/static/static/js/{Hooks.VwVTTUgt.js → Hooks.DlsrQbRk.js} +1 -1
  22. streamlit/static/static/js/{InputInstructions.vmQUtJfB.js → InputInstructions.DABeMich.js} +1 -1
  23. streamlit/static/static/js/{ProgressBar.CrEUq34O.js → ProgressBar.B0_wzszZ.js} +2 -2
  24. streamlit/static/static/js/{RenderInPortalIfExists.uSIUxO87.js → RenderInPortalIfExists.Ct3yXHYV.js} +1 -1
  25. streamlit/static/static/js/{Toolbar.DDSvrD0E.js → Toolbar.BhJd2eBO.js} +1 -1
  26. streamlit/static/static/js/{base-input.JpWAqJ0N.js → base-input.BT0Fve4h.js} +1 -1
  27. streamlit/static/static/js/{checkbox.CWR-VT1j.js → checkbox.DytiXgc4.js} +2 -2
  28. streamlit/static/static/js/{createSuper.HcF5WnqF.js → createSuper.Dey_Nchq.js} +1 -1
  29. streamlit/static/static/js/{data-grid-overlay-editor.DminHUYw.js → data-grid-overlay-editor.DHaS0Xdu.js} +1 -1
  30. streamlit/static/static/js/{downloader._SGckIiV.js → downloader.CpXHg7_L.js} +1 -1
  31. streamlit/static/static/js/{es6.b4hv8be8.js → es6.B12jZN2H.js} +2 -2
  32. streamlit/static/static/js/{iframeResizer.contentWindow.BqakL47H.js → iframeResizer.contentWindow.Dp7IrKgg.js} +1 -1
  33. streamlit/static/static/js/{index.BL2LjKzZ.js → index.3smrX8Wb.js} +1 -1
  34. streamlit/static/static/js/index.6GcOZfbK.js +1 -0
  35. streamlit/static/static/js/index.9aouXH1R.js +1 -0
  36. streamlit/static/static/js/{index.cVjFgmUG.js → index.B0Dq5tyz.js} +1 -1
  37. streamlit/static/static/js/index.B0vUg2Y3.js +1 -0
  38. streamlit/static/static/js/index.BEjwL3_Z.js +1 -0
  39. streamlit/static/static/js/{index.C7GAgXnu.js → index.BFTv_Z_e.js} +1 -1
  40. streamlit/static/static/js/{index.C59Ya3CM.js → index.BWJyhyqF.js} +1 -1
  41. streamlit/static/static/js/{index.Dl9vrclR.js → index.Bb8aDqLI.js} +1 -1
  42. streamlit/static/static/js/{index.Cr9buiVv.js → index.Bd3HEJHM.js} +53 -53
  43. streamlit/static/static/js/index.BpUFb67U.js +1 -0
  44. streamlit/static/static/js/{index.CqU47T61.js → index.BpcIvL5C.js} +135 -170
  45. streamlit/static/static/js/{index.3M6TVRo2.js → index.BtGwo9mt.js} +1 -1
  46. streamlit/static/static/js/{index.D7yQTfz7.js → index.Bx2jHxuL.js} +1 -1
  47. streamlit/static/static/js/{index.Dph-QYbt.js → index.C8NedCpe.js} +2 -2
  48. streamlit/static/static/js/{index.D4vb0WQf.js → index.C8i44-aA.js} +1 -1
  49. streamlit/static/static/js/{index.Dev73dEg.js → index.CCzbz0re.js} +1 -1
  50. streamlit/static/static/js/{index.J3DKPewF.js → index.CKTE0OmI.js} +1 -1
  51. streamlit/static/static/js/{index.CpyxO9i-.js → index.Chro-AQL.js} +1 -1
  52. streamlit/static/static/js/{index.C-MV6qmR.js → index.D1pT2XNV.js} +1 -1
  53. streamlit/static/static/js/{index.CAxOUw_O.js → index.D2zBv6ha.js} +1 -1
  54. streamlit/static/static/js/{index.E5dz2muJ.js → index.D6F98iFW.js} +1 -1
  55. streamlit/static/static/js/{index.D4Nzp4K3.js → index.DDLiQS9D.js} +1 -1
  56. streamlit/static/static/js/{index.Cs86Rh1I.js → index.DVFO4dUf.js} +1 -1
  57. streamlit/static/static/js/index.DcZtLSnI.js +1 -0
  58. streamlit/static/static/js/index.Dnp2nMgW.js +1 -0
  59. streamlit/static/static/js/{index.SYnyLAtV.js → index.DpvAFLbG.js} +1 -1
  60. streamlit/static/static/js/{index.B5U4WHdm.js → index.Jj9qMZu5.js} +1 -1
  61. streamlit/static/static/js/{index.BFysNJg1.js → index.SSx319oy.js} +1 -1
  62. streamlit/static/static/js/{index.B4fN2DMS.js → index.U8Sox-zm.js} +1 -1
  63. streamlit/static/static/js/{index.BV5mA8ty.js → index.VRF0kACr.js} +5 -5
  64. streamlit/static/static/js/{index.BLVbwbeW.js → index.d4FK8xGd.js} +2 -2
  65. streamlit/static/static/js/index.ep0QJQk3.js +203 -0
  66. streamlit/static/static/js/index.f0VnAfoO.js +1 -0
  67. streamlit/static/static/js/index.l49xBSOh.js +73 -0
  68. streamlit/static/static/js/{index.Cb8hCZyO.js → index.v5B-faMq.js} +1 -1
  69. streamlit/static/static/js/{index.BgLbohq1.js → index.ydk_VgsB.js} +1 -1
  70. streamlit/static/static/js/{input.Dfd0mQ2M.js → input.D6h4j3mu.js} +2 -2
  71. streamlit/static/static/js/{memory.DFfwDfdX.js → memory.BE4D3Ruc.js} +1 -1
  72. streamlit/static/static/js/{mergeWith.B3E2fSKt.js → mergeWith.CfZBFCuT.js} +1 -1
  73. streamlit/static/static/js/{number-overlay-editor.DG8NE_c_.js → number-overlay-editor.BGuXja4w.js} +1 -1
  74. streamlit/static/static/js/{possibleConstructorReturn.CJ1f9cWL.js → possibleConstructorReturn.GfM_znXN.js} +1 -1
  75. streamlit/static/static/js/{sandbox.-T0hcQrx.js → sandbox.SNug_eHS.js} +1 -1
  76. streamlit/static/static/js/{textarea.CCPaMMRd.js → textarea.C9gOMijs.js} +2 -2
  77. streamlit/static/static/js/{timepicker.BrQl1vN-.js → timepicker.DnkicraE.js} +1 -1
  78. streamlit/static/static/js/{toConsumableArray.UwlRgC7o.js → toConsumableArray.CwiePuJG.js} +1 -1
  79. streamlit/static/static/js/{uniqueId.C5B1A1oI.js → uniqueId.BzT4v6M6.js} +1 -1
  80. streamlit/static/static/js/{useBasicWidgetState.Czrslgva.js → useBasicWidgetState.DKA7kWgD.js} +1 -1
  81. streamlit/static/static/js/{useOnInputChange.Dw8zLgsb.js → useOnInputChange.mkVXolML.js} +1 -1
  82. streamlit/static/static/js/{withFullScreenWrapper.t6HIFyK0.js → withFullScreenWrapper.CfWBIrsM.js} +1 -1
  83. {streamlit_nightly-1.42.3.dev20250301.dist-info → streamlit_nightly-1.43.1.dev20250306.dist-info}/METADATA +1 -1
  84. {streamlit_nightly-1.42.3.dev20250301.dist-info → streamlit_nightly-1.43.1.dev20250306.dist-info}/RECORD +88 -88
  85. streamlit/static/static/js/index.BVLYWr2w.js +0 -1
  86. streamlit/static/static/js/index.BWfK_Obw.js +0 -203
  87. streamlit/static/static/js/index.BXSIv1Yj.js +0 -1
  88. streamlit/static/static/js/index.BhVVEe37.js +0 -1
  89. streamlit/static/static/js/index.BkDOb1MH.js +0 -73
  90. streamlit/static/static/js/index.C2ti2ux-.js +0 -1
  91. streamlit/static/static/js/index.CA_X6A4G.js +0 -1
  92. streamlit/static/static/js/index.CpN57BL8.js +0 -1
  93. streamlit/static/static/js/index.D6kHe3jN.js +0 -1
  94. streamlit/static/static/js/index._Q_M1OIX.js +0 -1
  95. {streamlit_nightly-1.42.3.dev20250301.data → streamlit_nightly-1.43.1.dev20250306.data}/scripts/streamlit.cmd +0 -0
  96. {streamlit_nightly-1.42.3.dev20250301.dist-info → streamlit_nightly-1.43.1.dev20250306.dist-info}/WHEEL +0 -0
  97. {streamlit_nightly-1.42.3.dev20250301.dist-info → streamlit_nightly-1.43.1.dev20250306.dist-info}/entry_points.txt +0 -0
  98. {streamlit_nightly-1.42.3.dev20250301.dist-info → streamlit_nightly-1.43.1.dev20250306.dist-info}/top_level.txt +0 -0
@@ -270,12 +270,12 @@ def _apply_cell_edits(
270
270
  # The edited cell is part of the index
271
271
  # TODO(lukasmasuch): To support multi-index in the future:
272
272
  # use a tuple of values here instead of a single value
273
- df.index.values[row_pos] = _parse_value(
273
+ df.index.to_numpy()[row_pos] = _parse_value(
274
274
  value, dataframe_schema[INDEX_IDENTIFIER]
275
275
  )
276
276
  else:
277
277
  col_pos = df.columns.get_loc(col_name)
278
- df.iat[row_pos, col_pos] = _parse_value(
278
+ df.iloc[row_pos, col_pos] = _parse_value(
279
279
  value, dataframe_schema[col_name]
280
280
  )
281
281
 
@@ -352,7 +352,7 @@ def _apply_row_deletions(df: pd.DataFrame, deleted_rows: list[int]) -> None:
352
352
  A list of row numbers to delete.
353
353
  """
354
354
  # Drop rows based in numeric row positions
355
- df.drop(df.index[deleted_rows], inplace=True)
355
+ df.drop(df.index[deleted_rows], inplace=True) # noqa: PD002
356
356
 
357
357
 
358
358
  def _apply_dataframe_edits(
@@ -439,7 +439,7 @@ def _fix_column_headers(data_df: pd.DataFrame) -> None:
439
439
  # to avoid issues with editing:
440
440
  data_df.rename(
441
441
  columns={column: str(column) for column in data_df.columns},
442
- inplace=True,
442
+ inplace=True, # noqa: PD002
443
443
  )
444
444
 
445
445
 
@@ -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\"c\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\x42\x0b\n\t_timezoneB\x12\n\x10_timezone_offset\"\xc6\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\"\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\"\x83\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\x42\x0b\n\t_timezoneB\x12\n\x10_timezone_offsetB\t\n\x07_locale\"\xc6\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\"\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)
@@ -23,8 +23,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.ClientState
23
23
  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
- _globals['_CONTEXTINFO']._serialized_start=73
27
- _globals['_CONTEXTINFO']._serialized_end=172
28
- _globals['_CLIENTSTATE']._serialized_start=175
29
- _globals['_CLIENTSTATE']._serialized_end=373
26
+ _globals['_CONTEXTINFO']._serialized_start=74
27
+ _globals['_CONTEXTINFO']._serialized_end=205
28
+ _globals['_CLIENTSTATE']._serialized_start=208
29
+ _globals['_CLIENTSTATE']._serialized_end=406
30
30
  # @@protoc_insertion_point(module_scope)
@@ -31,16 +31,21 @@ class ContextInfo(google.protobuf.message.Message):
31
31
 
32
32
  TIMEZONE_FIELD_NUMBER: builtins.int
33
33
  TIMEZONE_OFFSET_FIELD_NUMBER: builtins.int
34
+ LOCALE_FIELD_NUMBER: builtins.int
34
35
  timezone: builtins.str
35
36
  timezone_offset: builtins.int
37
+ locale: builtins.str
36
38
  def __init__(
37
39
  self,
38
40
  *,
39
41
  timezone: builtins.str | None = ...,
40
42
  timezone_offset: builtins.int | None = ...,
43
+ locale: builtins.str | None = ...,
41
44
  ) -> None: ...
42
- def HasField(self, field_name: typing.Literal["_timezone", b"_timezone", "_timezone_offset", b"_timezone_offset", "timezone", b"timezone", "timezone_offset", b"timezone_offset"]) -> builtins.bool: ...
43
- def ClearField(self, field_name: typing.Literal["_timezone", b"_timezone", "_timezone_offset", b"_timezone_offset", "timezone", b"timezone", "timezone_offset", b"timezone_offset"]) -> None: ...
45
+ def HasField(self, field_name: typing.Literal["_locale", b"_locale", "_timezone", b"_timezone", "_timezone_offset", b"_timezone_offset", "locale", b"locale", "timezone", b"timezone", "timezone_offset", b"timezone_offset"]) -> builtins.bool: ...
46
+ def ClearField(self, field_name: typing.Literal["_locale", b"_locale", "_timezone", b"_timezone", "_timezone_offset", b"_timezone_offset", "locale", b"locale", "timezone", b"timezone", "timezone_offset", b"timezone_offset"]) -> None: ...
47
+ @typing.overload
48
+ def WhichOneof(self, oneof_group: typing.Literal["_locale", b"_locale"]) -> typing.Literal["locale"] | None: ...
44
49
  @typing.overload
45
50
  def WhichOneof(self, oneof_group: typing.Literal["_timezone", b"_timezone"]) -> typing.Literal["timezone"] | None: ...
46
51
  @typing.overload
@@ -16,7 +16,7 @@ from streamlit.proto import AppPage_pb2 as streamlit_dot_proto_dot_AppPage__pb2
16
16
  from streamlit.proto import SessionStatus_pb2 as streamlit_dot_proto_dot_SessionStatus__pb2
17
17
 
18
18
 
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n streamlit/proto/NewSession.proto\x1a\x1dstreamlit/proto/AppPage.proto\x1a#streamlit/proto/SessionStatus.proto\"\xa5\x02\n\nNewSession\x12\x1f\n\ninitialize\x18\x01 \x01(\x0b\x32\x0b.Initialize\x12\x15\n\rscript_run_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x18\n\x10main_script_path\x18\x04 \x01(\t\x12\x17\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\x07.Config\x12(\n\x0c\x63ustom_theme\x18\x07 \x01(\x0b\x32\x12.CustomThemeConfig\x12\x1b\n\tapp_pages\x18\x08 \x03(\x0b\x32\x08.AppPage\x12\x18\n\x10page_script_hash\x18\t \x01(\t\x12\x1d\n\x15\x66ragment_ids_this_run\x18\n \x03(\t\x12\x18\n\x10main_script_hash\x18\x0b \x01(\tJ\x04\x08\x05\x10\x06\"\xba\x01\n\nInitialize\x12\x1c\n\tuser_info\x18\x01 \x01(\x0b\x32\t.UserInfo\x12*\n\x10\x65nvironment_info\x18\x03 \x01(\x0b\x32\x10.EnvironmentInfo\x12&\n\x0esession_status\x18\x04 \x01(\x0b\x32\x0e.SessionStatus\x12\x14\n\x0c\x63ommand_line\x18\x05 \x01(\t\x12\x12\n\nsession_id\x18\x06 \x01(\t\x12\x10\n\x08is_hello\x18\x07 \x01(\x08\"\x97\x02\n\x06\x43onfig\x12\x1a\n\x12gather_usage_stats\x18\x02 \x01(\x08\x12\x1e\n\x16max_cached_message_age\x18\x03 \x01(\x05\x12\x14\n\x0cmapbox_token\x18\x04 \x01(\t\x12\x19\n\x11\x61llow_run_on_save\x18\x05 \x01(\x08\x12\x14\n\x0chide_top_bar\x18\x06 \x01(\x08\x12\x18\n\x10hide_sidebar_nav\x18\x07 \x01(\x08\x12)\n\x0ctoolbar_mode\x18\x08 \x01(\x0e\x32\x13.Config.ToolbarMode\"?\n\x0bToolbarMode\x12\x08\n\x04\x41UTO\x10\x00\x12\r\n\tDEVELOPER\x10\x01\x12\n\n\x06VIEWER\x10\x02\x12\x0b\n\x07MINIMAL\x10\x03J\x04\x08\x01\x10\x02\"\x80\x06\n\x11\x43ustomThemeConfig\x12\x15\n\rprimary_color\x18\x01 \x01(\t\x12\"\n\x1asecondary_background_color\x18\x02 \x01(\t\x12\x18\n\x10\x62\x61\x63kground_color\x18\x03 \x01(\t\x12\x12\n\ntext_color\x18\x04 \x01(\t\x12+\n\x04\x66ont\x18\x05 \x01(\x0e\x32\x1d.CustomThemeConfig.FontFamily\x12*\n\x04\x62\x61se\x18\x06 \x01(\x0e\x32\x1c.CustomThemeConfig.BaseTheme\x12\x1f\n\x17widget_background_color\x18\x07 \x01(\t\x12\x1b\n\x13widget_border_color\x18\x08 \x01(\t\x12\x15\n\x05radii\x18\t \x01(\x0b\x32\x06.Radii\x12\x11\n\tbody_font\x18\r \x01(\t\x12\x11\n\tcode_font\x18\x0e \x01(\t\x12\x1d\n\nfont_faces\x18\x0f \x03(\x0b\x32\t.FontFace\x12\x1e\n\nfont_sizes\x18\x10 \x01(\x0b\x32\n.FontSizes\x12!\n\x19skeleton_background_color\x18\x11 \x01(\t\x12\x18\n\x0b\x62\x61se_radius\x18\x12 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0c\x62order_color\x18\x13 \x01(\tH\x01\x88\x01\x01\x12&\n\x19show_border_around_inputs\x18\x14 \x01(\x08H\x02\x88\x01\x01\x12\x17\n\nlink_color\x18\x15 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0e\x62\x61se_font_size\x18\x16 \x01(\x05H\x04\x88\x01\x01\" \n\tBaseTheme\x12\t\n\x05LIGHT\x10\x00\x12\x08\n\x04\x44\x41RK\x10\x01\"6\n\nFontFamily\x12\x0e\n\nSANS_SERIF\x10\x00\x12\t\n\x05SERIF\x10\x01\x12\r\n\tMONOSPACE\x10\x02\x42\x0e\n\x0c_base_radiusB\x0f\n\r_border_colorB\x1c\n\x1a_show_border_around_inputsB\r\n\x0b_link_colorB\x11\n\x0f_base_font_size\"F\n\x08\x46ontFace\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0e\n\x06\x66\x61mily\x18\x02 \x01(\t\x12\x0e\n\x06weight\x18\x03 \x01(\x05\x12\r\n\x05style\x18\x04 \x01(\t\"<\n\x05Radii\x12\x1a\n\x12\x62\x61se_widget_radius\x18\x01 \x01(\x05\x12\x17\n\x0f\x63heckbox_radius\x18\x02 \x01(\x05\"T\n\tFontSizes\x12\x16\n\x0etiny_font_size\x18\x01 \x01(\x05\x12\x17\n\x0fsmall_font_size\x18\x02 \x01(\x05\x12\x16\n\x0e\x62\x61se_font_size\x18\x03 \x01(\x05\"E\n\x08UserInfo\x12\x17\n\x0finstallation_id\x18\x01 \x01(\t\x12\x1a\n\x12installation_id_v3\x18\x05 \x01(\tJ\x04\x08\x02\x10\x03\"D\n\x0f\x45nvironmentInfo\x12\x19\n\x11streamlit_version\x18\x01 \x01(\t\x12\x16\n\x0epython_version\x18\x02 \x01(\tB/\n\x1c\x63om.snowflake.apps.streamlitB\x0fNewSessionProtob\x06proto3')
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n streamlit/proto/NewSession.proto\x1a\x1dstreamlit/proto/AppPage.proto\x1a#streamlit/proto/SessionStatus.proto\"\xa5\x02\n\nNewSession\x12\x1f\n\ninitialize\x18\x01 \x01(\x0b\x32\x0b.Initialize\x12\x15\n\rscript_run_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x18\n\x10main_script_path\x18\x04 \x01(\t\x12\x17\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\x07.Config\x12(\n\x0c\x63ustom_theme\x18\x07 \x01(\x0b\x32\x12.CustomThemeConfig\x12\x1b\n\tapp_pages\x18\x08 \x03(\x0b\x32\x08.AppPage\x12\x18\n\x10page_script_hash\x18\t \x01(\t\x12\x1d\n\x15\x66ragment_ids_this_run\x18\n \x03(\t\x12\x18\n\x10main_script_hash\x18\x0b \x01(\tJ\x04\x08\x05\x10\x06\"\xba\x01\n\nInitialize\x12\x1c\n\tuser_info\x18\x01 \x01(\x0b\x32\t.UserInfo\x12*\n\x10\x65nvironment_info\x18\x03 \x01(\x0b\x32\x10.EnvironmentInfo\x12&\n\x0esession_status\x18\x04 \x01(\x0b\x32\x0e.SessionStatus\x12\x14\n\x0c\x63ommand_line\x18\x05 \x01(\t\x12\x12\n\nsession_id\x18\x06 \x01(\t\x12\x10\n\x08is_hello\x18\x07 \x01(\x08\"\x97\x02\n\x06\x43onfig\x12\x1a\n\x12gather_usage_stats\x18\x02 \x01(\x08\x12\x1e\n\x16max_cached_message_age\x18\x03 \x01(\x05\x12\x14\n\x0cmapbox_token\x18\x04 \x01(\t\x12\x19\n\x11\x61llow_run_on_save\x18\x05 \x01(\x08\x12\x14\n\x0chide_top_bar\x18\x06 \x01(\x08\x12\x18\n\x10hide_sidebar_nav\x18\x07 \x01(\x08\x12)\n\x0ctoolbar_mode\x18\x08 \x01(\x0e\x32\x13.Config.ToolbarMode\"?\n\x0bToolbarMode\x12\x08\n\x04\x41UTO\x10\x00\x12\r\n\tDEVELOPER\x10\x01\x12\n\n\x06VIEWER\x10\x02\x12\x0b\n\x07MINIMAL\x10\x03J\x04\x08\x01\x10\x02\"\xc0\x06\n\x11\x43ustomThemeConfig\x12\x15\n\rprimary_color\x18\x01 \x01(\t\x12\"\n\x1asecondary_background_color\x18\x02 \x01(\t\x12\x18\n\x10\x62\x61\x63kground_color\x18\x03 \x01(\t\x12\x12\n\ntext_color\x18\x04 \x01(\t\x12+\n\x04\x66ont\x18\x05 \x01(\x0e\x32\x1d.CustomThemeConfig.FontFamily\x12*\n\x04\x62\x61se\x18\x06 \x01(\x0e\x32\x1c.CustomThemeConfig.BaseTheme\x12\x1f\n\x17widget_background_color\x18\x07 \x01(\t\x12\x1b\n\x13widget_border_color\x18\x08 \x01(\t\x12\x15\n\x05radii\x18\t \x01(\x0b\x32\x06.Radii\x12\x11\n\tbody_font\x18\r \x01(\t\x12\x11\n\tcode_font\x18\x0e \x01(\t\x12\x1d\n\nfont_faces\x18\x0f \x03(\x0b\x32\t.FontFace\x12\x1e\n\nfont_sizes\x18\x10 \x01(\x0b\x32\n.FontSizes\x12!\n\x19skeleton_background_color\x18\x11 \x01(\t\x12\x18\n\x0b\x62\x61se_radius\x18\x12 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0c\x62order_color\x18\x13 \x01(\tH\x01\x88\x01\x01\x12&\n\x19show_border_around_inputs\x18\x14 \x01(\x08H\x02\x88\x01\x01\x12\x17\n\nlink_color\x18\x15 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0e\x62\x61se_font_size\x18\x16 \x01(\x05H\x04\x88\x01\x01\x12#\n\x16show_sidebar_separator\x18\x17 \x01(\x08H\x05\x88\x01\x01\" \n\tBaseTheme\x12\t\n\x05LIGHT\x10\x00\x12\x08\n\x04\x44\x41RK\x10\x01\"6\n\nFontFamily\x12\x0e\n\nSANS_SERIF\x10\x00\x12\t\n\x05SERIF\x10\x01\x12\r\n\tMONOSPACE\x10\x02\x42\x0e\n\x0c_base_radiusB\x0f\n\r_border_colorB\x1c\n\x1a_show_border_around_inputsB\r\n\x0b_link_colorB\x11\n\x0f_base_font_sizeB\x19\n\x17_show_sidebar_separator\"F\n\x08\x46ontFace\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0e\n\x06\x66\x61mily\x18\x02 \x01(\t\x12\x0e\n\x06weight\x18\x03 \x01(\x05\x12\r\n\x05style\x18\x04 \x01(\t\"<\n\x05Radii\x12\x1a\n\x12\x62\x61se_widget_radius\x18\x01 \x01(\x05\x12\x17\n\x0f\x63heckbox_radius\x18\x02 \x01(\x05\"T\n\tFontSizes\x12\x16\n\x0etiny_font_size\x18\x01 \x01(\x05\x12\x17\n\x0fsmall_font_size\x18\x02 \x01(\x05\x12\x16\n\x0e\x62\x61se_font_size\x18\x03 \x01(\x05\"E\n\x08UserInfo\x12\x17\n\x0finstallation_id\x18\x01 \x01(\t\x12\x1a\n\x12installation_id_v3\x18\x05 \x01(\tJ\x04\x08\x02\x10\x03\"D\n\x0f\x45nvironmentInfo\x12\x19\n\x11streamlit_version\x18\x01 \x01(\t\x12\x16\n\x0epython_version\x18\x02 \x01(\tB/\n\x1c\x63om.snowflake.apps.streamlitB\x0fNewSessionProtob\x06proto3')
20
20
 
21
21
  _globals = globals()
22
22
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -33,19 +33,19 @@ if not _descriptor._USE_C_DESCRIPTORS:
33
33
  _globals['_CONFIG_TOOLBARMODE']._serialized_start=800
34
34
  _globals['_CONFIG_TOOLBARMODE']._serialized_end=863
35
35
  _globals['_CUSTOMTHEMECONFIG']._serialized_start=872
36
- _globals['_CUSTOMTHEMECONFIG']._serialized_end=1640
37
- _globals['_CUSTOMTHEMECONFIG_BASETHEME']._serialized_start=1455
38
- _globals['_CUSTOMTHEMECONFIG_BASETHEME']._serialized_end=1487
39
- _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_start=1489
40
- _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_end=1543
41
- _globals['_FONTFACE']._serialized_start=1642
42
- _globals['_FONTFACE']._serialized_end=1712
43
- _globals['_RADII']._serialized_start=1714
44
- _globals['_RADII']._serialized_end=1774
45
- _globals['_FONTSIZES']._serialized_start=1776
46
- _globals['_FONTSIZES']._serialized_end=1860
47
- _globals['_USERINFO']._serialized_start=1862
48
- _globals['_USERINFO']._serialized_end=1931
49
- _globals['_ENVIRONMENTINFO']._serialized_start=1933
50
- _globals['_ENVIRONMENTINFO']._serialized_end=2001
36
+ _globals['_CUSTOMTHEMECONFIG']._serialized_end=1704
37
+ _globals['_CUSTOMTHEMECONFIG_BASETHEME']._serialized_start=1492
38
+ _globals['_CUSTOMTHEMECONFIG_BASETHEME']._serialized_end=1524
39
+ _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_start=1526
40
+ _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_end=1580
41
+ _globals['_FONTFACE']._serialized_start=1706
42
+ _globals['_FONTFACE']._serialized_end=1776
43
+ _globals['_RADII']._serialized_start=1778
44
+ _globals['_RADII']._serialized_end=1838
45
+ _globals['_FONTSIZES']._serialized_start=1840
46
+ _globals['_FONTSIZES']._serialized_end=1924
47
+ _globals['_USERINFO']._serialized_start=1926
48
+ _globals['_USERINFO']._serialized_end=1995
49
+ _globals['_ENVIRONMENTINFO']._serialized_start=1997
50
+ _globals['_ENVIRONMENTINFO']._serialized_end=2065
51
51
  # @@protoc_insertion_point(module_scope)
@@ -233,7 +233,7 @@ class CustomThemeConfig(google.protobuf.message.Message):
233
233
  """Custom theme configuration options. Like other config options, these are set
234
234
  in .streamlit/config.toml.
235
235
 
236
- IMPORTANT: This message is passed in JSON format in a host-to-guest postMessage. So DOT NOT
236
+ IMPORTANT: This message is passed in JSON format in a host-to-guest postMessage. So DO NOT
237
237
  rename its proto fields!
238
238
  """
239
239
 
@@ -288,6 +288,7 @@ class CustomThemeConfig(google.protobuf.message.Message):
288
288
  SHOW_BORDER_AROUND_INPUTS_FIELD_NUMBER: builtins.int
289
289
  LINK_COLOR_FIELD_NUMBER: builtins.int
290
290
  BASE_FONT_SIZE_FIELD_NUMBER: builtins.int
291
+ SHOW_SIDEBAR_SEPARATOR_FIELD_NUMBER: builtins.int
291
292
  primary_color: builtins.str
292
293
  secondary_background_color: builtins.str
293
294
  background_color: builtins.str
@@ -308,6 +309,7 @@ class CustomThemeConfig(google.protobuf.message.Message):
308
309
  show_border_around_inputs: builtins.bool
309
310
  link_color: builtins.str
310
311
  base_font_size: builtins.int
312
+ show_sidebar_separator: builtins.bool
311
313
  @property
312
314
  def radii(self) -> global___Radii:
313
315
  """DEPRECATED: Please use the base_radius theme config instead:"""
@@ -340,9 +342,10 @@ class CustomThemeConfig(google.protobuf.message.Message):
340
342
  show_border_around_inputs: builtins.bool | None = ...,
341
343
  link_color: builtins.str | None = ...,
342
344
  base_font_size: builtins.int | None = ...,
345
+ show_sidebar_separator: builtins.bool | None = ...,
343
346
  ) -> None: ...
344
- def HasField(self, field_name: typing.Literal["_base_font_size", b"_base_font_size", "_base_radius", b"_base_radius", "_border_color", b"_border_color", "_link_color", b"_link_color", "_show_border_around_inputs", b"_show_border_around_inputs", "base_font_size", b"base_font_size", "base_radius", b"base_radius", "border_color", b"border_color", "font_sizes", b"font_sizes", "link_color", b"link_color", "radii", b"radii", "show_border_around_inputs", b"show_border_around_inputs"]) -> builtins.bool: ...
345
- def ClearField(self, field_name: typing.Literal["_base_font_size", b"_base_font_size", "_base_radius", b"_base_radius", "_border_color", b"_border_color", "_link_color", b"_link_color", "_show_border_around_inputs", b"_show_border_around_inputs", "background_color", b"background_color", "base", b"base", "base_font_size", b"base_font_size", "base_radius", b"base_radius", "body_font", b"body_font", "border_color", b"border_color", "code_font", b"code_font", "font", b"font", "font_faces", b"font_faces", "font_sizes", b"font_sizes", "link_color", b"link_color", "primary_color", b"primary_color", "radii", b"radii", "secondary_background_color", b"secondary_background_color", "show_border_around_inputs", b"show_border_around_inputs", "skeleton_background_color", b"skeleton_background_color", "text_color", b"text_color", "widget_background_color", b"widget_background_color", "widget_border_color", b"widget_border_color"]) -> None: ...
347
+ def HasField(self, field_name: typing.Literal["_base_font_size", b"_base_font_size", "_base_radius", b"_base_radius", "_border_color", b"_border_color", "_link_color", b"_link_color", "_show_border_around_inputs", b"_show_border_around_inputs", "_show_sidebar_separator", b"_show_sidebar_separator", "base_font_size", b"base_font_size", "base_radius", b"base_radius", "border_color", b"border_color", "font_sizes", b"font_sizes", "link_color", b"link_color", "radii", b"radii", "show_border_around_inputs", b"show_border_around_inputs", "show_sidebar_separator", b"show_sidebar_separator"]) -> builtins.bool: ...
348
+ def ClearField(self, field_name: typing.Literal["_base_font_size", b"_base_font_size", "_base_radius", b"_base_radius", "_border_color", b"_border_color", "_link_color", b"_link_color", "_show_border_around_inputs", b"_show_border_around_inputs", "_show_sidebar_separator", b"_show_sidebar_separator", "background_color", b"background_color", "base", b"base", "base_font_size", b"base_font_size", "base_radius", b"base_radius", "body_font", b"body_font", "border_color", b"border_color", "code_font", b"code_font", "font", b"font", "font_faces", b"font_faces", "font_sizes", b"font_sizes", "link_color", b"link_color", "primary_color", b"primary_color", "radii", b"radii", "secondary_background_color", b"secondary_background_color", "show_border_around_inputs", b"show_border_around_inputs", "show_sidebar_separator", b"show_sidebar_separator", "skeleton_background_color", b"skeleton_background_color", "text_color", b"text_color", "widget_background_color", b"widget_background_color", "widget_border_color", b"widget_border_color"]) -> None: ...
346
349
  @typing.overload
347
350
  def WhichOneof(self, oneof_group: typing.Literal["_base_font_size", b"_base_font_size"]) -> typing.Literal["base_font_size"] | None: ...
348
351
  @typing.overload
@@ -353,6 +356,8 @@ class CustomThemeConfig(google.protobuf.message.Message):
353
356
  def WhichOneof(self, oneof_group: typing.Literal["_link_color", b"_link_color"]) -> typing.Literal["link_color"] | None: ...
354
357
  @typing.overload
355
358
  def WhichOneof(self, oneof_group: typing.Literal["_show_border_around_inputs", b"_show_border_around_inputs"]) -> typing.Literal["show_border_around_inputs"] | None: ...
359
+ @typing.overload
360
+ def WhichOneof(self, oneof_group: typing.Literal["_show_sidebar_separator", b"_show_sidebar_separator"]) -> typing.Literal["show_sidebar_separator"] | None: ...
356
361
 
357
362
  global___CustomThemeConfig = CustomThemeConfig
358
363
 
@@ -425,7 +425,7 @@ class _CacheFuncHasher:
425
425
  obj = obj.sample(n=_PANDAS_SAMPLE_SIZE, random_state=0)
426
426
 
427
427
  try:
428
- self.update(h, pd.util.hash_pandas_object(obj).values.tobytes())
428
+ self.update(h, pd.util.hash_pandas_object(obj).to_numpy().tobytes())
429
429
  return h.digest()
430
430
  except TypeError:
431
431
  _LOGGER.warning(
@@ -269,3 +269,12 @@ class ContextProxy:
269
269
  if ctx is None or ctx.context_info is None:
270
270
  return None
271
271
  return ctx.context_info.timezone_offset
272
+
273
+ @property
274
+ @gather_metrics("context.locale")
275
+ def locale(self) -> str | None:
276
+ """The locale of the user browser, read-only"""
277
+ ctx = get_script_run_ctx()
278
+ if ctx is None or ctx.context_info is None:
279
+ return None
280
+ return ctx.context_info.locale
@@ -51,7 +51,7 @@
51
51
  <script>
52
52
  window.prerenderReady = false
53
53
  </script>
54
- <script type="module" crossorigin src="./static/js/index.CqU47T61.js"></script>
54
+ <script type="module" crossorigin src="./static/js/index.BpcIvL5C.js"></script>
55
55
  <link rel="stylesheet" crossorigin href="./static/css/index.DpJG_94W.css">
56
56
  </head>
57
57
  <body>
@@ -1 +1 @@
1
- import{r as e,E as n,_ as a}from"./index.CqU47T61.js";var o=e.forwardRef(function(t,r){var l={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return e.createElement(n,a({iconAttrs:l,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:r}),e.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),e.createElement("path",{d:"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"}))});o.displayName="Delete";var i=e.forwardRef(function(t,r){var l={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return e.createElement(n,a({iconAttrs:l,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:r}),e.createElement("rect",{width:24,height:24,fill:"none"}),e.createElement("path",{d:"M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zm-1-4l-1.41-1.41L13 12.17V4h-2v8.17L8.41 9.59 7 11l5 5 5-5z"}))});i.displayName="FileDownload";export{o as D,i as F};
1
+ import{r as e,E as n,_ as a}from"./index.BpcIvL5C.js";var o=e.forwardRef(function(t,r){var l={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return e.createElement(n,a({iconAttrs:l,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:r}),e.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),e.createElement("path",{d:"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"}))});o.displayName="Delete";var i=e.forwardRef(function(t,r){var l={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return e.createElement(n,a({iconAttrs:l,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:r}),e.createElement("rect",{width:24,height:24,fill:"none"}),e.createElement("path",{d:"M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zm-1-4l-1.41-1.41L13 12.17V4h-2v8.17L8.41 9.59 7 11l5 5 5-5z"}))});i.displayName="FileDownload";export{o as D,i as F};