streamlit-nightly 1.46.1.dev20250623__py3-none-any.whl → 1.46.1.dev20250625__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 (89) hide show
  1. streamlit/components/types/base_custom_component.py +2 -4
  2. streamlit/components/v1/component_registry.py +15 -2
  3. streamlit/config.py +27 -0
  4. streamlit/elements/arrow.py +5 -5
  5. streamlit/elements/code.py +6 -4
  6. streamlit/elements/metric.py +20 -2
  7. streamlit/elements/widgets/multiselect.py +27 -1
  8. streamlit/proto/NewSession_pb2.py +16 -16
  9. streamlit/proto/NewSession_pb2.pyi +7 -2
  10. streamlit/static/index.html +1 -1
  11. streamlit/static/manifest.json +214 -214
  12. streamlit/static/static/js/{ErrorOutline.esm.6jfnPRv8.js → ErrorOutline.esm.Ca4_C74G.js} +1 -1
  13. streamlit/static/static/js/{FileDownload.esm.Cnl6nXhQ.js → FileDownload.esm.BEXpx-NN.js} +1 -1
  14. streamlit/static/static/js/{FileHelper.cSMax3oI.js → FileHelper.B4GGzKqK.js} +1 -1
  15. streamlit/static/static/js/{FormClearHelper.4d5unoV3.js → FormClearHelper.CpsBciie.js} +1 -1
  16. streamlit/static/static/js/{Hooks.DZueJ4q3.js → Hooks.DsIXUDOP.js} +1 -1
  17. streamlit/static/static/js/{InputInstructions.TPKmOf1e.js → InputInstructions.Dh8ccyYH.js} +1 -1
  18. streamlit/static/static/js/{ProgressBar.9KpGrB3q.js → ProgressBar.C57HogTe.js} +2 -2
  19. streamlit/static/static/js/{RenderInPortalIfExists.B6RP7YdE.js → RenderInPortalIfExists.JT5A_75h.js} +1 -1
  20. streamlit/static/static/js/{Toolbar.D6JzrqIQ.js → Toolbar.BZBwHk6r.js} +1 -1
  21. streamlit/static/static/js/{base-input.Bnn6NZuq.js → base-input.C3m059Ja.js} +4 -4
  22. streamlit/static/static/js/{checkbox.B02sfadZ.js → checkbox.Bz1HY8hS.js} +1 -1
  23. streamlit/static/static/js/{createSuper.SaBC7ngU.js → createSuper.BgXZoFPR.js} +1 -1
  24. streamlit/static/static/js/{data-grid-overlay-editor.BLEevpKv.js → data-grid-overlay-editor.DHAXzOWr.js} +1 -1
  25. streamlit/static/static/js/{downloader.D-PXYVMM.js → downloader.DXmvN319.js} +1 -1
  26. streamlit/static/static/js/{es6.Do8H78Dr.js → es6.Dg-Jfu-r.js} +2 -2
  27. streamlit/static/static/js/{iframeResizer.contentWindow.DaJOnu7q.js → iframeResizer.contentWindow.BqWlTWPM.js} +1 -1
  28. streamlit/static/static/js/{index.0fF-8FTP.js → index.04JkG8Km.js} +1 -1
  29. streamlit/static/static/js/{index.DLIUt_5s.js → index.1o7GFmH9.js} +1 -1
  30. streamlit/static/static/js/{index.C_sZeM1t.js → index.B-IWkE_m.js} +1 -1
  31. streamlit/static/static/js/{index.Ur6r0Scb.js → index.B5HCKYGs.js} +2 -2
  32. streamlit/static/static/js/{index.GQSrzYvF.js → index.BEHais2d.js} +70 -71
  33. streamlit/static/static/js/{index.Bd-qicCf.js → index.BSduVAl-.js} +1 -1
  34. streamlit/static/static/js/{index.DdZFxK5_.js → index.BUpHFScA.js} +1 -1
  35. streamlit/static/static/js/index.B_GGKi7h.js +1 -0
  36. streamlit/static/static/js/{index.CakTEdtN.js → index.BgcFXG8Y.js} +1 -1
  37. streamlit/static/static/js/{index.CEKUbLdO.js → index.BgoLThsY.js} +1 -1
  38. streamlit/static/static/js/{index.DC2Olf5i.js → index.Bpq_TVP8.js} +1 -1
  39. streamlit/static/static/js/{index.B24flF1W.js → index.BqfEAvp0.js} +1 -1
  40. streamlit/static/static/js/{index.BzMniOtq.js → index.C-C4puTW.js} +1 -1
  41. streamlit/static/static/js/{index.pvWqfcnM.js → index.C6WBb5UI.js} +1 -1
  42. streamlit/static/static/js/{index.CI88kTQV.js → index.C8kJiudO.js} +1 -1
  43. streamlit/static/static/js/{index.BtrfeCpV.js → index.C9-NSIWy.js} +1 -1
  44. streamlit/static/static/js/{index.CvLo0WJS.js → index.CF7xf0Kc.js} +60 -60
  45. streamlit/static/static/js/{index.BCrknDkt.js → index.CIgyykei.js} +2 -2
  46. streamlit/static/static/js/{index.DSL_L5gy.js → index.CL0g79ua.js} +1 -1
  47. streamlit/static/static/js/{index.CPO9FnfH.js → index.CLutgZmA.js} +1 -1
  48. streamlit/static/static/js/{index.agUYkS1G.js → index.CWNrL7gF.js} +1 -1
  49. streamlit/static/static/js/{index.CWjjjpBo.js → index.Cob2CEOY.js} +2 -2
  50. streamlit/static/static/js/{index.CTa7TVdK.js → index.CuNbzfuD.js} +1 -1
  51. streamlit/static/static/js/{index.DAjyn_pv.js → index.CxdFkXN7.js} +1 -1
  52. streamlit/static/static/js/{index.DwRhVQCG.js → index.D6NDAr7R.js} +1 -1
  53. streamlit/static/static/js/{index.G-xNC_zR.js → index.D8Opklrn.js} +1 -1
  54. streamlit/static/static/js/{index.DFoPqIqm.js → index.DPwE86ME.js} +2 -2
  55. streamlit/static/static/js/index.DSVau5_M.js +1 -0
  56. streamlit/static/static/js/{index.CJ3PXy05.js → index.D_AaeKaM.js} +1 -1
  57. streamlit/static/static/js/{index.CRVtayit.js → index.De84gVwH.js} +1 -1
  58. streamlit/static/static/js/{index.Dii3Kpb1.js → index.DkawoLEN.js} +1 -1
  59. streamlit/static/static/js/index.DyESyaCa.js +1 -0
  60. streamlit/static/static/js/index.PYYOff5g.js +1 -0
  61. streamlit/static/static/js/{index.HuXynmwU.js → index.Q4yOipZt.js} +2 -2
  62. streamlit/static/static/js/{index.AoD39gIA.js → index.lctgkaZQ.js} +1 -1
  63. streamlit/static/static/js/index.tO_5FrTQ.js +1 -0
  64. streamlit/static/static/js/{index.DAD1VX9u.js → index.wwMXYz4o.js} +1 -1
  65. streamlit/static/static/js/{input.BsbIu3V-.js → input.G0_SQaLD.js} +2 -2
  66. streamlit/static/static/js/{memory.DLgZAYR-.js → memory.B6tpNh1r.js} +1 -1
  67. streamlit/static/static/js/{mergeWith.dTGwC2vZ.js → mergeWith.BIMOGvX0.js} +1 -1
  68. streamlit/static/static/js/{number-overlay-editor.1fvDrqrD.js → number-overlay-editor.BGVzFv7I.js} +1 -1
  69. streamlit/static/static/js/{possibleConstructorReturn.Dk_wv59O.js → possibleConstructorReturn.Bk9dXD1L.js} +1 -1
  70. streamlit/static/static/js/{sandbox.Cg6lG2Sf.js → sandbox.DWWQ1lBu.js} +1 -1
  71. streamlit/static/static/js/{textarea.DBC27xex.js → textarea.FHoad42C.js} +2 -2
  72. streamlit/static/static/js/{timepicker.7h0iYUgW.js → timepicker.yc5xqDUF.js} +1 -1
  73. streamlit/static/static/js/{toConsumableArray.B_hGxMM4.js → toConsumableArray.DfbSd22b.js} +1 -1
  74. streamlit/static/static/js/{uniqueId.OfTwqNZo.js → uniqueId.C03hvAF0.js} +1 -1
  75. streamlit/static/static/js/{useBasicWidgetState.BwLEUZab.js → useBasicWidgetState.DxtD7xs-.js} +1 -1
  76. streamlit/static/static/js/{useOnInputChange.dALPpkgr.js → useOnInputChange.DqPkFylT.js} +1 -1
  77. streamlit/static/static/js/{withFullScreenWrapper.CYjEH_RX.js → withFullScreenWrapper.CAwHwFP9.js} +1 -1
  78. streamlit/web/server/server.py +5 -6
  79. {streamlit_nightly-1.46.1.dev20250623.dist-info → streamlit_nightly-1.46.1.dev20250625.dist-info}/METADATA +1 -1
  80. {streamlit_nightly-1.46.1.dev20250623.dist-info → streamlit_nightly-1.46.1.dev20250625.dist-info}/RECORD +84 -84
  81. streamlit/static/static/js/index.-Vk-JZRg.js +0 -1
  82. streamlit/static/static/js/index.CtwU5Nda.js +0 -1
  83. streamlit/static/static/js/index.DIWyCwyy.js +0 -1
  84. streamlit/static/static/js/index.DRY0GdE8.js +0 -1
  85. streamlit/static/static/js/index.jvvQMO9i.js +0 -1
  86. {streamlit_nightly-1.46.1.dev20250623.data → streamlit_nightly-1.46.1.dev20250625.data}/scripts/streamlit.cmd +0 -0
  87. {streamlit_nightly-1.46.1.dev20250623.dist-info → streamlit_nightly-1.46.1.dev20250625.dist-info}/WHEEL +0 -0
  88. {streamlit_nightly-1.46.1.dev20250623.dist-info → streamlit_nightly-1.46.1.dev20250625.dist-info}/entry_points.txt +0 -0
  89. {streamlit_nightly-1.46.1.dev20250623.dist-info → streamlit_nightly-1.46.1.dev20250625.dist-info}/top_level.txt +0 -0
