streamlit-nightly 1.52.3.dev20260110__py3-none-any.whl → 1.52.3.dev20260112__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 (101) hide show
  1. streamlit/auth_util.py +24 -1
  2. streamlit/static/index.html +1 -1
  3. streamlit/static/manifest.json +295 -295
  4. streamlit/static/static/js/{ErrorOutline.esm.BcqUpfNe.js → ErrorOutline.esm.BjVqd_6R.js} +1 -1
  5. streamlit/static/static/js/{FileDownload.esm.CtJWBuub.js → FileDownload.esm.DJCSsghl.js} +1 -1
  6. streamlit/static/static/js/{FileHelper.D0dQPhOs.js → FileHelper.C---TH7o.js} +5 -5
  7. streamlit/static/static/js/{FormClearHelper.Cm3GDSk6.js → FormClearHelper.C-6BC487.js} +1 -1
  8. streamlit/static/static/js/{InputInstructions.D7Hxdzwv.js → InputInstructions.sxc3InCI.js} +1 -1
  9. streamlit/static/static/js/{Particles.vAUDtAR8.js → Particles.S8yD7iW-.js} +1 -1
  10. streamlit/static/static/js/{ProgressBar.Dp2CGRba.js → ProgressBar.BiYsyZCC.js} +1 -1
  11. streamlit/static/static/js/{StreamlitSyntaxHighlighter.DC0000nJ.js → StreamlitSyntaxHighlighter.9jZF8jX1.js} +1 -1
  12. streamlit/static/static/js/{TableChart.esm.DDVoSKOT.js → TableChart.esm.BdA4Q1rZ.js} +1 -1
  13. streamlit/static/static/js/{Toolbar.CuMH-Gqe.js → Toolbar.B9DaaDfN.js} +1 -1
  14. streamlit/static/static/js/{WidgetLabelHelpIconInline.WAReecol.js → WidgetLabelHelpIconInline.DxODTLS2.js} +1 -1
  15. streamlit/static/static/js/{base-input.BX9Jll5o.js → base-input.Gf1cKuQR.js} +1 -1
  16. streamlit/static/static/js/{checkbox.BzMHUSz1.js → checkbox.CnoNruf3.js} +1 -1
  17. streamlit/static/static/js/{createDownloadLinkElement.CviG5BQx.js → createDownloadLinkElement.B48AepiL.js} +1 -1
  18. streamlit/static/static/js/{data-grid-overlay-editor.Dzo9A4l6.js → data-grid-overlay-editor.Cmdq9aqU.js} +1 -1
  19. streamlit/static/static/js/{downloader.DIDvj0d5.js → downloader.CQLoQdMX.js} +1 -1
  20. streamlit/static/static/js/{embed.C8qeQ38b.js → embed.oKwocwU8.js} +1 -1
  21. streamlit/static/static/js/{es6.Dpcc-U7U.js → es6.BRxlY_y5.js} +2 -2
  22. streamlit/static/static/js/{formatNumber.CPvuaBa8.js → formatNumber.DaagZyZe.js} +1 -1
  23. streamlit/static/static/js/{iconPosition.y0q-Rqem.js → iconPosition.Q3hNvmK4.js} +1 -1
  24. streamlit/static/static/js/{iframeResizer.contentWindow.DblExdXF.js → iframeResizer.contentWindow.B6EBvI9L.js} +1 -1
  25. streamlit/static/static/js/{index.aEeM0ekc.js → index.19_qtO6t.js} +1 -1
  26. streamlit/static/static/js/{index.Bxe7fKbw.js → index.43b777iP.js} +1 -1
  27. streamlit/static/static/js/{index.pgifwCIr.js → index.B03eQZoH.js} +1 -1
  28. streamlit/static/static/js/{index.DRFJgBf-.js → index.B9kZB0o1.js} +1 -1
  29. streamlit/static/static/js/{index.DZEQ0G7H.js → index.BAI9aHCq.js} +1 -1
  30. streamlit/static/static/js/{index.BTHi5W25.js → index.BF23fbfs.js} +1 -1
  31. streamlit/static/static/js/{index.BGufEmCz.js → index.BGBTkulf.js} +1 -1
  32. streamlit/static/static/js/{index.BZBWLU1C.js → index.BRfGUOQ-.js} +5 -5
  33. streamlit/static/static/js/{index.DvQ7-afx.js → index.BVT89mQw.js} +1 -1
  34. streamlit/static/static/js/{index.D42y-GeO.js → index.BXEC4cf3.js} +1 -1
  35. streamlit/static/static/js/{index.DppScppA.js → index.BbSFVZ3p.js} +1 -1
  36. streamlit/static/static/js/{index.BfZdZpv-.js → index.BkSwGJoh.js} +1 -1
  37. streamlit/static/static/js/{index.DB4MbQ40.js → index.BnfTPrHb.js} +1 -1
  38. streamlit/static/static/js/{index.C93QGPyk.js → index.BoX8d5rK.js} +1 -1
  39. streamlit/static/static/js/{index.DmQqT9OM.js → index.Boa0Egng.js} +1 -1
  40. streamlit/static/static/js/{index.B-g6lwYa.js → index.BzwlrgZO.js} +1 -1
  41. streamlit/static/static/js/{index.u2AvcQQT.js → index.C0fSEz-3.js} +1 -1
  42. streamlit/static/static/js/{index.BVN9cI-k.js → index.CCFwVy90.js} +1 -1
  43. streamlit/static/static/js/{index.CcMmNHAq.js → index.CCQ5p_WC.js} +1 -1
  44. streamlit/static/static/js/{index.C26ZOVFL.js → index.CFCBhOfx.js} +1 -1
  45. streamlit/static/static/js/{index.x4j6nnNb.js → index.CIbgt5wY.js} +1 -1
  46. streamlit/static/static/js/{index.BPMqWDef.js → index.CJ4oJe0V.js} +1 -1
  47. streamlit/static/static/js/{index.BXYgO5B8.js → index.CP-hoxJM.js} +1 -1
  48. streamlit/static/static/js/{index.BItU4jMo.js → index.CSfsEKCF.js} +1 -1
  49. streamlit/static/static/js/{index.BWOP7HFT.js → index.CVlg41MB.js} +1 -1
  50. streamlit/static/static/js/{index.CCDejIvL.js → index.CYE7b5Du.js} +1 -1
  51. streamlit/static/static/js/{index.eweE9HKU.js → index.Ca7MUNWJ.js} +1 -1
  52. streamlit/static/static/js/index.CrPjcPY1.js +1 -0
  53. streamlit/static/static/js/{index.B6vCS66f.js → index.CvB9JBqS.js} +5 -5
  54. streamlit/static/static/js/{index.kKkHk9Mc.js → index.CvIqsWy1.js} +1 -1
  55. streamlit/static/static/js/{index.MKI8t7l2.js → index.D1pK_Vw2.js} +1 -1
  56. streamlit/static/static/js/{index.gr6yGiCL.js → index.D6X2coHR.js} +1 -1
  57. streamlit/static/static/js/{index.DaU1ayM7.js → index.DGYHxruh.js} +1 -1
  58. streamlit/static/static/js/{index.Dla9XiNe.js → index.DJ7P09eb.js} +1 -1
  59. streamlit/static/static/js/{index.D69ULFWq.js → index.Dh5SAThV.js} +1 -1
  60. streamlit/static/static/js/{index.pMvzHC7z.js → index.Fu73QtkD.js} +1 -1
  61. streamlit/static/static/js/{index.C1ElSZEy.js → index.KN1VmyYN.js} +1 -1
  62. streamlit/static/static/js/{index.DTK-btqV.js → index.KtjGDGY5.js} +1 -1
  63. streamlit/static/static/js/{index.w2_VrtVw.js → index.OpATzEaW.js} +1 -1
  64. streamlit/static/static/js/{index.C7lwRBvF.js → index.QHnxuesF.js} +1 -1
  65. streamlit/static/static/js/{index.BDb0PRvK.js → index.QTaWooav.js} +1 -1
  66. streamlit/static/static/js/{index.VSsf6tsu.js → index.WXybx2Xq.js} +1 -1
  67. streamlit/static/static/js/{index.B9TG5Ah8.js → index.Xg-Qttib.js} +1 -1
  68. streamlit/static/static/js/{index.B10MmI2m.js → index.j4fnjyHo.js} +1 -1
  69. streamlit/static/static/js/{index.RRAKXgBZ.js → index.na9UBuse.js} +1 -1
  70. streamlit/static/static/js/{index.F-NmmwfK.js → index.pU9mQeVC.js} +1 -1
  71. streamlit/static/static/js/{index.Dr8b3Vn6.js → index.slgxPafU.js} +1 -1
  72. streamlit/static/static/js/{index.wv1DYVsn.js → index.whRT3Vm3.js} +1 -1
  73. streamlit/static/static/js/{input.BoJqOS7a.js → input.CPzINTl-.js} +1 -1
  74. streamlit/static/static/js/{main.B5XmUwmQ.js → main.DSPn8dUe.js} +1 -1
  75. streamlit/static/static/js/{memory.9izgq54V.js → memory.CfD8IGoU.js} +1 -1
  76. streamlit/static/static/js/{number-overlay-editor.PqOGQcLn.js → number-overlay-editor.4Ae0qegV.js} +1 -1
  77. streamlit/static/static/js/{pandasStylerUtils.DUtF2t3R.js → pandasStylerUtils.D2EjZ7k6.js} +1 -1
  78. streamlit/static/static/js/{sandbox.DgKTHPLO.js → sandbox.C6vcPIm0.js} +1 -1
  79. streamlit/static/static/js/{styled-components.D4x8jmOI.js → styled-components.BBmp8buj.js} +1 -1
  80. streamlit/static/static/js/{throttle.DxEHIIp7.js → throttle.BPcPpy-S.js} +1 -1
  81. streamlit/static/static/js/{timepicker.CDks5DWI.js → timepicker.ryzkTs2C.js} +1 -1
  82. streamlit/static/static/js/{toConsumableArray.CvTQRsV-.js → toConsumableArray.Dg1nDaB_.js} +1 -1
  83. streamlit/static/static/js/uniqueId.BFHzT5KQ.js +1 -0
  84. streamlit/static/static/js/{useBasicWidgetState.D6_b0IqA.js → useBasicWidgetState.A4U5lzAm.js} +1 -1
  85. streamlit/static/static/js/{useIntlLocale.Ctz17A7g.js → useIntlLocale.DWJgLlNz.js} +1 -1
  86. streamlit/static/static/js/{useTextInputAutoExpand.PAFB5o1T.js → useTextInputAutoExpand.BrBonw8t.js} +1 -1
  87. streamlit/static/static/js/{useUpdateUiValue.CcTvmGlb.js → useUpdateUiValue.BkOWyNVX.js} +1 -1
  88. streamlit/static/static/js/{useWaveformController.vLi36Ir4.js → useWaveformController.CBlvXlgZ.js} +1 -1
  89. streamlit/static/static/js/{withCalculatedWidth.BtA2jL5-.js → withCalculatedWidth.D4cpOyNe.js} +1 -1
  90. streamlit/static/static/js/{withFullScreenWrapper.CeeoYBpc.js → withFullScreenWrapper.BMim3w94.js} +1 -1
  91. streamlit/user_info.py +6 -4
  92. streamlit/web/server/browser_websocket_handler.py +2 -2
  93. streamlit/web/server/oauth_authlib_routes.py +97 -20
  94. {streamlit_nightly-1.52.3.dev20260110.dist-info → streamlit_nightly-1.52.3.dev20260112.dist-info}/METADATA +1 -1
  95. {streamlit_nightly-1.52.3.dev20260110.dist-info → streamlit_nightly-1.52.3.dev20260112.dist-info}/RECORD +99 -99
  96. streamlit/static/static/js/index.q83b8_8b.js +0 -1
  97. streamlit/static/static/js/uniqueId.RScLN3St.js +0 -1
  98. {streamlit_nightly-1.52.3.dev20260110.data → streamlit_nightly-1.52.3.dev20260112.data}/scripts/streamlit.cmd +0 -0
  99. {streamlit_nightly-1.52.3.dev20260110.dist-info → streamlit_nightly-1.52.3.dev20260112.dist-info}/WHEEL +0 -0
  100. {streamlit_nightly-1.52.3.dev20260110.dist-info → streamlit_nightly-1.52.3.dev20260112.dist-info}/entry_points.txt +0 -0
  101. {streamlit_nightly-1.52.3.dev20260110.dist-info → streamlit_nightly-1.52.3.dev20260112.dist-info}/top_level.txt +0 -0
