streamlit-nightly 1.52.3.dev20260105__py3-none-any.whl → 1.52.3.dev20260106__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 (110) hide show
  1. streamlit/connections/base_connection.py +28 -1
  2. streamlit/runtime/connection_factory.py +15 -1
  3. streamlit/static/index.html +1 -1
  4. streamlit/static/manifest.json +300 -300
  5. streamlit/static/static/js/{ErrorOutline.esm.CUbPpREP.js → ErrorOutline.esm.D2r71uaM.js} +1 -1
  6. streamlit/static/static/js/{FileDownload.esm.DetkHTcN.js → FileDownload.esm.BWEHU45R.js} +1 -1
  7. streamlit/static/static/js/{FileHelper.BwIyMxu6.js → FileHelper.bM5nEcHb.js} +1 -1
  8. streamlit/static/static/js/{FormClearHelper.CASwqls6.js → FormClearHelper.DrhgNNta.js} +1 -1
  9. streamlit/static/static/js/{InputInstructions.S3adIyNg.js → InputInstructions.DPiGX0Th.js} +1 -1
  10. streamlit/static/static/js/{Particles.RThwaGLL.js → Particles.NjZlN0Ji.js} +1 -1
  11. streamlit/static/static/js/{ProgressBar.C5R-2EpR.js → ProgressBar.BC4DXqMl.js} +1 -1
  12. streamlit/static/static/js/{StreamlitSyntaxHighlighter.Y7KVbKtx.js → StreamlitSyntaxHighlighter.CbRgSaN7.js} +1 -1
  13. streamlit/static/static/js/{TableChart.esm.Yg3weFJJ.js → TableChart.esm.gttTfh7r.js} +1 -1
  14. streamlit/static/static/js/{Toolbar.BLFSj5n_.js → Toolbar.DO2JfHk1.js} +1 -1
  15. streamlit/static/static/js/{WidgetLabelHelpIconInline.DAWJEVd6.js → WidgetLabelHelpIconInline.NVlzvmTZ.js} +1 -1
  16. streamlit/static/static/js/{base-input.CHeZetve.js → base-input.CmG3KTuv.js} +1 -1
  17. streamlit/static/static/js/{checkbox.BK8sNhcL.js → checkbox.cfHeGdGI.js} +1 -1
  18. streamlit/static/static/js/{createDownloadLinkElement._lShGDOq.js → createDownloadLinkElement.B59a5_bn.js} +1 -1
  19. streamlit/static/static/js/{data-grid-overlay-editor.ssbLvS2J.js → data-grid-overlay-editor.DpTe47v0.js} +1 -1
  20. streamlit/static/static/js/{downloader.CZdoNBU_.js → downloader.CYtKIJ9J.js} +1 -1
  21. streamlit/static/static/js/{embed.2TWJ6qNB.js → embed.Dfyy6eKR.js} +1 -1
  22. streamlit/static/static/js/{es6.D41As5l9.js → es6.x2A9auGg.js} +2 -2
  23. streamlit/static/static/js/{formatNumber.QuIArRkA.js → formatNumber.D8YUVHBi.js} +1 -1
  24. streamlit/static/static/js/{iconPosition.CSpYbZdy.js → iconPosition.C6Qxuo2L.js} +1 -1
  25. streamlit/static/static/js/{iframeResizer.contentWindow.Ba3c7d3E.js → iframeResizer.contentWindow.Q0Cy4mzM.js} +1 -1
  26. streamlit/static/static/js/{index.nbcFTn_s.js → index.4DpGzJxM.js} +1 -1
  27. streamlit/static/static/js/{index.WQewRvlT.js → index.4evoB7lO.js} +1 -1
  28. streamlit/static/static/js/{index.BoY3Kkcd.js → index.5zBrLB5N.js} +1 -1
  29. streamlit/static/static/js/{index.DFCPECXZ.js → index.72U0nUaY.js} +1 -1
  30. streamlit/static/static/js/{index.BOvjmPsN.js → index.7BBVjqsx.js} +1 -1
  31. streamlit/static/static/js/{index.B6YM-IfX.js → index.9i44yl-A.js} +1 -1
  32. streamlit/static/static/js/{index.BDu_MJqs.js → index.9lrRft8u.js} +1 -1
  33. streamlit/static/static/js/{index.BYH1e4xe.js → index.AF9wK9Wi.js} +1 -1
  34. streamlit/static/static/js/{index.C8z5LOYQ.js → index.BA25ZBoD.js} +1 -1
  35. streamlit/static/static/js/{index.B8XnIwXu.js → index.BHzkSOU6.js} +1 -1
  36. streamlit/static/static/js/{index.DZSrtq6x.js → index.BICn75_M.js} +1 -1
  37. streamlit/static/static/js/{index.DnWt2J6g.js → index.BSULROGA.js} +1 -1
  38. streamlit/static/static/js/{index.Q_E7sonx.js → index.BTcImDDt.js} +5 -5
  39. streamlit/static/static/js/{index.Clrm_eTk.js → index.Bmo0a9c3.js} +1 -1
  40. streamlit/static/static/js/{index.BAHhsNEO.js → index.Bs9bS4ZQ.js} +1 -1
  41. streamlit/static/static/js/{index.Bz3MkLgx.js → index.BtasgGzT.js} +1 -1
  42. streamlit/static/static/js/{index.B4ZFNrs2.js → index.BuCGo7-5.js} +5 -5
  43. streamlit/static/static/js/{index.KQLzM7MF.js → index.CCkh_YSD.js} +1 -1
  44. streamlit/static/static/js/{index.BOIgWFBo.js → index.CEB-gMZu.js} +1 -1
  45. streamlit/static/static/js/{index.D2GAddP5.js → index.CWEfMTRP.js} +1 -1
  46. streamlit/static/static/js/{index.DWr4fsaW.js → index.CcpuNeOs.js} +1 -1
  47. streamlit/static/static/js/index.CgFM5y1b.js +1 -0
  48. streamlit/static/static/js/{index.DDmNxuM1.js → index.Cszkm2ii.js} +1 -1
  49. streamlit/static/static/js/{index.g1YybQQ9.js → index.Cto6hKVz.js} +1 -1
  50. streamlit/static/static/js/{index.CYiKO5um.js → index.CzMaYu3-.js} +1 -1
  51. streamlit/static/static/js/{index.DRcHLhCK.js → index.D2pbLWvp.js} +1 -1
  52. streamlit/static/static/js/{index.Chj6qsmB.js → index.DDUzbOzY.js} +1 -1
  53. streamlit/static/static/js/{index.BI_fnYvO.js → index.DFrG8naT.js} +1 -1
  54. streamlit/static/static/js/{index.uYBEeDUr.js → index.DMgiqc8r.js} +1 -1
  55. streamlit/static/static/js/{index.DrsyU_tH.js → index.DMtSM2QJ.js} +1 -1
  56. streamlit/static/static/js/{index.9i_-lwmj.js → index.DemMZEQt.js} +1 -1
  57. streamlit/static/static/js/{index.thfM5Jp-.js → index.DfXZgqLi.js} +1 -1
  58. streamlit/static/static/js/{index.DDf8sbO4.js → index.DlXiDt-m.js} +1 -1
  59. streamlit/static/static/js/{index.BnkFb6TA.js → index.DltYrNjp.js} +1 -1
  60. streamlit/static/static/js/{index.CuZMPicb.js → index.Dm8qt8Me.js} +1 -1
  61. streamlit/static/static/js/{index.C7V9OjPg.js → index.Dmaco99Q.js} +1 -1
  62. streamlit/static/static/js/{index.Bw-KHlow.js → index.DrHoCPek.js} +1 -1
  63. streamlit/static/static/js/{index.BCDbmK91.js → index.DyL5do6X.js} +1 -1
  64. streamlit/static/static/js/{index.C761egln.js → index.DzZhu8Ry.js} +1 -1
  65. streamlit/static/static/js/{index.Dd0uREcX.js → index.HTZptmDX.js} +1 -1
  66. streamlit/static/static/js/{index.DBEtWjU1.js → index.WMC0NWRg.js} +1 -1
  67. streamlit/static/static/js/{index.DSMOcJzt.js → index.WW20lmQl.js} +1 -1
  68. streamlit/static/static/js/{index.D6rDKuAr.js → index.Zffuf6-0.js} +1 -1
  69. streamlit/static/static/js/{index.DceyCzDe.js → index.i5tC1QD-.js} +1 -1
  70. streamlit/static/static/js/{index.BvVfzDZQ.js → index.mRYkGVRy.js} +1 -1
  71. streamlit/static/static/js/{index.WRCuRhqg.js → index.mUwcAQrC.js} +1 -1
  72. streamlit/static/static/js/{index.OlwiZDpn.js → index.up8HPR4v.js} +1 -1
  73. streamlit/static/static/js/index.xQYe72hk.js +1 -0
  74. streamlit/static/static/js/{input.BfQ-NLYJ.js → input.C76A8APa.js} +1 -1
  75. streamlit/static/static/js/{main.kRp_qJ7D.js → main.CFbvktEv.js} +1 -1
  76. streamlit/static/static/js/{memory.BkmZS8L_.js → memory.BkhqbxJl.js} +1 -1
  77. streamlit/static/static/js/{number-overlay-editor.DG6TifvP.js → number-overlay-editor.Dpeh6_Ag.js} +1 -1
  78. streamlit/static/static/js/{pandasStylerUtils.2q7Waiua.js → pandasStylerUtils.D8MDzfFI.js} +1 -1
  79. streamlit/static/static/js/{sandbox.CNlPmm2Y.js → sandbox.m1TYtBuF.js} +1 -1
  80. streamlit/static/static/js/{styled-components.BzgaiWCN.js → styled-components.yin3sIMA.js} +1 -1
  81. streamlit/static/static/js/{throttle.C6Ziz6X5.js → throttle.Df6MiNTy.js} +1 -1
  82. streamlit/static/static/js/{timepicker.BaHSf28n.js → timepicker.gcx4yeRx.js} +1 -1
  83. streamlit/static/static/js/{toConsumableArray.BNGCByOf.js → toConsumableArray.Ca7RO9Jm.js} +1 -1
  84. streamlit/static/static/js/uniqueId.Bf2Hsb60.js +1 -0
  85. streamlit/static/static/js/{useBasicWidgetState.BcW4Dq9k.js → useBasicWidgetState.CRkPCtR5.js} +1 -1
  86. streamlit/static/static/js/{useIntlLocale.BmLgec-0.js → useIntlLocale.CFOMULNz.js} +1 -1
  87. streamlit/static/static/js/{useTextInputAutoExpand.BR8fAFbd.js → useTextInputAutoExpand.9c205rhQ.js} +1 -1
  88. streamlit/static/static/js/{useUpdateUiValue.Dg1Zd8gd.js → useUpdateUiValue.SYJJuEJM.js} +1 -1
  89. streamlit/static/static/js/{useWaveformController.Ch2JLD06.js → useWaveformController.CCs9fdSv.js} +1 -1
  90. streamlit/static/static/js/{withCalculatedWidth.YVnNIVT2.js → withCalculatedWidth.MG9RY_Y-.js} +1 -1
  91. streamlit/static/static/js/{withFullScreenWrapper.DjieznUq.js → withFullScreenWrapper.BgGLtZrC.js} +1 -1
  92. streamlit/web/server/oauth_authlib_routes.py +13 -1
  93. streamlit/web/server/starlette/__init__.py +13 -0
  94. streamlit/web/server/starlette/starlette_app.py +213 -0
  95. streamlit/web/server/starlette/starlette_app_utils.py +306 -0
  96. streamlit/web/server/starlette/starlette_auth_routes.py +506 -0
  97. streamlit/web/server/starlette/starlette_gzip_middleware.py +121 -0
  98. streamlit/web/server/starlette/starlette_routes.py +855 -0
  99. streamlit/web/server/starlette/starlette_server_config.py +55 -0
  100. streamlit/web/server/starlette/starlette_static_routes.py +171 -0
  101. streamlit/web/server/starlette/starlette_websocket.py +521 -0
  102. {streamlit_nightly-1.52.3.dev20260105.dist-info → streamlit_nightly-1.52.3.dev20260106.dist-info}/METADATA +10 -2
  103. {streamlit_nightly-1.52.3.dev20260105.dist-info → streamlit_nightly-1.52.3.dev20260106.dist-info}/RECORD +107 -98
  104. streamlit/static/static/js/index.DLplCBmm.js +0 -1
  105. streamlit/static/static/js/index.zcrZ8Dj9.js +0 -1
  106. streamlit/static/static/js/uniqueId.Nvl4r5vW.js +0 -1
  107. {streamlit_nightly-1.52.3.dev20260105.data → streamlit_nightly-1.52.3.dev20260106.data}/scripts/streamlit.cmd +0 -0
  108. {streamlit_nightly-1.52.3.dev20260105.dist-info → streamlit_nightly-1.52.3.dev20260106.dist-info}/WHEEL +0 -0
  109. {streamlit_nightly-1.52.3.dev20260105.dist-info → streamlit_nightly-1.52.3.dev20260106.dist-info}/entry_points.txt +0 -0
  110. {streamlit_nightly-1.52.3.dev20260105.dist-info → streamlit_nightly-1.52.3.dev20260106.dist-info}/top_level.txt +0 -0
