streamlit-nightly 1.45.2.dev20250610__py3-none-any.whl → 1.45.2.dev20250612__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 (114) hide show
  1. streamlit/elements/lib/column_types.py +5 -2
  2. streamlit/elements/markdown.py +32 -3
  3. streamlit/proto/NewSession_pb2.py +12 -10
  4. streamlit/proto/NewSession_pb2.pyi +12 -1
  5. streamlit/runtime/app_session.py +3 -0
  6. streamlit/static/index.html +2 -2
  7. streamlit/static/manifest.json +239 -299
  8. streamlit/static/static/css/{index.B57yoT8i.css → index.CJVRHjQZ.css} +1 -1
  9. streamlit/static/static/js/{ErrorOutline.esm.BFmVpS9Y.js → ErrorOutline.esm.DAsQnQAG.js} +1 -1
  10. streamlit/static/static/js/{FileDownload.esm.CUwGnb6l.js → FileDownload.esm.CDvOgvtF.js} +1 -1
  11. streamlit/static/static/js/{FileHelper.7jhiJzN9.js → FileHelper.DDa1_S8P.js} +1 -1
  12. streamlit/static/static/js/{FormClearHelper.DHx8ahLp.js → FormClearHelper.Cd0equ6H.js} +1 -1
  13. streamlit/static/static/js/{Hooks.BDCbPb9Z.js → Hooks.CO94IhEZ.js} +1 -1
  14. streamlit/static/static/js/{InputInstructions.B29VfaHu.js → InputInstructions.DIPLfwqq.js} +1 -1
  15. streamlit/static/static/js/{ProgressBar.DCvzFED3.js → ProgressBar.B96Luxcl.js} +1 -1
  16. streamlit/static/static/js/{RenderInPortalIfExists.Dum6Yo4x.js → RenderInPortalIfExists.V4gb3DZM.js} +1 -1
  17. streamlit/static/static/js/Toolbar.CGCqedkz.js +1 -0
  18. streamlit/static/static/js/{base-input.B5D5SCDU.js → base-input.8P8uB-P_.js} +1 -1
  19. streamlit/static/static/js/{checkbox.eyyRCmXH.js → checkbox.BaU0SuPN.js} +1 -1
  20. streamlit/static/static/js/{createSuper.Bfw-n2CW.js → createSuper.zGgxEDDA.js} +1 -1
  21. streamlit/static/static/js/{data-grid-overlay-editor.Ic_-1uWB.js → data-grid-overlay-editor.BBQL2MW6.js} +1 -1
  22. streamlit/static/static/js/{downloader.BrOujhsH.js → downloader.CmINHiHs.js} +1 -1
  23. streamlit/static/static/js/{es6.Da9PSRiO.js → es6.C3QC4mZP.js} +2 -2
  24. streamlit/static/static/js/{iframeResizer.contentWindow.-m9KEHjj.js → iframeResizer.contentWindow.DifXO9xe.js} +1 -1
  25. streamlit/static/static/js/{index.hHS2hw5y.js → index.9NZLK4V5.js} +1 -1
  26. streamlit/static/static/js/{index.Ff_iBwit.js → index.B0wvsyIn.js} +2 -2
  27. streamlit/static/static/js/{index.CsG3cY4S.js → index.B48AJdNd.js} +1 -1
  28. streamlit/static/static/js/{index.LVLiaAG5.js → index.B6UeWScF.js} +1 -1
  29. streamlit/static/static/js/{index.DM31JZhq.js → index.B7CU3ww0.js} +1 -1
  30. streamlit/static/static/js/{index.CsRqF1UT.js → index.BEwSEGpG.js} +1 -1
  31. streamlit/static/static/js/{index.DVX3m8nA.js → index.BExvuXH2.js} +1 -1
  32. streamlit/static/static/js/{index.lfluHnyb.js → index.BFBJdPsK.js} +1 -1
  33. streamlit/static/static/js/{index.BCuDY7Wq.js → index.BGlybWkw.js} +1 -1
  34. streamlit/static/static/js/index.BKXdOrM1.js +1 -0
  35. streamlit/static/static/js/index.BLxZobpt.js +1 -0
  36. streamlit/static/static/js/{index.CVnrNDsY.js → index.Br2GWLEm.js} +1 -1
  37. streamlit/static/static/js/{index.D-xYY77h.js → index.Bt2lRpBU.js} +1 -1
  38. streamlit/static/static/js/{index.Bkc0rVhi.js → index.C9au0nd6.js} +1 -1
  39. streamlit/static/static/js/index.CKWanB9Z.js +1 -0
  40. streamlit/static/static/js/index.CUQJU-d8.js +778 -0
  41. streamlit/static/static/js/{index.B6hFQ_0c.js → index.CVlA3XMi.js} +1 -1
  42. streamlit/static/static/js/{index.DD4IkJLw.js → index.CerKV33b.js} +22 -22
  43. streamlit/static/static/js/{index.rCHgixxf.js → index.CqqggdSR.js} +1 -1
  44. streamlit/static/static/js/{index.B9zQe0Ch.js → index.CslLBxh_.js} +2 -2
  45. streamlit/static/static/js/{index.X0NCujg7.js → index.CyOYxgX5.js} +1 -1
  46. streamlit/static/static/js/index.D2Mj8XID.js +1 -0
  47. streamlit/static/static/js/{index.CZ7DfyLC.js → index.D6YD7L9B.js} +1 -1
  48. streamlit/static/static/js/{index.tgnkrUS7.js → index.D6_IUG7D.js} +1 -1
  49. streamlit/static/static/js/{index.B_hrvDfD.js → index.D6tuwhtG.js} +1 -1
  50. streamlit/static/static/js/{index.DpjOn_mW.js → index.D7T7fEUZ.js} +1 -1
  51. streamlit/static/static/js/{index.B2Wwybqa.js → index.DRvVsMEA.js} +1 -1
  52. streamlit/static/static/js/index.DbuxO4aX.js +1 -0
  53. streamlit/static/static/js/{index.bgJFjVuq.js → index.DegBKQaf.js} +16 -16
  54. streamlit/static/static/js/index.DfDtyiwa.js +1 -0
  55. streamlit/static/static/js/{index.DHyANL2t.js → index.P3Gk3KUg.js} +1 -1
  56. streamlit/static/static/js/{index.Da6TsobW.js → index.Rbok_xK8.js} +1 -1
  57. streamlit/static/static/js/{index.Cy5cgtmd.js → index.TB4RwQ5L.js} +1 -1
  58. streamlit/static/static/js/{index.B9Hmg5tY.js → index.hIOqOF3N.js} +1 -1
  59. streamlit/static/static/js/index.iYTNSFIE.js +1 -0
  60. streamlit/static/static/js/{index.Dv1JTAEg.js → index.jhzg5Fkk.js} +1 -1
  61. streamlit/static/static/js/{index.DKRwWqPL.js → index.vMfNZrTu.js} +1 -1
  62. streamlit/static/static/js/{input.CcBKvzV7.js → input.BpCKuvTL.js} +1 -1
  63. streamlit/static/static/js/{memory.Dy3vhhGd.js → memory.DRT-6qe5.js} +1 -1
  64. streamlit/static/static/js/{mergeWith.Br7ttj2E.js → mergeWith.C_cG93IR.js} +1 -1
  65. streamlit/static/static/js/{number-overlay-editor.Dp8qIE2c.js → number-overlay-editor.DmJzexxY.js} +1 -1
  66. streamlit/static/static/js/{possibleConstructorReturn.DrBKFKPb.js → possibleConstructorReturn.CGq_veM9.js} +1 -1
  67. streamlit/static/static/js/{sandbox._fV6ffVT.js → sandbox.B6wFYIT9.js} +1 -1
  68. streamlit/static/static/js/{textarea.CG3YusUv.js → textarea.D9fcLEU8.js} +1 -1
  69. streamlit/static/static/js/{timepicker.CgWFbpop.js → timepicker.Bnuz89hd.js} +1 -1
  70. streamlit/static/static/js/{toConsumableArray.COmxQMZV.js → toConsumableArray.oLOBJjzs.js} +1 -1
  71. streamlit/static/static/js/{uniqueId.Cp7qO6qN.js → uniqueId.Yanu-Bte.js} +1 -1
  72. streamlit/static/static/js/{useBasicWidgetState.CunX1Hmv.js → useBasicWidgetState.D2Acm4ak.js} +1 -1
  73. streamlit/static/static/js/{useOnInputChange.DCd-U4SE.js → useOnInputChange.CtoO_nCV.js} +1 -1
  74. streamlit/static/static/js/withFullScreenWrapper.DjCGsGNa.js +1 -0
  75. streamlit/static/static/media/SourceCodeVF-Italic.ttf.Ba1oaZG1.woff2 +0 -0
  76. streamlit/static/static/media/SourceCodeVF-Upright.ttf.BjWn63N-.woff2 +0 -0
  77. streamlit/static/static/media/SourceSansVF-Italic.ttf.Bt9VkdQ3.woff2 +0 -0
  78. streamlit/static/static/media/SourceSansVF-Upright.ttf.BsWL4Kly.woff2 +0 -0
  79. streamlit/static/static/media/SourceSerifVariable-Italic.ttf.CVdzAtxO.woff2 +0 -0
  80. streamlit/static/static/media/SourceSerifVariable-Roman.ttf.mdpVL9bi.woff2 +0 -0
  81. {streamlit_nightly-1.45.2.dev20250610.dist-info → streamlit_nightly-1.45.2.dev20250612.dist-info}/METADATA +1 -1
  82. {streamlit_nightly-1.45.2.dev20250610.dist-info → streamlit_nightly-1.45.2.dev20250612.dist-info}/RECORD +86 -98
  83. streamlit/static/static/js/Toolbar.BKJU0yem.js +0 -1
  84. streamlit/static/static/js/index.BFvBq9Ky.js +0 -1
  85. streamlit/static/static/js/index.BxCeuwGy.js +0 -782
  86. streamlit/static/static/js/index.C2jhjPwI.js +0 -1
  87. streamlit/static/static/js/index.C8Tx_yNT.js +0 -1
  88. streamlit/static/static/js/index.DWZy7E8v.js +0 -1
  89. streamlit/static/static/js/index.DkDFCkmE.js +0 -1
  90. streamlit/static/static/js/index.Dzd6lYTb.js +0 -1
  91. streamlit/static/static/js/index.E46WZGKk.js +0 -1
  92. streamlit/static/static/js/withFullScreenWrapper.C9CPnWj9.js +0 -1
  93. streamlit/static/static/media/SourceCode-Bold.ttf.CFEfr7-q.woff2 +0 -0
  94. streamlit/static/static/media/SourceCode-BoldIt.ttf.C-LkFXxa.woff2 +0 -0
  95. streamlit/static/static/media/SourceCode-It.ttf.CxFOx7N-.woff2 +0 -0
  96. streamlit/static/static/media/SourceCode-Regular.ttf.CBOlD63d.woff2 +0 -0
  97. streamlit/static/static/media/SourceCode-Semibold.ttf.CFHwW3Wd.woff2 +0 -0
  98. streamlit/static/static/media/SourceCode-SemiboldIt.ttf.Cg2yRu82.woff2 +0 -0
  99. streamlit/static/static/media/SourceSans-Bold.ttf.gn7Db9ke.woff2 +0 -0
  100. streamlit/static/static/media/SourceSans-BoldIt.ttf.Bp6Ygjgu.woff2 +0 -0
  101. streamlit/static/static/media/SourceSans-It.ttf.CKnmOrYX.woff2 +0 -0
  102. streamlit/static/static/media/SourceSans-Regular.ttf.BqTI-3mA.woff2 +0 -0
  103. streamlit/static/static/media/SourceSans-Semibold.ttf.BQV5CVwD.woff2 +0 -0
  104. streamlit/static/static/media/SourceSans-SemiboldIt.ttf.C62jiOej.woff2 +0 -0
  105. streamlit/static/static/media/SourceSerif-Bold.ttf.Csh8T7yr.woff2 +0 -0
  106. streamlit/static/static/media/SourceSerif-BoldIt.ttf.1j4hxMHI.woff2 +0 -0
  107. streamlit/static/static/media/SourceSerif-It.ttf.Cr-UUpZM.woff2 +0 -0
  108. streamlit/static/static/media/SourceSerif-Regular.ttf.BNbBs0kC.woff2 +0 -0
  109. streamlit/static/static/media/SourceSerif-Semibold.ttf.CL4HK1l8.woff2 +0 -0
  110. streamlit/static/static/media/SourceSerif-SemiboldIt.ttf.C2G1sf1n.woff2 +0 -0
  111. {streamlit_nightly-1.45.2.dev20250610.data → streamlit_nightly-1.45.2.dev20250612.data}/scripts/streamlit.cmd +0 -0
  112. {streamlit_nightly-1.45.2.dev20250610.dist-info → streamlit_nightly-1.45.2.dev20250612.dist-info}/WHEEL +0 -0
  113. {streamlit_nightly-1.45.2.dev20250610.dist-info → streamlit_nightly-1.45.2.dev20250612.dist-info}/entry_points.txt +0 -0
  114. {streamlit_nightly-1.45.2.dev20250610.dist-info → streamlit_nightly-1.45.2.dev20250612.dist-info}/top_level.txt +0 -0