streamlit/auth_util.py CHANGED
@@ -19,6 +19,7 @@ import re
19
19
  from collections.abc import Callable, Mapping
20
20
  from datetime import datetime, timedelta, timezone
21
21
  from typing import TYPE_CHECKING, Any, Final, TypedDict, cast
22
+ from urllib.parse import urlparse
22
23
 
23
24
  from streamlit import config
24
25
  from streamlit.errors import StreamlitAuthError
@@ -92,8 +93,8 @@ def get_signing_secret() -> str:
92
93
 
93
94
 
94
95
  def get_secrets_auth_section() -> AttrDict:
95
- auth_section = AttrDict({})
96
96
  """Get the 'auth' section of the secrets.toml."""
97
+ auth_section = AttrDict({})
97
98
  if secrets_singleton.load_if_toml_exists():
98
99
  auth_section = cast("AttrDict", secrets_singleton.get("auth", AttrDict({})))
99
100
 
@@ -125,6 +126,28 @@ def get_expose_tokens_config() -> list[str]:
125
126
  return res
126
127
 
127
128
 
129
+ def get_redirect_uri(auth_section: AttrDict) -> str | None:
130
+ """Get the redirect_uri from auth_section - filling in port number if needed."""
131
+
132
+ if "redirect_uri" not in auth_section:
133
+ return None
134
+
135
+ redirect_uri: str = auth_section["redirect_uri"]
136
+ if "{port}" in redirect_uri:
137
+ redirect_uri = redirect_uri.replace(
138
+ "{port}", str(config.get_option("server.port"))
139
+ )
140
+
141
+ try:
142
+ redirect_uri_parsed = urlparse(redirect_uri)
143
+ except ValueError:
144
+ raise StreamlitAuthError(
145
+ f"Invalid redirect_uri: {redirect_uri}. Please check your configuration."
146
+ )
147
+
148
+ return redirect_uri_parsed.geturl()
149
+
150
+
128
151
  def encode_provider_token(provider: str) -> str:
129
152
  """Returns a signed JWT token with the provider and expiration time."""
130
153
  try:
@@ -37,7 +37,7 @@
37
37
  <script>
38
38
  window.prerenderReady = false
39
39
  </script>
40
- <script type="module" crossorigin src="./static/js/index.BZBWLU1C.js"></script>
40
+ <script type="module" crossorigin src="./static/js/index.BRfGUOQ-.js"></script>
41
41
  <link rel="stylesheet" crossorigin href="./static/css/index.BUP6fTcR.css">
42
42
  </head>
43
43
  <body>