@@ -16,7 +16,7 @@ from __future__ import annotations
16
16
 
17
17
  import json
18
18
  from abc import ABC, abstractmethod
19
- from typing import Any, Generic, TypeVar, cast
19
+ from typing import Any, Generic, Literal, TypeVar, cast
20
20
 
21
21
  from streamlit.runtime.secrets import AttrDict, secrets_singleton
22
22
  from streamlit.util import calc_md5
@@ -174,3 +174,30 @@ class BaseConnection(ABC, Generic[RawConnectionT]):
174
174
  The underlying connection object.
175
175
  """
176
176
  raise NotImplementedError
177
+
178
+ @classmethod
179
+ def scope(cls) -> Literal["global", "session"]:
180
+ """Returns the scope of this connection type.
181
+
182
+ "global" connection instances will be cached globally, and typically created
183
+ once during the lifetime of an application. "session" connection instances will
184
+ be cached per session, and typically will be created once per user session.
185
+
186
+ Returns
187
+ -------
188
+ "global" or "session"
189
+ The scope of this connection type.
190
+ """
191
+ return "global"
192
+
193
+ def close(self) -> None:
194
+ """A function to invoke when this connection needs to be cleaned up.
195
+
196
+ ``close`` is registered as an ``on_release`` hook in the resource cache when a
197
+ connection is created with ``st.connection``.
198
+
199
+ Returns
200
+ -------
201
+ None
202
+ """
203
+ # NOTE: Default implementation is intentionally a no-op.
@@ -95,10 +95,23 @@ def _create_connection(
95
95
  __create_connection.__qualname__ = (
96
96
  f"{__create_connection.__qualname__}_{ttl_str}_{max_entries}"
97
97
  )
98
+
99
+ scope = connection_class.scope()
100
+ if scope not in ("global", "session"):
101
+ raise StreamlitAPIException(
102
+ f"Connection class {connection_class} has scope '{scope}'. Valid values "
103
+ "are 'global' or 'session'."
104
+ )
105
+
106
+ def on_release_wrapped(connection: ConnectionClass) -> None:
107
+ connection.close()
108
+
98
109
  __create_connection = cache_resource(
99
110
  max_entries=max_entries,
100
111
  show_spinner="Running `st.connection(...)`.",
101
112
  ttl=ttl,
113
+ scope=scope,
114
+ on_release=on_release_wrapped,
102
115
  )(__create_connection)
103
116
 
104
117
  return __create_connection(name, connection_class, **kwargs)
@@ -220,7 +233,8 @@ def connection_factory( # type: ignore
220
233
  - Any connection-specific configuration files.
221
234
 
222
235
  The connection returned from ``st.connection`` is internally cached with
223
- ``st.cache_resource`` and is therefore shared between sessions.
236
+ ``st.cache_resource``. Connection types with a scope of ``"global"`` will be shared
237
+ between sessions.
224
238
 
225
239
  Parameters
226
240
  ----------
@@ -37,7 +37,7 @@
37
37
  <script>
38
38
  window.prerenderReady = false
39
39
  </script>
40
- <script type="module" crossorigin src="./static/js/index.B4ZFNrs2.js"></script>
40
+ <script type="module" crossorigin src="./static/js/index.BuCGo7-5.js"></script>
41
41
  <link rel="stylesheet" crossorigin href="./static/css/index.BUP6fTcR.css">
42
42
  </head>
43
43
  <body>