streamlit-nightly 1.52.3.dev20260113__py3-none-any.whl → 1.53.1.dev20260114__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.
- streamlit/commands/logo.py +2 -0
- streamlit/commands/page_config.py +16 -16
- streamlit/components/v2/__init__.py +2 -2
- streamlit/connections/base_connection.py +16 -4
- streamlit/connections/snowflake_connection.py +254 -205
- streamlit/elements/form.py +2 -2
- streamlit/elements/metric.py +49 -48
- streamlit/elements/widgets/button.py +9 -9
- streamlit/elements/widgets/chat.py +5 -9
- streamlit/elements/widgets/data_editor.py +3 -3
- streamlit/elements/widgets/file_uploader.py +10 -11
- streamlit/elements/widgets/select_slider.py +4 -0
- streamlit/runtime/caching/cache_data_api.py +25 -21
- streamlit/runtime/caching/cache_resource_api.py +69 -41
- streamlit/runtime/connection_factory.py +67 -41
- streamlit/static/index.html +1 -1
- streamlit/static/manifest.json +304 -304
- streamlit/static/static/js/{ErrorOutline.esm.BjVqd_6R.js → ErrorOutline.esm.BAZUU4id.js} +1 -1
- streamlit/static/static/js/{FileDownload.esm.DJCSsghl.js → FileDownload.esm.C6tTTniR.js} +1 -1
- streamlit/static/static/js/{FileHelper.C---TH7o.js → FileHelper.BOHlwlc9.js} +1 -1
- streamlit/static/static/js/{FormClearHelper.C-6BC487.js → FormClearHelper.D4lty7rT.js} +1 -1
- streamlit/static/static/js/{InputInstructions.sxc3InCI.js → InputInstructions.BWw9lhud.js} +1 -1
- streamlit/static/static/js/{Particles.S8yD7iW-.js → Particles.BDi7fIn-.js} +1 -1
- streamlit/static/static/js/{ProgressBar.BiYsyZCC.js → ProgressBar.DCHh4N3P.js} +1 -1
- streamlit/static/static/js/{StreamlitSyntaxHighlighter.9jZF8jX1.js → StreamlitSyntaxHighlighter.BRydQwEj.js} +1 -1
- streamlit/static/static/js/{TableChart.esm.BdA4Q1rZ.js → TableChart.esm.7KFX5I_G.js} +1 -1
- streamlit/static/static/js/{Toolbar.B9DaaDfN.js → Toolbar.guIuiwEF.js} +1 -1
- streamlit/static/static/js/{WidgetLabelHelpIconInline.DxODTLS2.js → WidgetLabelHelpIconInline.CzodezAH.js} +1 -1
- streamlit/static/static/js/{base-input.Gf1cKuQR.js → base-input.Cg7NpsfS.js} +1 -1
- streamlit/static/static/js/{checkbox.CnoNruf3.js → checkbox.Bs20OTna.js} +1 -1
- streamlit/static/static/js/{createDownloadLinkElement.B48AepiL.js → createDownloadLinkElement.DSqCyu38.js} +1 -1
- streamlit/static/static/js/{data-grid-overlay-editor.Cmdq9aqU.js → data-grid-overlay-editor.Ch4SqNfY.js} +1 -1
- streamlit/static/static/js/{downloader.CQLoQdMX.js → downloader.Oj5CTGJA.js} +1 -1
- streamlit/static/static/js/{embed.oKwocwU8.js → embed.CqzzUq73.js} +1 -1
- streamlit/static/static/js/{es6.BRxlY_y5.js → es6.CYrlw0Vn.js} +2 -2
- streamlit/static/static/js/{formatNumber.DaagZyZe.js → formatNumber.CT_v8e75.js} +1 -1
- streamlit/static/static/js/{iconPosition.Q3hNvmK4.js → iconPosition.DPAvXTmd.js} +1 -1
- streamlit/static/static/js/{iframeResizer.contentWindow.B6EBvI9L.js → iframeResizer.contentWindow.T4DvQsIf.js} +1 -1
- streamlit/static/static/js/{index.BoX8d5rK.js → index.AGYZDQZm.js} +1 -1
- streamlit/static/static/js/{index.KtjGDGY5.js → index.B3HdcUdo.js} +1 -1
- streamlit/static/static/js/{index.B9kZB0o1.js → index.B8ZZdPqF.js} +1 -1
- streamlit/static/static/js/{index.CFCBhOfx.js → index.B9Oowxt8.js} +1 -1
- streamlit/static/static/js/{index.CCQ5p_WC.js → index.BEzgNZOm.js} +1 -1
- streamlit/static/static/js/{index.D1pK_Vw2.js → index.BJnWg9Jq.js} +1 -1
- streamlit/static/static/js/{index.na9UBuse.js → index.BPxuKK0S.js} +1 -1
- streamlit/static/static/js/{index.QTaWooav.js → index.BTA0d5oq.js} +1 -1
- streamlit/static/static/js/{index.pU9mQeVC.js → index.BTqav7_K.js} +1 -1
- streamlit/static/static/js/{index.BXEC4cf3.js → index.BZ8xp-w9.js} +1 -1
- streamlit/static/static/js/{index.BF23fbfs.js → index.BoWBzl6h.js} +1 -1
- streamlit/static/static/js/index.Bqgt60FU.js +1 -0
- streamlit/static/static/js/{index.Dh5SAThV.js → index.BsYYrijt.js} +1 -1
- streamlit/static/static/js/{index.19_qtO6t.js → index.CGRIbGGV.js} +1 -1
- streamlit/static/static/js/{index.CSfsEKCF.js → index.CJQq5LcR.js} +1 -1
- streamlit/static/static/js/{index.Fu73QtkD.js → index.CPYB1awG.js} +1 -1
- streamlit/static/static/js/{index.BzwlrgZO.js → index.CVKk1nkB.js} +1 -1
- streamlit/static/static/js/{index.B03eQZoH.js → index.CVXiBeDI.js} +1 -1
- streamlit/static/static/js/{index.BRfGUOQ-.js → index.CXVpBAvU.js} +4 -4
- streamlit/static/static/js/{index.slgxPafU.js → index.Cfe-tCQJ.js} +1 -1
- streamlit/static/static/js/{index.D6X2coHR.js → index.ClFk8x0U.js} +1 -1
- streamlit/static/static/js/{index.WXybx2Xq.js → index.CnXxoVEM.js} +1 -1
- streamlit/static/static/js/{index.j4fnjyHo.js → index.Cw4eSvJ7.js} +1 -1
- streamlit/static/static/js/{index.KN1VmyYN.js → index.D6HCANv6.js} +1 -1
- streamlit/static/static/js/{index.CP-hoxJM.js → index.D7KbBAWb.js} +1 -1
- streamlit/static/static/js/{index.CCFwVy90.js → index.D84XHt50.js} +1 -1
- streamlit/static/static/js/{index.BkSwGJoh.js → index.DL_Ooizi.js} +1 -1
- streamlit/static/static/js/{index.QHnxuesF.js → index.DNyw7S7Z.js} +1 -1
- streamlit/static/static/js/{index.BAI9aHCq.js → index.DPlPEuq6.js} +1 -1
- streamlit/static/static/js/{index.CJ4oJe0V.js → index.DQzRwgrT.js} +1 -1
- streamlit/static/static/js/{index.CVlg41MB.js → index.DXRGd--0.js} +1 -1
- streamlit/static/static/js/{index.CIbgt5wY.js → index.DZDt5hYD.js} +1 -1
- streamlit/static/static/js/{index.BVT89mQw.js → index.DesNeXSA.js} +1 -1
- streamlit/static/static/js/{index.Boa0Egng.js → index.Dg9k4R8B.js} +1 -1
- streamlit/static/static/js/{index.43b777iP.js → index.Do9A7QCt.js} +1 -1
- streamlit/static/static/js/{index.DJ7P09eb.js → index.DrSH3pK3.js} +1 -1
- streamlit/static/static/js/{index.OpATzEaW.js → index.Dtd5z2rM.js} +1 -1
- streamlit/static/static/js/{index.BnfTPrHb.js → index.DzldU3Hy.js} +1 -1
- streamlit/static/static/js/{index.C0fSEz-3.js → index.GZi6GTJa.js} +1 -1
- streamlit/static/static/js/{index.CYE7b5Du.js → index.LOA31DFn.js} +1 -1
- streamlit/static/static/js/{index.Ca7MUNWJ.js → index.MtwRNvlS.js} +1 -1
- streamlit/static/static/js/{index.BbSFVZ3p.js → index.XHtvnZ0-.js} +1 -1
- streamlit/static/static/js/{index.CvIqsWy1.js → index.Yj6vcyFD.js} +1 -1
- streamlit/static/static/js/{index.BGBTkulf.js → index.b-MrPulo.js} +1 -1
- streamlit/static/static/js/{index.DGYHxruh.js → index.hcUYvTqs.js} +1 -1
- streamlit/static/static/js/{index.CvB9JBqS.js → index.tLZuZM89.js} +6 -6
- streamlit/static/static/js/{index.Xg-Qttib.js → index.wngeYhKj.js} +1 -1
- streamlit/static/static/js/{index.whRT3Vm3.js → index.xCV2qwtw.js} +1 -1
- streamlit/static/static/js/{input.CPzINTl-.js → input.CYXuTqoa.js} +1 -1
- streamlit/static/static/js/{main.DSPn8dUe.js → main.BE-siVKv.js} +1 -1
- streamlit/static/static/js/{memory.CfD8IGoU.js → memory.V554ztRg.js} +1 -1
- streamlit/static/static/js/{number-overlay-editor.4Ae0qegV.js → number-overlay-editor.BiUTOXIl.js} +1 -1
- streamlit/static/static/js/{pandasStylerUtils.D2EjZ7k6.js → pandasStylerUtils.Dej3Tstq.js} +1 -1
- streamlit/static/static/js/{sandbox.C6vcPIm0.js → sandbox.gpd7KGMo.js} +1 -1
- streamlit/static/static/js/{styled-components.BBmp8buj.js → styled-components.Coj4dr6D.js} +1 -1
- streamlit/static/static/js/{throttle.BPcPpy-S.js → throttle.gZUdtYp7.js} +1 -1
- streamlit/static/static/js/{timepicker.ryzkTs2C.js → timepicker.B-Y4aU15.js} +1 -1
- streamlit/static/static/js/{toConsumableArray.Dg1nDaB_.js → toConsumableArray.CcKcKvEd.js} +1 -1
- streamlit/static/static/js/uniqueId.PRn3V1WU.js +1 -0
- streamlit/static/static/js/{useBasicWidgetState.A4U5lzAm.js → useBasicWidgetState.D-fc_aIL.js} +1 -1
- streamlit/static/static/js/{useIntlLocale.DWJgLlNz.js → useIntlLocale.CY32IeNt.js} +1 -1
- streamlit/static/static/js/{useTextInputAutoExpand.BrBonw8t.js → useTextInputAutoExpand.C0jK7TwF.js} +1 -1
- streamlit/static/static/js/{useUpdateUiValue.BkOWyNVX.js → useUpdateUiValue.CDQloDgB.js} +1 -1
- streamlit/static/static/js/{useWaveformController.CBlvXlgZ.js → useWaveformController.BLEIAIDo.js} +1 -1
- streamlit/static/static/js/{withCalculatedWidth.D4cpOyNe.js → withCalculatedWidth.B3oSlRC0.js} +1 -1
- streamlit/static/static/js/{withFullScreenWrapper.BMim3w94.js → withFullScreenWrapper.Cw_ebNmr.js} +1 -1
- streamlit/user_info.py +225 -166
- {streamlit_nightly-1.52.3.dev20260113.dist-info → streamlit_nightly-1.53.1.dev20260114.dist-info}/METADATA +1 -1
- {streamlit_nightly-1.52.3.dev20260113.dist-info → streamlit_nightly-1.53.1.dev20260114.dist-info}/RECORD +111 -111
- streamlit/static/static/js/index.CrPjcPY1.js +0 -1
- streamlit/static/static/js/uniqueId.BFHzT5KQ.js +0 -1
- {streamlit_nightly-1.52.3.dev20260113.data → streamlit_nightly-1.53.1.dev20260114.data}/scripts/streamlit.cmd +0 -0
- {streamlit_nightly-1.52.3.dev20260113.dist-info → streamlit_nightly-1.53.1.dev20260114.dist-info}/WHEEL +0 -0
- {streamlit_nightly-1.52.3.dev20260113.dist-info → streamlit_nightly-1.53.1.dev20260114.dist-info}/entry_points.txt +0 -0
- {streamlit_nightly-1.52.3.dev20260113.dist-info → streamlit_nightly-1.53.1.dev20260114.dist-info}/top_level.txt +0 -0
|
@@ -277,6 +277,10 @@ def connection_factory( # type: ignore
|
|
|
277
277
|
be specified in ``secrets.toml`` instead.
|
|
278
278
|
- ``"snowflake"``: Streamlit will initialize a connection with
|
|
279
279
|
|SnowflakeConnection|_.
|
|
280
|
+
- ``"snowflake-callers-rights"``: Streamlit will initialize a
|
|
281
|
+
``"snowflake"``-type connection, except the connection uses the
|
|
282
|
+
current viewer's identity tokens instead of the app's connection
|
|
283
|
+
configuration.
|
|
280
284
|
- ``"snowpark"``: Streamlit will initialize a connection with
|
|
281
285
|
|SnowparkConnection|_. This is deprecated.
|
|
282
286
|
- ``"sql"``: Streamlit will initialize a connection with
|
|
@@ -289,6 +293,16 @@ def connection_factory( # type: ignore
|
|
|
289
293
|
with the referenced class, which must extend
|
|
290
294
|
``st.connections.BaseConnection``.
|
|
291
295
|
|
|
296
|
+
.. Important::
|
|
297
|
+
Connections of type ``"snowflake-callers-rights"`` only work when
|
|
298
|
+
they run in a Snowflake Snowpark Container Services environment. If
|
|
299
|
+
they are used in a local environment, they will raise exceptions.
|
|
300
|
+
|
|
301
|
+
For local development, use an environment variable or secret to
|
|
302
|
+
logically switch between a ``"snowflake"`` and
|
|
303
|
+
``"snowflake-callers-rights"`` connection depending on the runtime
|
|
304
|
+
environment.
|
|
305
|
+
|
|
292
306
|
.. |SnowflakeConnection| replace:: ``SnowflakeConnection``
|
|
293
307
|
.. _SnowflakeConnection: https://docs.streamlit.io/develop/api-reference/connections/st.connections.snowflakeconnection
|
|
294
308
|
.. |SnowparkConnection| replace:: ``SnowparkConnection``
|
|
@@ -324,18 +338,21 @@ def connection_factory( # type: ignore
|
|
|
324
338
|
to use their default names and define corresponding sections in your ``secrets.toml``
|
|
325
339
|
file. The following example creates a ``"sql"``-type connection.
|
|
326
340
|
|
|
327
|
-
|
|
341
|
+
.. code-block:: toml
|
|
342
|
+
:filename: .streamlit/secrets.toml
|
|
328
343
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
344
|
+
[connections.sql]
|
|
345
|
+
dialect = "xxx"
|
|
346
|
+
host = "xxx"
|
|
347
|
+
username = "xxx"
|
|
348
|
+
password = "xxx"
|
|
334
349
|
|
|
335
|
-
|
|
350
|
+
.. code-block:: python
|
|
351
|
+
:filename: streamlit_app.py
|
|
336
352
|
|
|
337
|
-
|
|
338
|
-
|
|
353
|
+
import streamlit as st
|
|
354
|
+
|
|
355
|
+
conn = st.connection("sql")
|
|
339
356
|
|
|
340
357
|
**Example 2: Named connections**
|
|
341
358
|
|
|
@@ -346,26 +363,29 @@ def connection_factory( # type: ignore
|
|
|
346
363
|
custom name. The first defines ``type`` in the ``st.connection`` command;
|
|
347
364
|
the second defines ``type`` in ``secrets.toml``.
|
|
348
365
|
|
|
349
|
-
|
|
366
|
+
.. code-block:: toml
|
|
367
|
+
:filename: .streamlit/secrets.toml
|
|
368
|
+
|
|
369
|
+
[connections.first_connection]
|
|
370
|
+
dialect = "xxx"
|
|
371
|
+
host = "xxx"
|
|
372
|
+
username = "xxx"
|
|
373
|
+
password = "xxx"
|
|
350
374
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
>>> [connections.second_connection]
|
|
358
|
-
>>> type = "sql"
|
|
359
|
-
>>> dialect = "yyy"
|
|
360
|
-
>>> host = "yyy"
|
|
361
|
-
>>> username = "yyy"
|
|
362
|
-
>>> password = "yyy"
|
|
375
|
+
[connections.second_connection]
|
|
376
|
+
type = "sql"
|
|
377
|
+
dialect = "yyy"
|
|
378
|
+
host = "yyy"
|
|
379
|
+
username = "yyy"
|
|
380
|
+
password = "yyy"
|
|
363
381
|
|
|
364
|
-
|
|
382
|
+
.. code-block:: python
|
|
383
|
+
:filename: streamlit_app.py
|
|
365
384
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
385
|
+
import streamlit as st
|
|
386
|
+
|
|
387
|
+
conn1 = st.connection("first_connection", type="sql")
|
|
388
|
+
conn2 = st.connection("second_connection")
|
|
369
389
|
|
|
370
390
|
**Example 3: Using a path to the connection class**
|
|
371
391
|
|
|
@@ -375,17 +395,20 @@ def connection_factory( # type: ignore
|
|
|
375
395
|
creates the same type of connection as one with ``type="sql"``. Note that
|
|
376
396
|
``type`` is a string path.
|
|
377
397
|
|
|
378
|
-
|
|
398
|
+
.. code-block:: toml
|
|
399
|
+
:filename: .streamlit/secrets.toml
|
|
400
|
+
|
|
401
|
+
[connections.my_sql_connection]
|
|
402
|
+
url = "xxx+xxx://xxx:xxx@xxx:xxx/xxx"
|
|
379
403
|
|
|
380
|
-
|
|
381
|
-
|
|
404
|
+
.. code-block:: python
|
|
405
|
+
:filename: streamlit_app.py
|
|
382
406
|
|
|
383
|
-
|
|
407
|
+
import streamlit as st
|
|
384
408
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
... )
|
|
409
|
+
conn = st.connection(
|
|
410
|
+
"my_sql_connection", type="streamlit.connections.SQLConnection"
|
|
411
|
+
)
|
|
389
412
|
|
|
390
413
|
**Example 4: Importing the connection class**
|
|
391
414
|
|
|
@@ -394,16 +417,19 @@ def connection_factory( # type: ignore
|
|
|
394
417
|
infer the exact return type of ``st.connection``. The following example
|
|
395
418
|
creates the same connection as in Example 3.
|
|
396
419
|
|
|
397
|
-
|
|
420
|
+
.. code-block:: toml
|
|
421
|
+
:filename: .streamlit/secrets.toml
|
|
422
|
+
|
|
423
|
+
[connections.my_sql_connection]
|
|
424
|
+
url = "xxx+xxx://xxx:xxx@xxx:xxx/xxx"
|
|
398
425
|
|
|
399
|
-
|
|
400
|
-
|
|
426
|
+
.. code-block:: python
|
|
427
|
+
:filename: streamlit_app.py
|
|
401
428
|
|
|
402
|
-
|
|
429
|
+
import streamlit as st
|
|
430
|
+
from streamlit.connections import SQLConnection
|
|
403
431
|
|
|
404
|
-
|
|
405
|
-
>>> from streamlit.connections import SQLConnection
|
|
406
|
-
>>> conn = st.connection("my_sql_connection", type=SQLConnection)
|
|
432
|
+
conn = st.connection("my_sql_connection", type=SQLConnection)
|
|
407
433
|
|
|
408
434
|
"""
|
|
409
435
|
|
streamlit/static/index.html
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<script>
|
|
38
38
|
window.prerenderReady = false
|
|
39
39
|
</script>
|
|
40
|
-
<script type="module" crossorigin src="./static/js/index.
|
|
40
|
+
<script type="module" crossorigin src="./static/js/index.CXVpBAvU.js"></script>
|
|
41
41
|
<link rel="stylesheet" crossorigin href="./static/css/index.BUP6fTcR.css">
|
|
42
42
|
</head>
|
|
43
43
|
<body>
|