@@ -32,6 +32,7 @@ NumberFormat: TypeAlias = Literal[
32
32
  "localized",
33
33
  "dollar",
34
34
  "euro",
35
+ "yen",
35
36
  "percent",
36
37
  "compact",
37
38
  "scientific",
@@ -416,7 +417,7 @@ def NumberColumn(
416
417
  Specifies the default value in this column when a new row is added by
417
418
  the user. This defaults to ``None``.
418
419
 
419
- format: str, "plain", "localized", "percent", "dollar", "euro", "accounting", "compact", "scientific", "engineering", or None
420
+ format: str, "plain", "localized", "percent", "dollar", "euro", "yen", "accounting", "compact", "scientific", "engineering", or None
420
421
  A format string controlling how numbers are displayed.
421
422
  This can be one of the following values:
422
423
 
@@ -426,6 +427,7 @@ def NumberColumn(
426
427
  - ``"percent"``: Show the number as a percentage (e.g. "123456.70%").
427
428
  - ``"dollar"``: Show the number as a dollar amount (e.g. "$1,234.57").
428
429
  - ``"euro"``: Show the number as a euro amount (e.g. "€1,234.57").
430
+ - ``"yen"``: Show the number as a yen amount (e.g. "¥1,235").
429
431
  - ``"accounting"``: Show the number in an accounting format (e.g. "1,234.00").
430
432
  - ``"compact"``: Show the number in a compact format (e.g. "1.2K").
431
433
  - ``"scientific"``: Show the number in scientific notation (e.g. "1.235E3").
@@ -1991,7 +1993,7 @@ def ProgressColumn(
1991
1993
  the Markdown directives described in the ``body`` parameter of
1992
1994
  ``st.markdown``.
1993
1995
 
1994
- format: str, "plain", "localized", "percent", "dollar", "euro", "accounting", "compact", "scientific", "engineering", or None
1996
+ format: str, "plain", "localized", "percent", "dollar", "euro", "yen", "accounting", "compact", "scientific", "engineering", or None
1995
1997
  A format string controlling how the numbers are displayed.
1996
1998
  This can be one of the following values:
1997
1999
 
@@ -2001,6 +2003,7 @@ def ProgressColumn(
2001
2003
  - ``"percent"``: Show the number as a percentage (e.g. "123456.70%").
2002
2004
  - ``"dollar"``: Show the number as a dollar amount (e.g. "$1,234.57").
2003
2005
  - ``"euro"``: Show the number as a euro amount (e.g. "€1,234.57").
2006
+ - ``"yen"``: Show the number as a yen amount (e.g. "¥1,235").
2004
2007
  - ``"accounting"``: Show the number in an accounting format (e.g. "1,234.00").
2005
2008
  - ``"compact"``: Show the number in a compact format (e.g. "1.2K").
2006
2009
  - ``"scientific"``: Show the number in scientific notation (e.g. "1.235E3").
@@ -43,6 +43,7 @@ class MarkdownMixin:
43
43
  unsafe_allow_html: bool = False,
44
44
  *, # keyword-only arguments:
45
45
  help: str | None = None,
46
+ width: Width = "content",
46
47
  ) -> DeltaGenerator:
47
48
  r"""Display string formatted as Markdown.
48
49
 
@@ -116,6 +117,11 @@ class MarkdownMixin:
116
117
  including the Markdown directives described in the ``body``
117
118
  parameter of ``st.markdown``.
118
119
 
120
+ width : int or "stretch" or "content"
121
+ The width of the markdown element. Can be an integer (pixels),
122
+ "stretch" to use the full width of the container, or "content"
123
+ (default) to size based on the content.
124
+
119
125
  Examples
120
126
  --------
121
127
  >>> import streamlit as st
@@ -147,7 +153,10 @@ class MarkdownMixin:
147
153
  if help:
148
154
  markdown_proto.help = help
149
155
 
150
- return self.dg._enqueue("markdown", markdown_proto)
156
+ validate_width(width, allow_content=True)
157
+ layout_config = LayoutConfig(width=width)
158
+
159
+ return self.dg._enqueue("markdown", markdown_proto, layout_config=layout_config)
151
160
 
152
161
  @gather_metrics("caption")
153
162
  def caption(
@@ -156,6 +165,7 @@ class MarkdownMixin:
156
165
  unsafe_allow_html: bool = False,
157
166
  *, # keyword-only arguments:
158
167
  help: str | None = None,
168
+ width: Width = "content",
159
169
  ) -> DeltaGenerator:
160
170
  """Display text in small font.
161
171
 
@@ -195,6 +205,11 @@ class MarkdownMixin:
195
205
  including the Markdown directives described in the ``body``
196
206
  parameter of ``st.markdown``.
197
207
 
208
+ width : int or "stretch" or "content"
209
+ The width of the caption. Can be an integer (pixels), "stretch" to
210
+ use the full width of the container, or "content" (default) to size
211
+ based on the content.
212
+
198
213
  Examples
199
214
  --------
200
215
  >>> import streamlit as st
@@ -210,7 +225,11 @@ class MarkdownMixin:
210
225
  caption_proto.element_type = MarkdownProto.Type.CAPTION
211
226
  if help:
212
227
  caption_proto.help = help
213
- return self.dg._enqueue("markdown", caption_proto)
228
+
229
+ validate_width(width, allow_content=True)
230
+ layout_config = LayoutConfig(width=width)
231
+
232
+ return self.dg._enqueue("markdown", caption_proto, layout_config=layout_config)
214
233
 
215
234
  @gather_metrics("latex")
216
235
  def latex(
@@ -324,6 +343,7 @@ class MarkdownMixin:
324
343
  "grey",
325
344
  "primary",
326
345
  ] = "blue",
346
+ width: Width = "content",
327
347
  ) -> DeltaGenerator:
328
348
  """Display a colored badge with an icon and label.
329
349
 
@@ -378,6 +398,11 @@ class MarkdownMixin:
378
398
  ``"primary"``, Streamlit will use the default primary accent color
379
399
  unless you set the ``theme.primaryColor`` configuration option.
380
400
 
401
+ width : int or "stretch" or "content"
402
+ The width of the badge. Can be an integer (pixels), "stretch" to
403
+ use the full width of the container, or "content" (default) to size
404
+ based on the content.
405
+
381
406
  Examples
382
407
  --------
383
408
  Create standalone badges with ``st.badge`` (with or without icons). If
@@ -406,7 +431,11 @@ class MarkdownMixin:
406
431
  badge_proto = MarkdownProto()
407
432
  badge_proto.body = f":{color}-badge[{icon_str}{escaped_label}]"
408
433
  badge_proto.element_type = MarkdownProto.Type.NATIVE
409
- return self.dg._enqueue("markdown", badge_proto)
434
+
435
+ validate_width(width, allow_content=True)
436
+ layout_config = LayoutConfig(width=width)
437
+
438
+ return self.dg._enqueue("markdown", badge_proto, layout_config=layout_config)
410
439
 
411
440
  @property
412
441
  def dg(self) -> DeltaGenerator:
@@ -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\"\xa4\x08\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\x0e\x62\x61se_font_size\x18\x16 \x01(\x05H\x06\x88\x01\x01\x12 \n\x13show_sidebar_border\x18\x17 \x01(\x08H\x07\x88\x01\x01\x12(\n\x07sidebar\x18\x18 \x01(\x0b\x32\x12.CustomThemeConfigH\x08\x88\x01\x01\x12\"\n\x15\x63ode_background_color\x18\x19 \x01(\tH\t\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_base_font_sizeB\x16\n\x14_show_sidebar_borderB\n\n\x08_sidebarB\x18\n\x16_code_background_color\"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\"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\"\xa4\x08\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\x0e\x62\x61se_font_size\x18\x16 \x01(\x05H\x06\x88\x01\x01\x12 \n\x13show_sidebar_border\x18\x17 \x01(\x08H\x07\x88\x01\x01\x12(\n\x07sidebar\x18\x18 \x01(\x0b\x32\x12.CustomThemeConfigH\x08\x88\x01\x01\x12\"\n\x15\x63ode_background_color\x18\x19 \x01(\tH\t\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_base_font_sizeB\x16\n\x14_show_sidebar_borderB\n\n\x08_sidebarB\x18\n\x16_code_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)
@@ -24,6 +24,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.NewSession_
24
24
  if not _descriptor._USE_C_DESCRIPTORS:
25
25
  _globals['DESCRIPTOR']._loaded_options = None
26
26
  _globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\017NewSessionProto'
27
+ _globals['_FONTFACE'].fields_by_name['weight']._loaded_options = None
28
+ _globals['_FONTFACE'].fields_by_name['weight']._serialized_options = b'\030\001'
27
29
  _globals['_NEWSESSION']._serialized_start=105
28
30
  _globals['_NEWSESSION']._serialized_end=398
29
31
  _globals['_INITIALIZE']._serialized_start=401
@@ -39,13 +41,13 @@ if not _descriptor._USE_C_DESCRIPTORS:
39
41
  _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_start=1681
40
42
  _globals['_CUSTOMTHEMECONFIG_FONTFAMILY']._serialized_end=1735
41
43
  _globals['_FONTFACE']._serialized_start=1934
42
- _globals['_FONTFACE']._serialized_end=2004
43
- _globals['_RADII']._serialized_start=2006
44
- _globals['_RADII']._serialized_end=2066
45
- _globals['_FONTSIZES']._serialized_start=2068
46
- _globals['_FONTSIZES']._serialized_end=2152
47
- _globals['_USERINFO']._serialized_start=2154
48
- _globals['_USERINFO']._serialized_end=2251
49
- _globals['_ENVIRONMENTINFO']._serialized_start=2253
50
- _globals['_ENVIRONMENTINFO']._serialized_end=2361
44
+ _globals['_FONTFACE']._serialized_end=2053
45
+ _globals['_RADII']._serialized_start=2055
46
+ _globals['_RADII']._serialized_end=2115
47
+ _globals['_FONTSIZES']._serialized_start=2117
48
+ _globals['_FONTSIZES']._serialized_end=2201
49
+ _globals['_USERINFO']._serialized_start=2203
50
+ _globals['_USERINFO']._serialized_end=2300
51
+ _globals['_ENVIRONMENTINFO']._serialized_start=2302
52
+ _globals['_ENVIRONMENTINFO']._serialized_end=2410
51
53
  # @@protoc_insertion_point(module_scope)
@@ -392,20 +392,31 @@ class FontFace(google.protobuf.message.Message):
392
392
  URL_FIELD_NUMBER: builtins.int
393
393
  FAMILY_FIELD_NUMBER: builtins.int
394
394
  WEIGHT_FIELD_NUMBER: builtins.int
395
+ WEIGHT_RANGE_FIELD_NUMBER: builtins.int
395
396
  STYLE_FIELD_NUMBER: builtins.int
397
+ UNICODE_RANGE_FIELD_NUMBER: builtins.int
396
398
  url: builtins.str
397
399
  family: builtins.str
400
+ """Equivalent to font-family @font-face CSS property."""
398
401
  weight: builtins.int
402
+ """DEPRECATED: Use weight_range instead which supports single weights & weight ranges."""
403
+ weight_range: builtins.str
404
+ """Equivalent to font-weight @font-face CSS property."""
399
405
  style: builtins.str
406
+ """Equivalent to font-style @font-face CSS property."""
407
+ unicode_range: builtins.str
408
+ """Equivalent to unicode-range @font-face CSS property."""
400
409
  def __init__(
401
410
  self,
402
411
  *,
403
412
  url: builtins.str = ...,
404
413
  family: builtins.str = ...,
405
414
  weight: builtins.int = ...,
415
+ weight_range: builtins.str = ...,
406
416
  style: builtins.str = ...,
417
+ unicode_range: builtins.str = ...,
407
418
  ) -> None: ...
408
- def ClearField(self, field_name: typing.Literal["family", b"family", "style", b"style", "url", b"url", "weight", b"weight"]) -> None: ...
419
+ def ClearField(self, field_name: typing.Literal["family", b"family", "style", b"style", "unicode_range", b"unicode_range", "url", b"url", "weight", b"weight", "weight_range", b"weight_range"]) -> None: ...
409
420
 
410
421
  global___FontFace = FontFace
411
422
 
@@ -987,6 +987,9 @@ def _populate_theme_msg(msg: CustomThemeConfig, section: str = "theme") -> None:
987
987
  if font_faces is not None:
988
988
  for font_face in font_faces:
989
989
  try:
990
+ if "weight" in font_face:
991
+ font_face["weight_range"] = str(font_face["weight"])
992
+ del font_face["weight"]
990
993
  msg.font_faces.append(ParseDict(font_face, FontFace()))
991
994
  except Exception as e: # noqa: PERF203
992
995
  _LOGGER.warning(
@@ -51,8 +51,8 @@
51
51
  <script>
52
52
  window.prerenderReady = false
53
53
  </script>
54
- <script type="module" crossorigin src="./static/js/index.BxCeuwGy.js"></script>
55
- <link rel="stylesheet" crossorigin href="./static/css/index.B57yoT8i.css">
54
+ <script type="module" crossorigin src="./static/js/index.CUQJU-d8.js"></script>
55
+ <link rel="stylesheet" crossorigin href="./static/css/index.CJVRHjQZ.css">
56
56
  </head>
57
57
  <body>
58
58
  <noscript>You need to enable JavaScript to run this app.</noscript>