@@ -41,10 +41,8 @@ class BaseCustomComponent(ABC):
41
41
  url: str | None = None,
42
42
  module_name: str | None = None,
43
43
  ) -> None:
44
- if (path is None and url is None) or (path is not None and url is not None):
45
- raise StreamlitAPIException(
46
- "Either 'path' or 'url' must be set, but not both."
47
- )
44
+ if path is None and url is None:
45
+ raise StreamlitAPIException("Either 'path' or 'url' must be set.")
48
46
 
49
47
  self._name = name
50
48
  self._path = path
@@ -19,6 +19,7 @@ import os
19
19
  from pathlib import Path
20
20
  from typing import TYPE_CHECKING
21
21
 
22
+ from streamlit import config
22
23
  from streamlit.components.v1.custom_component import CustomComponent
23
24
  from streamlit.runtime import get_instance
24
25
  from streamlit.runtime.scriptrunner_utils.script_run_context import get_script_run_ctx
@@ -77,12 +78,15 @@ def declare_component(
77
78
  The path to serve the component's frontend files from. The path should
78
79
  be absolute. If ``path`` is ``None`` (default), Streamlit will serve
79
80
  the component from the location in ``url``. Either ``path`` or ``url``
80
- must be specified, but not both.
81
+ must be specified. If both are specified, then ``url`` will take
82
+ precedence.
81
83
 
82
84
  url: str or None
83
85
  The URL that the component is served from. If ``url`` is ``None``
84
86
  (default), Streamlit will serve the component from the location in
85
- ``path``. Either ``path`` or ``url`` must be specified, but not both.
87
+ ``path``. Either ``path`` or ``url`` must be specified. If both are
88
+ specified, then ``url`` will take precedence.
89
+
86
90
 
87
91
  Returns
88
92
  -------
@@ -109,6 +113,15 @@ def declare_component(
109
113
  # Build the component name.
110
114
  component_name = f"{module_name}.{name}"
111
115
 
116
+ # NOTE: We intentionally don't mention this behavior in this function's
117
+ # docstring as we're only using it internally for now (the config option
118
+ # is also hidden). This should be properly documented if/when we do decide
119
+ # to expose it more publicly.
120
+ if not url and (
121
+ component_base_path := config.get_option("server.customComponentBaseUrlPath")
122
+ ):
123
+ url = f"{component_base_path}/{component_name}/"
124
+
112
125
  # Create our component object, and register it.
113
126
  component = CustomComponent(
114
127
  name=component_name, path=path, url=url, module_name=module_name
streamlit/config.py CHANGED
@@ -825,6 +825,19 @@ _create_option(
825
825
  type_=str,
826
826
  )
827
827
 
828
+ _create_option(
829
+ "server.customComponentBaseUrlPath",
830
+ description="""
831
+ The base path for the URL where Streamlit should serve custom
832
+ components. If this config var is set and a call to ``declare_component``
833
+ does not specify a URL, the component's URL will be set to
834
+ ``f"{server.customComponentBaseUrlPath}/{component_name}/"``.
835
+ """,
836
+ default_val="",
837
+ type_=str,
838
+ visibility="hidden",
839
+ )
840
+
828
841
  # TODO: Rename to server.enableCorsProtection.
829
842
  _create_option(
830
843
  "server.enableCORS",
@@ -1210,6 +1223,20 @@ _create_theme_options(
1210
1223
  """,
1211
1224
  )
1212
1225
 
1226
+ _create_theme_options(
1227
+ "codeFontWeight",
1228
+ categories=["theme"],
1229
+ description="""
1230
+ The font weight for code blocks and code text.
1231
+
1232
+ This applies to inline code, code blocks (ex: `st.code`), and font in `st.json` and `st.help`.
1233
+ Valid values are 100-900, in increments of 100.
1234
+
1235
+ When unset, the default code font weight will be 400.
1236
+ """,
1237
+ type_=int,
1238
+ )
1239
+
1213
1240
  _create_theme_options(
1214
1241
  "headingFont",
1215
1242
  categories=["theme", CustomThemeCategories.SIDEBAR],
@@ -305,11 +305,11 @@ class ArrowMixin:
305
305
 
306
306
  If ``data`` is a ``pandas.Styler``, it will be used to style its
307
307
  underlying ``pandas.DataFrame``. Streamlit supports custom cell
308
- values and colors. It does not support some of the more exotic
309
- styling options, like bar charts, hovering, and captions. For
310
- these styling options, use column configuration instead. Text and
311
- number formatting from ``column_config`` always takes precedence
312
- over text and number formatting from ``pandas.Styler``.
308
+ values, colors, and font weights. It does not support some of the
309
+ more exotic styling options, like bar charts, hovering, and
310
+ captions. For these styling options, use column configuration
311
+ instead. Text and number formatting from ``column_config`` always
312
+ takes precedence over text and number formatting from ``pandas.Styler``.
313
313
 
314
314
  Collection-like objects include all Python-native ``Collection``
315
315
  types, such as ``dict``, ``list``, and ``set``.
@@ -20,7 +20,7 @@ from typing import TYPE_CHECKING, cast
20
20
  from streamlit.elements.lib.layout_utils import (
21
21
  Height,
22
22
  LayoutConfig,
23
- WidthWithoutContent,
23
+ Width,
24
24
  validate_height,
25
25
  validate_width,
26
26
  )
@@ -42,7 +42,7 @@ class CodeMixin:
42
42
  line_numbers: bool = False,
43
43
  wrap_lines: bool = False,
44
44
  height: Height | None = "content",
45
- width: WidthWithoutContent = "stretch",
45
+ width: Width = "stretch",
46
46
  ) -> DeltaGenerator:
47
47
  """Display a code block with optional syntax highlighting.
48
48
 
@@ -85,11 +85,13 @@ class CodeMixin:
85
85
  the screen on mobile devices, which makes it hard to scroll the
86
86
  rest of the app.
87
87
 
88
- width : "stretch" or int
88
+ width : "stretch", "content", or int
89
89
  The width of the code block element. This can be one of the following:
90
90
 
91
91
  - ``"stretch"`` (default): The width of the element matches the
92
92
  width of the parent container.
93
+ - ``"content"``: The width of the element matches the width of its
94
+ content, but doesn't exceed the width of the parent container.
93
95
  - An integer specifying the width in pixels: The element has a
94
96
  fixed width. If the specified width is greater than the width of
95
97
  the parent container, the width of the element matches the width
@@ -137,7 +139,7 @@ class CodeMixin:
137
139
  height = "content"
138
140
  else:
139
141
  validate_height(height, allow_content=True)
140
- validate_width(width)
142
+ validate_width(width, allow_content=True)
141
143
  layout_config = LayoutConfig(height=height, width=width)
142
144
 
143
145
  return self.dg._enqueue("code", code_proto, layout_config=layout_config)
@@ -20,7 +20,13 @@ from typing import TYPE_CHECKING, Any, Literal, Union, cast
20
20
 
21
21
  from typing_extensions import TypeAlias
22
22
 
23
- from streamlit.elements.lib.layout_utils import LayoutConfig, Width, validate_width
23
+ from streamlit.elements.lib.layout_utils import (
24
+ Height,
25
+ LayoutConfig,
26
+ Width,
27
+ validate_height,
28
+ validate_width,
29
+ )
24
30
  from streamlit.elements.lib.policies import maybe_raise_label_warnings
25
31
  from streamlit.elements.lib.utils import (
26
32
  LabelVisibility,
@@ -60,6 +66,7 @@ class MetricMixin:
60
66
  label_visibility: LabelVisibility = "visible",
61
67
  border: bool = False,
62
68
  width: Width = "stretch",
69
+ height: Height = "content",
63
70
  ) -> DeltaGenerator:
64
71
  r"""Display a metric in big bold font, with an optional indicator of how the metric changed.
65
72
 
@@ -124,6 +131,16 @@ class MetricMixin:
124
131
  ``False`` (default), no border is shown. If this is ``True``, a
125
132
  border is shown.
126
133
 
134
+ height : "content", "stretch", or int
135
+ The height of the metric element. This can be one of the following:
136
+
137
+ - ``"content"`` (default): The height of the element matches the
138
+ height of its content, but doesn't exceed the height of the
139
+ parent container.
140
+ - ``"stretch"``: The height of the element matches the height of the
141
+ parent container.
142
+ - An integer specifying the height in pixels.
143
+
127
144
  width : "stretch", "content", or int
128
145
  The width of the metric element. This can be one of the following:
129
146
 
@@ -218,8 +235,9 @@ class MetricMixin:
218
235
  label_visibility
219
236
  )
220
237
 
238
+ validate_height(height, allow_content=True)
221
239
  validate_width(width, allow_content=True)
222
- layout_config = LayoutConfig(width=width)
240
+ layout_config = LayoutConfig(width=width, height=height)
223
241
 
224
242
  return self.dg._enqueue("metric", metric_proto, layout_config=layout_config)
225
243
 
@@ -20,6 +20,11 @@ from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, cast, overloa
20
20
 
21
21
  from streamlit.dataframe_util import OptionSequence, convert_anything_to_list
22
22
  from streamlit.elements.lib.form_utils import current_form_id
23
+ from streamlit.elements.lib.layout_utils import (
24
+ LayoutConfig,
25
+ WidthWithoutContent,
26
+ validate_width,
27
+ )
23
28
  from streamlit.elements.lib.options_selector_utils import (
24
29
  convert_to_sequence_and_check_comparable,
25
30
  create_mappings,
@@ -170,6 +175,7 @@ class MultiSelectMixin:
170
175
  disabled: bool = False,
171
176
  label_visibility: LabelVisibility = "visible",
172
177
  accept_new_options: Literal[False] = False,
178
+ width: WidthWithoutContent = "stretch",
173
179
  ) -> list[T]: ...
174
180
 
175
181
  @overload
@@ -190,6 +196,7 @@ class MultiSelectMixin:
190
196
  disabled: bool = False,
191
197
  label_visibility: LabelVisibility = "visible",
192
198
  accept_new_options: Literal[True] = True,
199
+ width: WidthWithoutContent = "stretch",
193
200
  ) -> list[T | str]: ...
194
201
 
195
202
  @overload
@@ -210,6 +217,7 @@ class MultiSelectMixin:
210
217
  disabled: bool = False,
211
218
  label_visibility: LabelVisibility = "visible",
212
219
  accept_new_options: bool = False,
220
+ width: WidthWithoutContent = "stretch",
213
221
  ) -> list[T] | list[T | str]: ...
214
222
 
215
223
  @gather_metrics("multiselect")
@@ -230,6 +238,7 @@ class MultiSelectMixin:
230
238
  disabled: bool = False,
231
239
  label_visibility: LabelVisibility = "visible",
232
240
  accept_new_options: Literal[False, True] | bool = False,
241
+ width: WidthWithoutContent = "stretch",
233
242
  ) -> list[T] | list[T | str]:
234
243
  r"""Display a multiselect widget.
235
244
  The multiselect widget starts as empty.
@@ -332,6 +341,17 @@ class MultiSelectMixin:
332
341
  can't be added if a case-insensitive match is already selected. The
333
342
  ``max_selections`` argument is still enforced.
334
343
 
344
+ width : "stretch" or int
345
+ The width of the multiselect widget. This can be one of the
346
+ following:
347
+
348
+ - ``"stretch"`` (default): The width of the widget matches the
349
+ width of the parent container.
350
+ - An integer specifying the width in pixels: The widget has a
351
+ fixed width. If the specified width is greater than the width of
352
+ the parent container, the width of the widget matches the width
353
+ of the parent container.
354
+
335
355
  Returns
336
356
  -------
337
357
  list
@@ -397,6 +417,7 @@ class MultiSelectMixin:
397
417
  disabled=disabled,
398
418
  label_visibility=label_visibility,
399
419
  accept_new_options=accept_new_options,
420
+ width=width,
400
421
  ctx=ctx,
401
422
  )
402
423
 
@@ -417,6 +438,7 @@ class MultiSelectMixin:
417
438
  disabled: bool = False,
418
439
  label_visibility: LabelVisibility = "visible",
419
440
  accept_new_options: bool = False,
441
+ width: WidthWithoutContent = "stretch",
420
442
  ctx: ScriptRunContext | None = None,
421
443
  ) -> list[T] | list[T | str]:
422
444
  key = to_key(key)
@@ -457,6 +479,7 @@ class MultiSelectMixin:
457
479
  max_selections=max_selections,
458
480
  placeholder=placeholder,
459
481
  accept_new_options=accept_new_options,
482
+ width=width,
460
483
  )
461
484
 
462
485
  proto = MultiSelectProto()
@@ -503,10 +526,13 @@ class MultiSelectMixin:
503
526
  proto.raw_values[:] = serde.serialize(widget_state.value)
504
527
  proto.set_value = True
505
528
 
529
+ validate_width(width)
530
+ layout_config = LayoutConfig(width=width)
531
+
506
532
  if ctx:
507
533
  save_for_app_testing(ctx, element_id, format_func)
508
534
 
509
- self.dg._enqueue(widget_name, proto)
535
+ self.dg._enqueue(widget_name, proto, layout_config=layout_config)
510
536
 
511
537
  return widget_state.value
512
538
 
@@ -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\"\x8e\n\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\x14\n\x0cheading_font\x18\x0c \x01(\t\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\x1a\n\rbutton_radius\x18\x1a \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0c\x62order_color\x18\x13 \x01(\tH\x02\x88\x01\x01\x12#\n\x16\x64\x61taframe_border_color\x18\x1b \x01(\tH\x03\x88\x01\x01\x12\x1f\n\x12show_widget_border\x18\x14 \x01(\x08H\x04\x88\x01\x01\x12\x17\n\nlink_color\x18\x15 \x01(\tH\x05\x88\x01\x01\x12\x1b\n\x0elink_underline\x18\x1d \x01(\x08H\x06\x88\x01\x01\x12\x1b\n\x0e\x62\x61se_font_size\x18\x16 \x01(\x05H\x07\x88\x01\x01\x12\x1d\n\x10\x62\x61se_font_weight\x18\x1e \x01(\x05H\x08\x88\x01\x01\x12\x1b\n\x0e\x63ode_font_size\x18\x1c \x01(\tH\t\x88\x01\x01\x12 \n\x13show_sidebar_border\x18\x17 \x01(\x08H\n\x88\x01\x01\x12(\n\x07sidebar\x18\x18 \x01(\x0b\x32\x12.CustomThemeConfigH\x0b\x88\x01\x01\x12\"\n\x15\x63ode_background_color\x18\x19 \x01(\tH\x0c\x88\x01\x01\x12.\n!dataframe_header_background_color\x18\x1f \x01(\tH\r\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\x10\n\x0e_button_radiusB\x0f\n\r_border_colorB\x19\n\x17_dataframe_border_colorB\x15\n\x13_show_widget_borderB\r\n\x0b_link_colorB\x11\n\x0f_link_underlineB\x11\n\x0f_base_font_sizeB\x13\n\x11_base_font_weightB\x11\n\x0f_code_font_sizeB\x16\n\x14_show_sidebar_borderB\n\n\x08_sidebarB\x18\n\x16_code_background_colorB$\n\"_dataframe_header_background_color\"w\n\x08\x46ontFace\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0e\n\x06\x66\x61mily\x18\x02 \x01(\t\x12\x12\n\x06weight\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x0cweight_range\x18\x05 \x01(\t\x12\r\n\x05style\x18\x04 \x01(\t\x12\x15\n\runicode_range\x18\x06 \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\"a\n\x08UserInfo\x12\x17\n\x0finstallation_id\x18\x01 \x01(\t\x12\x1a\n\x12installation_id_v3\x18\x05 \x01(\t\x12\x1a\n\x12installation_id_v4\x18\x06 \x01(\tJ\x04\x08\x02\x10\x03\"l\n\x0f\x45nvironmentInfo\x12\x19\n\x11streamlit_version\x18\x01 \x01(\t\x12\x16\n\x0epython_version\x18\x02 \x01(\t\x12\x11\n\tserver_os\x18\x03 \x01(\t\x12\x13\n\x0bhas_display\x18\x04 \x01(\x08\x42/\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\"\xc2\n\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\x14\n\x0cheading_font\x18\x0c \x01(\t\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\x1a\n\rbutton_radius\x18\x1a \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0c\x62order_color\x18\x13 \x01(\tH\x02\x88\x01\x01\x12#\n\x16\x64\x61taframe_border_color\x18\x1b \x01(\tH\x03\x88\x01\x01\x12\x1f\n\x12show_widget_border\x18\x14 \x01(\x08H\x04\x88\x01\x01\x12\x17\n\nlink_color\x18\x15 \x01(\tH\x05\x88\x01\x01\x12\x1b\n\x0elink_underline\x18\x1d \x01(\x08H\x06\x88\x01\x01\x12\x1b\n\x0e\x62\x61se_font_size\x18\x16 \x01(\x05H\x07\x88\x01\x01\x12\x1d\n\x10\x62\x61se_font_weight\x18\x1e \x01(\x05H\x08\x88\x01\x01\x12\x1d\n\x10\x63ode_font_weight\x18 \x01(\x05H\t\x88\x01\x01\x12\x1b\n\x0e\x63ode_font_size\x18\x1c \x01(\tH\n\x88\x01\x01\x12 \n\x13show_sidebar_border\x18\x17 \x01(\x08H\x0b\x88\x01\x01\x12(\n\x07sidebar\x18\x18 \x01(\x0b\x32\x12.CustomThemeConfigH\x0c\x88\x01\x01\x12\"\n\x15\x63ode_background_color\x18\x19 \x01(\tH\r\x88\x01\x01\x12.\n!dataframe_header_background_color\x18\x1f \x01(\tH\x0e\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\x10\n\x0e_button_radiusB\x0f\n\r_border_colorB\x19\n\x17_dataframe_border_colorB\x15\n\x13_show_widget_borderB\r\n\x0b_link_colorB\x11\n\x0f_link_underlineB\x11\n\x0f_base_font_sizeB\x13\n\x11_base_font_weightB\x13\n\x11_code_font_weightB\x11\n\x0f_code_font_sizeB\x16\n\x14_show_sidebar_borderB\n\n\x08_sidebarB\x18\n\x16_code_background_colorB$\n\"_dataframe_header_background_color\"w\n\x08\x46ontFace\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0e\n\x06\x66\x61mily\x18\x02 \x01(\t\x12\x12\n\x06weight\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x0cweight_range\x18\x05 \x01(\t\x12\r\n\x05style\x18\x04 \x01(\t\x12\x15\n\runicode_range\x18\x06 \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\"a\n\x08UserInfo\x12\x17\n\x0finstallation_id\x18\x01 \x01(\t\x12\x1a\n\x12installation_id_v3\x18\x05 \x01(\t\x12\x1a\n\x12installation_id_v4\x18\x06 \x01(\tJ\x04\x08\x02\x10\x03\"l\n\x0f\x45nvironmentInfo\x12\x19\n\x11streamlit_version\x18\x01 \x01(\t\x12\x16\n\x0epython_version\x18\x02 \x01(\t\x12\x11\n\tserver_os\x18\x03 \x01(\t\x12\x13\n\x0bhas_display\x18\x04 \x01(\x08\x42/\n\x1c\x63om.snowflake.apps.streamlitB\x0fNewSessionProtob\x06proto3')
20
20
 
21
21
  _globals = globals()
22
22
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -35,19 +35,19 @@ if not _descriptor._USE_C_DESCRIPTORS:
35
35
  _globals['_CONFIG_TOOLBARMODE']._serialized_start=800
36
36
  _globals['_CONFIG_TOOLBARMODE']._serialized_end=863
37
37
  _globals['_CUSTOMTHEMECONFIG']._serialized_start=872
38
- _globals['_CUSTOMTHEMECONFIG']._serialized_end=2166
39
- _globals['_CUSTOMTHEMECONFIG_BASETHEME']._serialized_start=1784
40
- _globals['_CUSTOMTHEMECONFIG_BASETHEME']._serialized_end=1816
41
- _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_start=1818
42
- _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_end=1872
43
- _globals['_FONTFACE']._serialized_start=2168
44
- _globals['_FONTFACE']._serialized_end=2287
45
- _globals['_RADII']._serialized_start=2289
46
- _globals['_RADII']._serialized_end=2349
47
- _globals['_FONTSIZES']._serialized_start=2351
48
- _globals['_FONTSIZES']._serialized_end=2435
49
- _globals['_USERINFO']._serialized_start=2437
50
- _globals['_USERINFO']._serialized_end=2534
51
- _globals['_ENVIRONMENTINFO']._serialized_start=2536
52
- _globals['_ENVIRONMENTINFO']._serialized_end=2644
38
+ _globals['_CUSTOMTHEMECONFIG']._serialized_end=2218
39
+ _globals['_CUSTOMTHEMECONFIG_BASETHEME']._serialized_start=1815
40
+ _globals['_CUSTOMTHEMECONFIG_BASETHEME']._serialized_end=1847
41
+ _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_start=1849
42
+ _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_end=1903
43
+ _globals['_FONTFACE']._serialized_start=2220
44
+ _globals['_FONTFACE']._serialized_end=2339
45
+ _globals['_RADII']._serialized_start=2341
46
+ _globals['_RADII']._serialized_end=2401
47
+ _globals['_FONTSIZES']._serialized_start=2403
48
+ _globals['_FONTSIZES']._serialized_end=2487
49
+ _globals['_USERINFO']._serialized_start=2489
50
+ _globals['_USERINFO']._serialized_end=2586
51
+ _globals['_ENVIRONMENTINFO']._serialized_start=2588
52
+ _globals['_ENVIRONMENTINFO']._serialized_end=2696
53
53
  # @@protoc_insertion_point(module_scope)
@@ -293,6 +293,7 @@ class CustomThemeConfig(google.protobuf.message.Message):
293
293
  LINK_UNDERLINE_FIELD_NUMBER: builtins.int
294
294
  BASE_FONT_SIZE_FIELD_NUMBER: builtins.int
295
295
  BASE_FONT_WEIGHT_FIELD_NUMBER: builtins.int
296
+ CODE_FONT_WEIGHT_FIELD_NUMBER: builtins.int
296
297
  CODE_FONT_SIZE_FIELD_NUMBER: builtins.int
297
298
  SHOW_SIDEBAR_BORDER_FIELD_NUMBER: builtins.int
298
299
  SIDEBAR_FIELD_NUMBER: builtins.int
@@ -323,6 +324,7 @@ class CustomThemeConfig(google.protobuf.message.Message):
323
324
  link_underline: builtins.bool
324
325
  base_font_size: builtins.int
325
326
  base_font_weight: builtins.int
327
+ code_font_weight: builtins.int
326
328
  code_font_size: builtins.str
327
329
  show_sidebar_border: builtins.bool
328
330
  code_background_color: builtins.str
@@ -366,14 +368,15 @@ class CustomThemeConfig(google.protobuf.message.Message):
366
368
  link_underline: builtins.bool | None = ...,
367
369
  base_font_size: builtins.int | None = ...,
368
370
  base_font_weight: builtins.int | None = ...,
371
+ code_font_weight: builtins.int | None = ...,
369
372
  code_font_size: builtins.str | None = ...,
370
373
  show_sidebar_border: builtins.bool | None = ...,
371
374
  sidebar: global___CustomThemeConfig | None = ...,
372
375
  code_background_color: builtins.str | None = ...,
373
376
  dataframe_header_background_color: builtins.str | None = ...,
374
377
  ) -> None: ...
375
- def HasField(self, field_name: typing.Literal["_base_font_size", b"_base_font_size", "_base_font_weight", b"_base_font_weight", "_base_radius", b"_base_radius", "_border_color", b"_border_color", "_button_radius", b"_button_radius", "_code_background_color", b"_code_background_color", "_code_font_size", b"_code_font_size", "_dataframe_border_color", b"_dataframe_border_color", "_dataframe_header_background_color", b"_dataframe_header_background_color", "_link_color", b"_link_color", "_link_underline", b"_link_underline", "_show_sidebar_border", b"_show_sidebar_border", "_show_widget_border", b"_show_widget_border", "_sidebar", b"_sidebar", "base_font_size", b"base_font_size", "base_font_weight", b"base_font_weight", "base_radius", b"base_radius", "border_color", b"border_color", "button_radius", b"button_radius", "code_background_color", b"code_background_color", "code_font_size", b"code_font_size", "dataframe_border_color", b"dataframe_border_color", "dataframe_header_background_color", b"dataframe_header_background_color", "font_sizes", b"font_sizes", "link_color", b"link_color", "link_underline", b"link_underline", "radii", b"radii", "show_sidebar_border", b"show_sidebar_border", "show_widget_border", b"show_widget_border", "sidebar", b"sidebar"]) -> builtins.bool: ...
376
- def ClearField(self, field_name: typing.Literal["_base_font_size", b"_base_font_size", "_base_font_weight", b"_base_font_weight", "_base_radius", b"_base_radius", "_border_color", b"_border_color", "_button_radius", b"_button_radius", "_code_background_color", b"_code_background_color", "_code_font_size", b"_code_font_size", "_dataframe_border_color", b"_dataframe_border_color", "_dataframe_header_background_color", b"_dataframe_header_background_color", "_link_color", b"_link_color", "_link_underline", b"_link_underline", "_show_sidebar_border", b"_show_sidebar_border", "_show_widget_border", b"_show_widget_border", "_sidebar", b"_sidebar", "background_color", b"background_color", "base", b"base", "base_font_size", b"base_font_size", "base_font_weight", b"base_font_weight", "base_radius", b"base_radius", "body_font", b"body_font", "border_color", b"border_color", "button_radius", b"button_radius", "code_background_color", b"code_background_color", "code_font", b"code_font", "code_font_size", b"code_font_size", "dataframe_border_color", b"dataframe_border_color", "dataframe_header_background_color", b"dataframe_header_background_color", "font", b"font", "font_faces", b"font_faces", "font_sizes", b"font_sizes", "heading_font", b"heading_font", "link_color", b"link_color", "link_underline", b"link_underline", "primary_color", b"primary_color", "radii", b"radii", "secondary_background_color", b"secondary_background_color", "show_sidebar_border", b"show_sidebar_border", "show_widget_border", b"show_widget_border", "sidebar", b"sidebar", "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: ...
378
+ def HasField(self, field_name: typing.Literal["_base_font_size", b"_base_font_size", "_base_font_weight", b"_base_font_weight", "_base_radius", b"_base_radius", "_border_color", b"_border_color", "_button_radius", b"_button_radius", "_code_background_color", b"_code_background_color", "_code_font_size", b"_code_font_size", "_code_font_weight", b"_code_font_weight", "_dataframe_border_color", b"_dataframe_border_color", "_dataframe_header_background_color", b"_dataframe_header_background_color", "_link_color", b"_link_color", "_link_underline", b"_link_underline", "_show_sidebar_border", b"_show_sidebar_border", "_show_widget_border", b"_show_widget_border", "_sidebar", b"_sidebar", "base_font_size", b"base_font_size", "base_font_weight", b"base_font_weight", "base_radius", b"base_radius", "border_color", b"border_color", "button_radius", b"button_radius", "code_background_color", b"code_background_color", "code_font_size", b"code_font_size", "code_font_weight", b"code_font_weight", "dataframe_border_color", b"dataframe_border_color", "dataframe_header_background_color", b"dataframe_header_background_color", "font_sizes", b"font_sizes", "link_color", b"link_color", "link_underline", b"link_underline", "radii", b"radii", "show_sidebar_border", b"show_sidebar_border", "show_widget_border", b"show_widget_border", "sidebar", b"sidebar"]) -> builtins.bool: ...
379
+ def ClearField(self, field_name: typing.Literal["_base_font_size", b"_base_font_size", "_base_font_weight", b"_base_font_weight", "_base_radius", b"_base_radius", "_border_color", b"_border_color", "_button_radius", b"_button_radius", "_code_background_color", b"_code_background_color", "_code_font_size", b"_code_font_size", "_code_font_weight", b"_code_font_weight", "_dataframe_border_color", b"_dataframe_border_color", "_dataframe_header_background_color", b"_dataframe_header_background_color", "_link_color", b"_link_color", "_link_underline", b"_link_underline", "_show_sidebar_border", b"_show_sidebar_border", "_show_widget_border", b"_show_widget_border", "_sidebar", b"_sidebar", "background_color", b"background_color", "base", b"base", "base_font_size", b"base_font_size", "base_font_weight", b"base_font_weight", "base_radius", b"base_radius", "body_font", b"body_font", "border_color", b"border_color", "button_radius", b"button_radius", "code_background_color", b"code_background_color", "code_font", b"code_font", "code_font_size", b"code_font_size", "code_font_weight", b"code_font_weight", "dataframe_border_color", b"dataframe_border_color", "dataframe_header_background_color", b"dataframe_header_background_color", "font", b"font", "font_faces", b"font_faces", "font_sizes", b"font_sizes", "heading_font", b"heading_font", "link_color", b"link_color", "link_underline", b"link_underline", "primary_color", b"primary_color", "radii", b"radii", "secondary_background_color", b"secondary_background_color", "show_sidebar_border", b"show_sidebar_border", "show_widget_border", b"show_widget_border", "sidebar", b"sidebar", "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: ...
377
380
  @typing.overload
378
381
  def WhichOneof(self, oneof_group: typing.Literal["_base_font_size", b"_base_font_size"]) -> typing.Literal["base_font_size"] | None: ...
379
382
  @typing.overload
@@ -389,6 +392,8 @@ class CustomThemeConfig(google.protobuf.message.Message):
389
392
  @typing.overload
390
393
  def WhichOneof(self, oneof_group: typing.Literal["_code_font_size", b"_code_font_size"]) -> typing.Literal["code_font_size"] | None: ...
391
394
  @typing.overload
395
+ def WhichOneof(self, oneof_group: typing.Literal["_code_font_weight", b"_code_font_weight"]) -> typing.Literal["code_font_weight"] | None: ...
396
+ @typing.overload
392
397
  def WhichOneof(self, oneof_group: typing.Literal["_dataframe_border_color", b"_dataframe_border_color"]) -> typing.Literal["dataframe_border_color"] | None: ...
393
398
  @typing.overload
394
399
  def WhichOneof(self, oneof_group: typing.Literal["_dataframe_header_background_color", b"_dataframe_header_background_color"]) -> typing.Literal["dataframe_header_background_color"] | None: ...
@@ -37,7 +37,7 @@
37
37
  <script>
38
38
  window.prerenderReady = false
39
39
  </script>
40
- <script type="module" crossorigin src="./static/js/index.GQSrzYvF.js"></script>
40
+ <script type="module" crossorigin src="./static/js/index.BEHais2d.js"></script>
41
41
  <link rel="stylesheet" crossorigin href="./static/css/index.CJVRHjQZ.css">
42
42
  </head>
43
43
  <body>