streamlit-nightly 1.52.3.dev20260106__tar.gz → 1.52.3.dev20260108__tar.gz
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_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/PKG-INFO +1 -1
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/setup.py +1 -1
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/__init__.py +33 -16
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/bidi_component/main.py +0 -8
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/types.py +13 -20
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/config.py +10 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/connections/__init__.py +5 -1
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/connections/snowflake_connection.py +203 -57
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/number_input.py +27 -24
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/errors.py +0 -12
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/connection_factory.py +25 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/context.py +22 -30
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/session_manager.py +35 -2
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/index.html +1 -1
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/manifest.json +300 -300
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/ErrorOutline.esm.D2r71uaM.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/ErrorOutline.esm.j3b3OjAK.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/FileDownload.esm.BWEHU45R.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/FileDownload.esm.DCizXv6Q.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/FileHelper.bM5nEcHb.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/FileHelper.EpMV5UVe.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/FormClearHelper.DrhgNNta.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/FormClearHelper.lF7Ran5M.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/InputInstructions.DPiGX0Th.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/InputInstructions.CMvqhPhy.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/Particles.NjZlN0Ji.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/Particles.DsGe8psi.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/ProgressBar.BC4DXqMl.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/ProgressBar.DzoKn4D-.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/StreamlitSyntaxHighlighter.CbRgSaN7.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/StreamlitSyntaxHighlighter.CFab0b_b.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/TableChart.esm.gttTfh7r.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/TableChart.esm.nZsTq1Sb.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/Toolbar.DO2JfHk1.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/Toolbar.CFMvwQYl.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/WidgetLabelHelpIconInline.NVlzvmTZ.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/WidgetLabelHelpIconInline.D2EEUEQX.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/base-input.CmG3KTuv.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/base-input.DKTA2QNz.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/checkbox.cfHeGdGI.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/checkbox.D9H9J-_W.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/createDownloadLinkElement.B59a5_bn.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/createDownloadLinkElement.DCk6EhPM.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/data-grid-overlay-editor.DpTe47v0.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/data-grid-overlay-editor.DExrGdqs.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/downloader.CYtKIJ9J.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/downloader.CLJ7BreF.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/embed.Dfyy6eKR.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/embed.CxOHZWx2.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/es6.x2A9auGg.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/es6.C99ebre4.js +2 -2
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/formatNumber.D8YUVHBi.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/formatNumber.D_w4fBsk.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/iconPosition.C6Qxuo2L.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/iconPosition.Cfhw1RkE.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/iframeResizer.contentWindow.Q0Cy4mzM.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/iframeResizer.contentWindow.BcWUIYOe.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.WMC0NWRg.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.1AemKTSK.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DfXZgqLi.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.7Q3Iaebc.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DMtSM2QJ.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.ATP5607r.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.Bs9bS4ZQ.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.BHx4Qw7z.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DlXiDt-m.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.BOGNGR9a.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.BICn75_M.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.BWK_h3IL.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DzZhu8Ry.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.BXQNt1hj.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.BtasgGzT.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.BXnQdCa5.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.D2pbLWvp.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.BcbR2mbc.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.mRYkGVRy.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.Bp_LrAiI.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.Zffuf6-0.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.Bu3Lto_G.js +1 -1
- streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.BzQChe4y.js +1 -0
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.HTZptmDX.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.C-lnh8pI.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.Bmo0a9c3.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.C0VFHmJN.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.72U0nUaY.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.C7_5JMRC.js +1 -1
- streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.C98anBCM.js +1 -0
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DFrG8naT.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.CBZQ_6AF.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.CCkh_YSD.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.CFE-yHdT.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.mUwcAQrC.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.CFtGP8pH.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DDUzbOzY.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.CGX2fllG.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DemMZEQt.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.COZICZL6.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.WW20lmQl.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.COjurlZk.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.BSULROGA.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.CPo5dtx7.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.7BBVjqsx.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.Cg59Loqx.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.CgFM5y1b.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.CiU2Tdcl.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.CEB-gMZu.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.CrJ9KZpt.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.BHzkSOU6.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.CrzXL2V8.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.9i44yl-A.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.CyVBY8PG.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.Dmaco99Q.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.D18KqoUa.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.CzMaYu3-.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DDx6TP95.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DMgiqc8r.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DIIdzDwK.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.9lrRft8u.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DJ4GBc1k.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.BA25ZBoD.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DSSQzzPk.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.4DpGzJxM.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DbmtfcDm.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.CWEfMTRP.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DcudoGfL.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.AF9wK9Wi.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DiZfOR0A.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.BuCGo7-5.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DkSjHoXw.js +5 -5
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.CcpuNeOs.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DoLorXMA.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.up8HPR4v.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DpnqUQVD.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DrHoCPek.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.Dqphk1ee.js +2 -2
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.Cto6hKVz.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.Ds-w0zIo.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.5zBrLB5N.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.DuFqxjbN.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.BTcImDDt.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.Dx8TcTHV.js +6 -6
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DltYrNjp.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.V4C1Oi-F.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.DyL5do6X.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.aJ3XRx8R.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.i5tC1QD-.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.f_s01aPm.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.4evoB7lO.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.gnFSTAhI.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.Dm8qt8Me.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/index.mZ1qbnKs.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/input.C76A8APa.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/input.CZPD7mCu.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/main.CFbvktEv.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/main.CX1jAiMw.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/memory.BkhqbxJl.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/memory.m0jC5ULx.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/number-overlay-editor.Dpeh6_Ag.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/number-overlay-editor.Dy0iTeCo.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/pandasStylerUtils.D8MDzfFI.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/pandasStylerUtils.D9jj-wHU.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/sandbox.m1TYtBuF.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/sandbox.CbvG1iAz.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/styled-components.yin3sIMA.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/styled-components.Cw3ioniY.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/throttle.Df6MiNTy.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/throttle.CAwhGpn0.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/timepicker.gcx4yeRx.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/timepicker.Bh3m6Pjp.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/toConsumableArray.Ca7RO9Jm.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/toConsumableArray.DM0o32JS.js +1 -1
- streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/uniqueId.DtV_RZzG.js +1 -0
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/useBasicWidgetState.CRkPCtR5.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/useBasicWidgetState.C9zOVP8a.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/useIntlLocale.CFOMULNz.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/useIntlLocale.Bo42aN1U.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/useTextInputAutoExpand.9c205rhQ.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/useTextInputAutoExpand.DmyHLDxl.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/useUpdateUiValue.SYJJuEJM.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/useUpdateUiValue.aWXWpqmw.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/useWaveformController.CCs9fdSv.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/useWaveformController.DlE14M1X.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/withCalculatedWidth.MG9RY_Y-.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/withCalculatedWidth.B5JFJSmG.js +1 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/withFullScreenWrapper.BgGLtZrC.js → streamlit_nightly-1.52.3.dev20260108/streamlit/static/static/js/withFullScreenWrapper.dgVioHk1.js +1 -1
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/browser_websocket_handler.py +48 -5
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/server.py +43 -8
- streamlit_nightly-1.52.3.dev20260108/streamlit/web/server/starlette/__init__.py +22 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/starlette/starlette_routes.py +4 -0
- streamlit_nightly-1.52.3.dev20260108/streamlit/web/server/starlette/starlette_server.py +496 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/starlette/starlette_websocket.py +39 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit_nightly.egg-info/PKG-INFO +1 -1
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit_nightly.egg-info/SOURCES.txt +88 -87
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.Cszkm2ii.js +0 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/index.xQYe72hk.js +0 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/static/static/js/uniqueId.Bf2Hsb60.js +0 -1
- streamlit_nightly-1.52.3.dev20260106/streamlit/web/server/starlette/__init__.py +0 -13
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/MANIFEST.in +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/bin/streamlit.cmd +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/setup.cfg +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/__main__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/auth_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/cli_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/column_config.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/commands/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/commands/echo.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/commands/execution_control.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/commands/experimental_query_params.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/commands/logo.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/commands/navigation.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/commands/page_config.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/lib/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/lib/local_component_registry.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/types/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/types/base_component_registry.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/types/base_custom_component.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v1/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v1/component_arrow.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v1/component_registry.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v1/components.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v1/custom_component.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/bidi_component/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/bidi_component/constants.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/bidi_component/serialization.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/bidi_component/state.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/component_definition_resolver.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/component_file_watcher.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/component_manager.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/component_manifest_handler.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/component_path_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/component_registry.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/get_bidi_component_manager.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/manifest_scanner.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/components/v2/presentation.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/config_option.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/config_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/connections/base_connection.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/connections/snowpark_connection.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/connections/sql_connection.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/connections/util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/cursor.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/dataframe_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/delta_generator.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/delta_generator_singletons.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/deprecation_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/development.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/alert.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/arrow.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/balloons.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/bokeh_chart.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/code.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/deck_gl_json_chart.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/dialog_decorator.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/doc_string.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/empty.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/exception.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/form.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/graphviz_chart.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/heading.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/html.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/iframe.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/image.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/json.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/layouts.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/built_in_chart_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/color_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/column_config_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/column_types.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/dialog.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/dicttools.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/file_uploader_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/form_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/image_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/js_number.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/layout_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/mutable_status_container.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/options_selector_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/pandas_styler_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/policies.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/shortcut_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/streamlit_plotly_theme.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/subtitle_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/lib/utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/map.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/markdown.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/media.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/metric.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/pdf.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/plotly_chart.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/progress.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/pyplot.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/snow.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/space.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/spinner.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/text.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/toast.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/vega_charts.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/audio_input.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/button.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/button_group.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/camera_input.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/chat.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/checkbox.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/color_picker.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/data_editor.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/file_uploader.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/multiselect.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/radio.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/select_slider.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/selectbox.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/slider.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/text_widgets.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/widgets/time_widgets.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/elements/write.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/emojis.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/env_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/error_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/external/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/external/langchain/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/external/langchain/streamlit_callback_handler.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/file_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/git_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/hello/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/hello/animation_demo.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/hello/dataframe_demo.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/hello/hello.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/hello/mapping_demo.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/hello/plotting_demo.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/hello/streamlit_app.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/hello/utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/logger.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/material_icon_names.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/navigation/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/navigation/page.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/net_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/platform.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Alert_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Alert_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/AppPage_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/AppPage_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ArrowData_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ArrowData_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ArrowNamedDataSet_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ArrowNamedDataSet_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ArrowVegaLiteChart_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ArrowVegaLiteChart_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Arrow_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Arrow_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/AudioInput_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/AudioInput_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Audio_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Audio_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/AuthRedirect_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/AuthRedirect_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/AutoRerun_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/AutoRerun_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/BackMsg_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/BackMsg_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Balloons_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Balloons_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/BidiComponent_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/BidiComponent_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Block_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Block_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/BokehChart_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/BokehChart_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ButtonGroup_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ButtonGroup_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ButtonLikeIconPosition_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ButtonLikeIconPosition_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Button_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Button_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/CameraInput_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/CameraInput_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ChatInput_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ChatInput_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Checkbox_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Checkbox_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ClientState_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ClientState_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Code_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Code_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ColorPicker_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ColorPicker_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Common_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Common_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Components_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Components_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DataFrame_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DataFrame_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DateInput_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DateInput_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DateTimeInput_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DateTimeInput_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DeckGlJsonChart_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DeckGlJsonChart_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Delta_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Delta_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DocString_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DocString_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DownloadButton_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/DownloadButton_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Element_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Element_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Empty_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Empty_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Exception_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Exception_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Favicon_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Favicon_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/FileUploader_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/FileUploader_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ForwardMsg_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ForwardMsg_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/GapSize_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/GapSize_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/GitInfo_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/GitInfo_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/GraphVizChart_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/GraphVizChart_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Heading_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Heading_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/HeightConfig_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/HeightConfig_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Html_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Html_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/IFrame_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/IFrame_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Image_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Image_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Json_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Json_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/LabelVisibilityMessage_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/LabelVisibilityMessage_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/LinkButton_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/LinkButton_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Logo_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Logo_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Markdown_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Markdown_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Metric_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Metric_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/MetricsEvent_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/MetricsEvent_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/MultiSelect_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/MultiSelect_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/NamedDataSet_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/NamedDataSet_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Navigation_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Navigation_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/NewSession_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/NewSession_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/NumberInput_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/NumberInput_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageConfig_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageConfig_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageInfo_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageInfo_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageLink_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageLink_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageNotFound_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageNotFound_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageProfile_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PageProfile_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PagesChanged_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PagesChanged_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ParentMessage_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/ParentMessage_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PlotlyChart_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/PlotlyChart_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Progress_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Progress_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Radio_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Radio_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/RootContainer_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/RootContainer_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Selectbox_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Selectbox_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/SessionEvent_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/SessionEvent_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/SessionStatus_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/SessionStatus_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Skeleton_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Skeleton_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Slider_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Slider_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Snow_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Snow_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Space_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Space_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Spinner_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Spinner_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/TextAlignmentConfig_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/TextAlignmentConfig_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/TextArea_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/TextArea_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/TextInput_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/TextInput_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Text_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Text_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/TimeInput_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/TimeInput_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Toast_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Toast_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Transient_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Transient_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/VegaLiteChart_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/VegaLiteChart_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Video_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/Video_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/WidgetStates_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/WidgetStates_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/WidthConfig_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/WidthConfig_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/openmetrics_data_model_pb2.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/proto/openmetrics_data_model_pb2.pyi +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/py.typed +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/app_session.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/cache_data_api.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/cache_errors.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/cache_resource_api.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/cache_type.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/cache_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/cached_message_replay.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/hashing.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/legacy_cache_api.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/storage/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/storage/cache_storage_protocol.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/storage/dummy_cache_storage.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/storage/in_memory_cache_storage_wrapper.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/storage/local_disk_cache_storage.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/caching/ttl_cleanup_cache.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/context_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/credentials.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/download_data_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/forward_msg_cache.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/forward_msg_queue.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/fragment.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/media_file_manager.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/media_file_storage.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/memory_media_file_storage.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/memory_session_storage.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/memory_uploaded_file_manager.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/metrics_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/pages_manager.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/runtime.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/runtime_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/script_data.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner/exec_code.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner/magic.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner/magic_funcs.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner/script_cache.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner/script_runner.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner_utils/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner_utils/exceptions.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner_utils/script_requests.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/scriptrunner_utils/script_run_context.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/secrets.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/state/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/state/common.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/state/presentation.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/state/query_params.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/state/query_params_proxy.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/state/safe_session_state.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/state/session_state.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/state/session_state_proxy.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/state/widgets.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/stats.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/theme_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/uploaded_file_manager.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/runtime/websocket_session_manager.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/source_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/favicon.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/css/index.BUP6fTcR.css +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/css/index.BuwrT-ty.css +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/css/index.DgR7E2CV.css +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/IFrameUtil.DefezniK.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/UploadFileInfo.Dr-zDST7.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/_arrayIncludes.B19Iyn2B.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/_baseIndexOf.BTknn6Gb.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/formatMoment.C6Hwn6X5.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/index.8HslT92O.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/index.BBTKOM0z.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/index.bsVAaBS1.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/inputUtils.CptNuJwn.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/moment.C7qA8nIE.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/numbro.B9_PXfzp.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/record.DytFsBUt.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/sprintf.DpPCfzXw.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/threshold.CUNQbqMA.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/timer.BZio6gjG.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/urls.BwSlolu9.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/value.DaKxGC7O.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/js/wavesurfer.esm.D1Sty35j.js +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_AMS-Regular.BQhdFMY1.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_AMS-Regular.DMm9YOAa.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_AMS-Regular.DRggAlZN.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.BEiXGLvX.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.CTRA-rTL.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.wX97UBjC.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Fraktur-Bold.BdnERNNW.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Fraktur-Bold.BsDP51OF.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Fraktur-Bold.CL6g_b3V.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Fraktur-Regular.CB_wures.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Fraktur-Regular.CTYiF6lA.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Fraktur-Regular.Dxdc4cR9.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-Bold.Cx986IdX.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-Bold.Jm3AIy58.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-Bold.waoOVXN0.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-BoldItalic.DzxPMmG6.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-BoldItalic.SpSLRI95.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-Italic.3WenGoN9.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-Italic.BMLOBm91.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-Italic.NWA7e6Wa.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-Regular.B22Nviop.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-Regular.Dr94JaBh.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Main-Regular.ypZvNtVU.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Math-BoldItalic.B3XSjfu4.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Math-BoldItalic.iY-2wyZ7.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Math-Italic.DA0__PXp.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Math-Italic.flOr_0UB.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Math-Italic.t53AETM-.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_SansSerif-Bold.CFMepnvq.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_SansSerif-Bold.D1sUS0GD.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_SansSerif-Bold.DbIhKOiC.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_SansSerif-Italic.C3H0VqGB.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_SansSerif-Italic.DN2j7dab.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_SansSerif-Regular.BNo7hRIc.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_SansSerif-Regular.CS6fqUqJ.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Script-Regular.C5JkGWo-.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Script-Regular.D3wIWfF6.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Script-Regular.D5yQViql.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size1-Regular.C195tn64.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size1-Regular.Dbsnue_I.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size1-Regular.mCD8mA8B.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size2-Regular.B7gKUWhC.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size2-Regular.Dy4dx90m.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size2-Regular.oD1tc_U0.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size3-Regular.CTq5MqoE.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size3-Regular.DgpXs0kz.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size4-Regular.BF-4gkZK.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size4-Regular.DWFBv043.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Size4-Regular.Dl5lxZxV.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Typewriter-Regular.C0xS9mPB.woff +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Typewriter-Regular.CO6r4hn1.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/MaterialSymbols-Rounded.C7IFxh57.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/SourceCodeVF-Italic.ttf.Ba1oaZG1.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/SourceCodeVF-Upright.ttf.BjWn63N-.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/SourceSansVF-Italic.ttf.Bt9VkdQ3.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/SourceSansVF-Upright.ttf.BsWL4Kly.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/SourceSerifVariable-Italic.ttf.CVdzAtxO.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/SourceSerifVariable-Roman.ttf.mdpVL9bi.woff2 +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/balloon-0.Czj7AKwE.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/balloon-1.CNvFFrND.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/balloon-2.DTvC6B1t.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/balloon-3.CgSk4tbL.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/balloon-4.mbtFrzxf.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/balloon-5.CSwkUfRA.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/fireworks.B4d-_KUe.gif +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/flake-0.DgWaVvm5.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/flake-1.B2r5AHMK.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/flake-2.BnWSExPC.png +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/static/static/media/snowflake.JU2jBHL8.svg +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/string_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/temporary_directory.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/testing/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/testing/v1/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/testing/v1/app_test.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/testing/v1/element_tree.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/testing/v1/local_script_runner.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/testing/v1/util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/time_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/type_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/url_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/user_info.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/vendor/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/vendor/pympler/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/vendor/pympler/asizeof.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/version.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/watcher/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/watcher/event_based_path_watcher.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/watcher/folder_black_list.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/watcher/local_sources_watcher.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/watcher/path_watcher.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/watcher/polling_path_watcher.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/watcher/util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/bootstrap.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/cache_storage_manager_config.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/cli.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/__init__.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/app_static_file_handler.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/authlib_tornado_integration.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/bidi_component_request_handler.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/component_file_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/component_request_handler.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/media_file_handler.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/oauth_authlib_routes.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/oidc_mixin.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/routes.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/server_util.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/starlette/starlette_app.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/starlette/starlette_app_utils.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/starlette/starlette_auth_routes.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/starlette/starlette_gzip_middleware.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/starlette/starlette_server_config.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/starlette/starlette_static_routes.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/stats_request_handler.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/upload_file_request_handler.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/web/server/websocket_headers.py +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit_nightly.egg-info/dependency_links.txt +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit_nightly.egg-info/entry_points.txt +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit_nightly.egg-info/not-zip-safe +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit_nightly.egg-info/requires.txt +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit_nightly.egg-info/top_level.txt +0 -0
- {streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/tests/testutil.py +0 -0
|
@@ -23,7 +23,7 @@ from setuptools.command.install import install
|
|
|
23
23
|
|
|
24
24
|
THIS_DIRECTORY = Path(__file__).parent
|
|
25
25
|
|
|
26
|
-
VERSION = "1.52.3.
|
|
26
|
+
VERSION = "1.52.3.dev20260108" # PEP-440
|
|
27
27
|
|
|
28
28
|
# IMPORTANT: We should try very hard *not* to add dependencies to Streamlit.
|
|
29
29
|
# And if you do add one, make the required version as general as possible:
|
|
@@ -18,6 +18,7 @@ from __future__ import annotations
|
|
|
18
18
|
|
|
19
19
|
from typing import TYPE_CHECKING, Any
|
|
20
20
|
|
|
21
|
+
from streamlit import deprecation_util
|
|
21
22
|
from streamlit.components.v2.component_definition_resolver import (
|
|
22
23
|
build_definition_with_validation,
|
|
23
24
|
)
|
|
@@ -106,6 +107,7 @@ def _create_component_callable(
|
|
|
106
107
|
html: str | None = None,
|
|
107
108
|
css: str | None = None,
|
|
108
109
|
js: str | None = None,
|
|
110
|
+
isolate_styles: bool = True,
|
|
109
111
|
) -> Callable[..., Any]:
|
|
110
112
|
"""Create a component callable, handling both lookup and registration cases.
|
|
111
113
|
|
|
@@ -121,6 +123,9 @@ def _create_component_callable(
|
|
|
121
123
|
js : str | None
|
|
122
124
|
Inline JavaScript (string) or a string path/glob to a file under
|
|
123
125
|
``asset_dir``; see :func:`_register_component` for path validation semantics.
|
|
126
|
+
isolate_styles : bool
|
|
127
|
+
Whether to sandbox the component's styles in a shadow root.
|
|
128
|
+
Defaults to True.
|
|
124
129
|
|
|
125
130
|
Returns
|
|
126
131
|
-------
|
|
@@ -143,7 +148,6 @@ def _create_component_callable(
|
|
|
143
148
|
default: dict[str, Any] | None = None,
|
|
144
149
|
width: Width = "stretch",
|
|
145
150
|
height: Height = "content",
|
|
146
|
-
isolate_styles: bool = True,
|
|
147
151
|
**on_callbacks: WidgetCallback | None,
|
|
148
152
|
) -> BidiComponentResult:
|
|
149
153
|
"""Mount the component.
|
|
@@ -161,9 +165,6 @@ def _create_component_callable(
|
|
|
161
165
|
The width of the component.
|
|
162
166
|
height : Height
|
|
163
167
|
The height of the component.
|
|
164
|
-
isolate_styles : bool
|
|
165
|
-
Whether to sandbox the component styles in a shadow-root. Defaults to
|
|
166
|
-
True.
|
|
167
168
|
**on_callbacks : WidgetCallback
|
|
168
169
|
Callback functions for handling component events. Use pattern
|
|
169
170
|
on_{state_name}_change (e.g., on_click_change, on_value_change).
|
|
@@ -175,6 +176,20 @@ def _create_component_callable(
|
|
|
175
176
|
"""
|
|
176
177
|
import streamlit as st
|
|
177
178
|
|
|
179
|
+
# Backwards-tolerant: old code may still pass isolate_styles at mount
|
|
180
|
+
# time. Since isolate_styles is now configured on component(), ignore it
|
|
181
|
+
# here to prevent a runtime error.
|
|
182
|
+
if "isolate_styles" in on_callbacks:
|
|
183
|
+
on_callbacks.pop("isolate_styles", None)
|
|
184
|
+
|
|
185
|
+
deprecation_util.show_deprecation_warning(
|
|
186
|
+
"Passing `isolate_styles` when mounting a component created via "
|
|
187
|
+
"`st.components.v2.component` is deprecated and will be ignored. "
|
|
188
|
+
"Set `isolate_styles` when creating the component instead "
|
|
189
|
+
"(`st.components.v2.component(..., isolate_styles=...)`).",
|
|
190
|
+
show_in_browser=False,
|
|
191
|
+
)
|
|
192
|
+
|
|
178
193
|
return st._bidi_component(
|
|
179
194
|
component_key,
|
|
180
195
|
key=key,
|
|
@@ -186,10 +201,6 @@ def _create_component_callable(
|
|
|
186
201
|
**on_callbacks,
|
|
187
202
|
)
|
|
188
203
|
|
|
189
|
-
# Ensure the function remains compatible with the shared public callable type.
|
|
190
|
-
# Static type assertion to ensure the callable matches the shared signature
|
|
191
|
-
_typed_check_mount_component: BidiComponentCallable = _mount_component
|
|
192
|
-
|
|
193
204
|
return _mount_component
|
|
194
205
|
|
|
195
206
|
|
|
@@ -199,11 +210,13 @@ def component(
|
|
|
199
210
|
html: str | None = None,
|
|
200
211
|
css: str | None = None,
|
|
201
212
|
js: str | None = None,
|
|
213
|
+
isolate_styles: bool = True,
|
|
202
214
|
) -> BidiComponentCallable:
|
|
203
215
|
'''Register an ``st.components.v2`` component and return a callable to mount it.
|
|
204
216
|
|
|
205
|
-
|
|
206
|
-
|
|
217
|
+
Components may provide any combination of HTML, CSS, and JavaScript. If none
|
|
218
|
+
are provided, the component will render as an empty element without raising
|
|
219
|
+
an error.
|
|
207
220
|
|
|
208
221
|
If your component is defined in an installed package, you can declare an
|
|
209
222
|
asset directory (``asset_dir``) through ``pyproject.toml`` files in the
|
|
@@ -250,9 +263,6 @@ def component(
|
|
|
250
263
|
element and populate it via JavaScript. Alternatively, you can append
|
|
251
264
|
a new element to the parent. For more information, see Example 2.
|
|
252
265
|
|
|
253
|
-
``html`` and ``js`` can't both be ``None``. At least one of them must
|
|
254
|
-
be provided.
|
|
255
|
-
|
|
256
266
|
css : str or None
|
|
257
267
|
Inline CSS. This can be one of the following strings:
|
|
258
268
|
|
|
@@ -267,8 +277,13 @@ def component(
|
|
|
267
277
|
- A path or glob to a JS file, relative to the component's
|
|
268
278
|
asset directory.
|
|
269
279
|
|
|
270
|
-
|
|
271
|
-
|
|
280
|
+
isolate_styles : bool
|
|
281
|
+
Whether to sandbox the component styles in a shadow root. If this is
|
|
282
|
+
``True`` (default), the component's HTML is mounted inside a shadow DOM
|
|
283
|
+
and, in your component's JavaScript, ``parentElement`` returns a
|
|
284
|
+
``ShadowRoot``. If this is ``False``, the component's HTML is mounted
|
|
285
|
+
directly into the app's DOM tree, and ``parentElement`` returns a
|
|
286
|
+
regular ``HTMLElement``.
|
|
272
287
|
|
|
273
288
|
Returns
|
|
274
289
|
-------
|
|
@@ -506,7 +521,9 @@ def component(
|
|
|
506
521
|
height: 250px
|
|
507
522
|
|
|
508
523
|
'''
|
|
509
|
-
return _create_component_callable(
|
|
524
|
+
return _create_component_callable(
|
|
525
|
+
name, html=html, css=css, js=js, isolate_styles=isolate_styles
|
|
526
|
+
)
|
|
510
527
|
|
|
511
528
|
|
|
512
529
|
__all__ = [
|
|
@@ -50,7 +50,6 @@ from streamlit.errors import (
|
|
|
50
50
|
BidiComponentInvalidCallbackNameError,
|
|
51
51
|
BidiComponentInvalidDefaultKeyError,
|
|
52
52
|
BidiComponentInvalidIdError,
|
|
53
|
-
BidiComponentMissingContentError,
|
|
54
53
|
BidiComponentUnserializableDataError,
|
|
55
54
|
)
|
|
56
55
|
from streamlit.proto.ArrowData_pb2 import ArrowData as ArrowDataProto
|
|
@@ -349,13 +348,6 @@ class BidiComponentMixin:
|
|
|
349
348
|
if component_def is None:
|
|
350
349
|
raise ValueError(f"Component '{component_name}' is not registered")
|
|
351
350
|
|
|
352
|
-
# Validate that the component has the required content
|
|
353
|
-
has_js = bool(component_def.js_content or component_def.js_url)
|
|
354
|
-
has_html = bool(component_def.html_content)
|
|
355
|
-
|
|
356
|
-
if not has_js and not has_html:
|
|
357
|
-
raise BidiComponentMissingContentError(component_name)
|
|
358
|
-
|
|
359
351
|
# ------------------------------------------------------------------
|
|
360
352
|
# 1. Parse user-supplied callbacks
|
|
361
353
|
# ------------------------------------------------------------------
|
|
@@ -22,6 +22,10 @@ authoring wrappers/utilities around `st.components.v2.component`.
|
|
|
22
22
|
The goal is to keep the public argument surface documented in one place and
|
|
23
23
|
reusable across both the user-facing factory in `components/v2/__init__.py`
|
|
24
24
|
and the internal implementation in `components/v2/bidi_component/main.py`.
|
|
25
|
+
|
|
26
|
+
Component definitions may provide any combination of HTML, CSS, and
|
|
27
|
+
JavaScript. If none are supplied, the component renders as an empty
|
|
28
|
+
placeholder without raising an error.
|
|
25
29
|
"""
|
|
26
30
|
|
|
27
31
|
from __future__ import annotations
|
|
@@ -137,14 +141,6 @@ class BidiComponentCallable(Protocol):
|
|
|
137
141
|
You are responsible for ensuring the component's inner HTML content is
|
|
138
142
|
responsive to the ``<div>`` wrapper.
|
|
139
143
|
|
|
140
|
-
isolate_styles : bool
|
|
141
|
-
Whether to sandbox the component styles in a shadow root. If this is
|
|
142
|
-
``True`` (default), the component's HTML is mounted inside a shadow DOM
|
|
143
|
-
and, in your component's JavaScript, ``parentElement`` returns a
|
|
144
|
-
``ShadowRoot``. If this is ``False``, the component's HTML is mounted
|
|
145
|
-
directly into the app's DOM tree, and ``parentElement`` returns a
|
|
146
|
-
regular ``HTMLElement``.
|
|
147
|
-
|
|
148
144
|
**callbacks : Callable or None
|
|
149
145
|
Callbacks with the naming pattern ``on_<key>_change`` for each state and
|
|
150
146
|
trigger key. For example, if your component has a state key of
|
|
@@ -251,11 +247,12 @@ class BidiComponentCallable(Protocol):
|
|
|
251
247
|
|
|
252
248
|
**Example 2: Add Tailwind CSS to a component**
|
|
253
249
|
|
|
254
|
-
You can use the ``isolate_styles`` parameter
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
250
|
+
You can use the ``isolate_styles`` parameter in
|
|
251
|
+
``st.components.v2.component`` to disable shadow DOM isolation and apply
|
|
252
|
+
global styles like Tailwind CSS to your component. The following example
|
|
253
|
+
creates a simple button styled with Tailwind CSS. This example also
|
|
254
|
+
demonstrates using different keys to mount multiple instances of the same
|
|
255
|
+
component in one app.
|
|
259
256
|
|
|
260
257
|
.. code-block:: python
|
|
261
258
|
|
|
@@ -285,15 +282,12 @@ class BidiComponentCallable(Protocol):
|
|
|
285
282
|
"my_tailwind_button",
|
|
286
283
|
html=HTML,
|
|
287
284
|
js=JS,
|
|
285
|
+
isolate_styles=False,
|
|
288
286
|
)
|
|
289
|
-
result_1 = my_component(
|
|
290
|
-
isolate_styles=False, on_clicked_change=lambda: None, key="one"
|
|
291
|
-
)
|
|
287
|
+
result_1 = my_component(on_clicked_change=lambda: None, key="one")
|
|
292
288
|
result_1
|
|
293
289
|
|
|
294
|
-
result_2 = my_component(
|
|
295
|
-
isolate_styles=False, on_clicked_change=lambda: None, key="two"
|
|
296
|
-
)
|
|
290
|
+
result_2 = my_component(on_clicked_change=lambda: None, key="two")
|
|
297
291
|
result_2
|
|
298
292
|
|
|
299
293
|
.. output::
|
|
@@ -310,7 +304,6 @@ class BidiComponentCallable(Protocol):
|
|
|
310
304
|
default: BidiComponentDefaults = None,
|
|
311
305
|
width: Width = "stretch",
|
|
312
306
|
height: Height = "content",
|
|
313
|
-
isolate_styles: ComponentIsolateStyles = True,
|
|
314
307
|
**on_callbacks: WidgetCallback | None,
|
|
315
308
|
) -> BidiComponentResult: ...
|
|
316
309
|
|
{streamlit_nightly-1.52.3.dev20260106 → streamlit_nightly-1.52.3.dev20260108}/streamlit/config.py
RENAMED
|
@@ -1003,6 +1003,16 @@ _create_option(
|
|
|
1003
1003
|
visibility="hidden",
|
|
1004
1004
|
)
|
|
1005
1005
|
|
|
1006
|
+
_create_option(
|
|
1007
|
+
"server.useStarlette",
|
|
1008
|
+
description="""
|
|
1009
|
+
Enable the experimental Starlette-based server implementation instead of
|
|
1010
|
+
Tornado. This is an experimental feature and may be removed in the future.
|
|
1011
|
+
""",
|
|
1012
|
+
default_val=False,
|
|
1013
|
+
type_=bool,
|
|
1014
|
+
)
|
|
1015
|
+
|
|
1006
1016
|
# Config Section: Browser #
|
|
1007
1017
|
|
|
1008
1018
|
_create_section("browser", "Configuration of non-UI browser options.")
|
|
@@ -13,7 +13,10 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
from streamlit.connections.base_connection import BaseConnection
|
|
16
|
-
from streamlit.connections.snowflake_connection import
|
|
16
|
+
from streamlit.connections.snowflake_connection import (
|
|
17
|
+
SnowflakeCallersRightsConnection,
|
|
18
|
+
SnowflakeConnection,
|
|
19
|
+
)
|
|
17
20
|
from streamlit.connections.snowpark_connection import SnowparkConnection
|
|
18
21
|
from streamlit.connections.sql_connection import SQLConnection
|
|
19
22
|
|
|
@@ -23,6 +26,7 @@ __all__ = [
|
|
|
23
26
|
"BaseConnection",
|
|
24
27
|
"ExperimentalBaseConnection",
|
|
25
28
|
"SQLConnection",
|
|
29
|
+
"SnowflakeCallersRightsConnection",
|
|
26
30
|
"SnowflakeConnection",
|
|
27
31
|
"SnowparkConnection",
|
|
28
32
|
]
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
|
|
21
21
|
from __future__ import annotations
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
import os
|
|
24
|
+
from typing import TYPE_CHECKING, Any, Final, Literal, cast
|
|
24
25
|
|
|
25
26
|
from streamlit import logger
|
|
26
27
|
from streamlit.connections import BaseConnection
|
|
@@ -45,11 +46,18 @@ if TYPE_CHECKING:
|
|
|
45
46
|
# (see docs: https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-api#id6)
|
|
46
47
|
SQLSTATE_CONNECTION_WAS_NOT_ESTABLISHED: Final = "08001"
|
|
47
48
|
|
|
49
|
+
# The location on disk where Snowpark Container Services will mount service connection tokens.
|
|
50
|
+
SNOWPARK_CONNECTION_TOKEN_FILE = "/snowflake/session/token" # noqa: S105 (not a password)
|
|
48
51
|
|
|
49
|
-
|
|
52
|
+
# The header where Snowpark Container Services will put per-user connection tokens.
|
|
53
|
+
SNOWPARK_USER_TOKEN_HEADER_NAME = "Sf-Context-Current-User-Token" # noqa: S105 (not a password)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class BaseSnowflakeConnection(BaseConnection["InternalSnowflakeConnection"]):
|
|
50
57
|
"""A connection to Snowflake using the Snowflake Connector for Python.
|
|
51
58
|
|
|
52
|
-
|
|
59
|
+
For standard connections, create an instance of this using
|
|
60
|
+
``st.connection("snowflake")`` or
|
|
53
61
|
``st.connection("<name>", type="snowflake")``. Connection parameters for a
|
|
54
62
|
SnowflakeConnection can be specified using ``secrets.toml`` and/or
|
|
55
63
|
``**kwargs``. Connection parameters are passed to
|
|
@@ -61,7 +69,14 @@ class SnowflakeConnection(BaseConnection["InternalSnowflakeConnection"]):
|
|
|
61
69
|
case. Use ``secrets.toml`` and ``**kwargs`` to configure your connection
|
|
62
70
|
for local development.
|
|
63
71
|
|
|
64
|
-
|
|
72
|
+
When an app is running in Snowpark Container Services and has caller's rights
|
|
73
|
+
enabled, ``st.connection("snowflake-callers-rights")`` connects automatically
|
|
74
|
+
using the current user's identity tokens. This will be a session-scoped connection
|
|
75
|
+
to ensure that the identity stays tied to the active user. Unlike with
|
|
76
|
+
``"snowflake"`` connections, it will use the Snowpark Container Services connection
|
|
77
|
+
settings even when other ``**kwargs`` are provided.
|
|
78
|
+
|
|
79
|
+
BaseSnowflakeConnection includes several convenience methods. For example, you
|
|
65
80
|
can directly execute a SQL query with ``.query()`` or access the underlying
|
|
66
81
|
Snowflake Connector object with ``.raw_connection``.
|
|
67
82
|
|
|
@@ -85,6 +100,12 @@ class SnowflakeConnection(BaseConnection["InternalSnowflakeConnection"]):
|
|
|
85
100
|
in SQL queries. For more information, see `Account identifiers
|
|
86
101
|
<https://docs.snowflake.com/en/user-guide/admin-account-identifier>`_.
|
|
87
102
|
|
|
103
|
+
.. Important::
|
|
104
|
+
Caller's rights connections rely on credentials provided when a user first
|
|
105
|
+
connects to a Streamlit app. These credentials are only valid for a short period
|
|
106
|
+
of time - so caller's rights connections must be created at the top of an app
|
|
107
|
+
or else the connection may fail.
|
|
108
|
+
|
|
88
109
|
Examples
|
|
89
110
|
--------
|
|
90
111
|
**Example 1: Configuration with Streamlit secrets**
|
|
@@ -222,64 +243,23 @@ class SnowflakeConnection(BaseConnection["InternalSnowflakeConnection"]):
|
|
|
222
243
|
>>> conn = st.connection("snowflake")
|
|
223
244
|
>>> df = conn.query("SELECT * FROM my_table")
|
|
224
245
|
|
|
225
|
-
|
|
246
|
+
**Example 7: Caller's rights connection when running in Snowpark Container Services**
|
|
226
247
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
248
|
+
This connection will work for any Streamlit-in-Snowflake app using a container
|
|
249
|
+
runtime, as well as any self-managed caller's rights Service in Snowpark Container
|
|
250
|
+
Services that is hosting Streamlit.
|
|
230
251
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
from snowflake.snowpark.context import ( # type:ignore[import] # isort: skip
|
|
235
|
-
get_active_session,
|
|
236
|
-
)
|
|
237
|
-
|
|
238
|
-
session = get_active_session()
|
|
252
|
+
This will use the Snowpark-provided account, host, database, and schema to connect.
|
|
253
|
+
Additionally, it will set ``client_session_keep_alive`` to ``True``. These values
|
|
254
|
+
may be overridden with ``**kwargs``.
|
|
239
255
|
|
|
240
|
-
|
|
241
|
-
return session.connection
|
|
242
|
-
# session.connection is only a valid attr in more recent versions of
|
|
243
|
-
# snowflake-connector-python, so we fall back to grabbing
|
|
244
|
-
# session._conn._conn if `.connection` is unavailable.
|
|
245
|
-
return session._conn._conn
|
|
246
|
-
|
|
247
|
-
# We require qmark-style parameters everywhere for consistency across different
|
|
248
|
-
# environments where SnowflakeConnections may be used.
|
|
249
|
-
snowflake.connector.paramstyle = "qmark"
|
|
250
|
-
|
|
251
|
-
# Otherwise, attempt to create a new connection from whatever credentials we
|
|
252
|
-
# have available.
|
|
253
|
-
st_secrets = self._secrets.to_dict()
|
|
254
|
-
try:
|
|
255
|
-
if len(st_secrets):
|
|
256
|
-
_LOGGER.info(
|
|
257
|
-
"Connect to Snowflake using the Streamlit secret defined under "
|
|
258
|
-
"[connections.snowflake]."
|
|
259
|
-
)
|
|
260
|
-
conn_kwargs = {**st_secrets, **kwargs}
|
|
261
|
-
return snowflake.connector.connect(**conn_kwargs)
|
|
256
|
+
Your app code:
|
|
262
257
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
"Connect to Snowflake using the default configuration as defined "
|
|
267
|
-
"in https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-connect#setting-a-default-connection"
|
|
268
|
-
)
|
|
269
|
-
return snowflake.connector.connect()
|
|
258
|
+
>>> import streamlit as st
|
|
259
|
+
>>> conn = st.connection("snowflake-callers-rights")
|
|
260
|
+
>>> df = conn.query("SELECT * FROM my_table")
|
|
270
261
|
|
|
271
|
-
|
|
272
|
-
except SnowflakeError:
|
|
273
|
-
if not len(st_secrets) and not kwargs:
|
|
274
|
-
raise StreamlitAPIException(
|
|
275
|
-
"Missing Snowflake connection configuration. "
|
|
276
|
-
"Did you forget to set this in `secrets.toml`, a Snowflake configuration file, "
|
|
277
|
-
"or as kwargs to `st.connection`? "
|
|
278
|
-
"See the [SnowflakeConnection configuration documentation]"
|
|
279
|
-
"(https://docs.streamlit.io/st.connections.snowflakeconnection-configuration) "
|
|
280
|
-
"for more details and examples."
|
|
281
|
-
)
|
|
282
|
-
raise
|
|
262
|
+
"""
|
|
283
263
|
|
|
284
264
|
def query(
|
|
285
265
|
self,
|
|
@@ -563,3 +543,169 @@ class SnowflakeConnection(BaseConnection["InternalSnowflakeConnection"]):
|
|
|
563
543
|
return cast(
|
|
564
544
|
"Session", Session.builder.configs({"connection": self._instance}).create()
|
|
565
545
|
)
|
|
546
|
+
|
|
547
|
+
def close(self) -> None:
|
|
548
|
+
"""Closes the underlying Snowflake connection."""
|
|
549
|
+
if self._raw_instance is not None:
|
|
550
|
+
self._raw_instance.close()
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
class SnowflakeConnection(BaseSnowflakeConnection):
|
|
554
|
+
"""A connection to Snowflake using the Snowflake Connector for Python.
|
|
555
|
+
|
|
556
|
+
See ``BaseSnowflakeConnection`` for complete docs.
|
|
557
|
+
"""
|
|
558
|
+
|
|
559
|
+
def _connect(self, **kwargs: Any) -> InternalSnowflakeConnection:
|
|
560
|
+
import snowflake.connector # type:ignore[import]
|
|
561
|
+
from snowflake.connector import Error as SnowflakeError # type:ignore[import]
|
|
562
|
+
|
|
563
|
+
# If we're running in SiS-on-warehouses, just call get_active_session() and
|
|
564
|
+
# retrieve the lower-level connection from it.
|
|
565
|
+
if running_in_sis():
|
|
566
|
+
from snowflake.snowpark.context import ( # type:ignore[import] # isort: skip
|
|
567
|
+
get_active_session,
|
|
568
|
+
)
|
|
569
|
+
|
|
570
|
+
session = get_active_session()
|
|
571
|
+
|
|
572
|
+
if hasattr(session, "connection"):
|
|
573
|
+
return session.connection
|
|
574
|
+
# session.connection is only a valid attr in more recent versions of
|
|
575
|
+
# snowflake-connector-python, so we fall back to grabbing
|
|
576
|
+
# session._conn._conn if `.connection` is unavailable.
|
|
577
|
+
return session._conn._conn
|
|
578
|
+
|
|
579
|
+
# We require qmark-style parameters everywhere for consistency across different
|
|
580
|
+
# environments where SnowflakeConnections may be used.
|
|
581
|
+
snowflake.connector.paramstyle = "qmark"
|
|
582
|
+
|
|
583
|
+
# Otherwise, attempt to create a new connection from whatever credentials we
|
|
584
|
+
# have available.
|
|
585
|
+
st_secrets = self._secrets.to_dict()
|
|
586
|
+
try:
|
|
587
|
+
if len(st_secrets):
|
|
588
|
+
_LOGGER.info(
|
|
589
|
+
"Connect to Snowflake using the Streamlit secret defined under "
|
|
590
|
+
"[connections.snowflake]."
|
|
591
|
+
)
|
|
592
|
+
conn_kwargs = {**st_secrets, **kwargs}
|
|
593
|
+
return snowflake.connector.connect(**conn_kwargs)
|
|
594
|
+
|
|
595
|
+
# Use the default configuration as defined in https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-connect#setting-a-default-connection
|
|
596
|
+
if self._connection_name == "snowflake":
|
|
597
|
+
_LOGGER.info(
|
|
598
|
+
"Connect to Snowflake using the default configuration as defined "
|
|
599
|
+
"in https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-connect#setting-a-default-connection"
|
|
600
|
+
)
|
|
601
|
+
return snowflake.connector.connect()
|
|
602
|
+
|
|
603
|
+
return snowflake.connector.connect(**kwargs)
|
|
604
|
+
except SnowflakeError:
|
|
605
|
+
if not len(st_secrets) and not kwargs:
|
|
606
|
+
raise StreamlitAPIException(
|
|
607
|
+
"Missing Snowflake connection configuration. "
|
|
608
|
+
"Did you forget to set this in `secrets.toml`, a Snowflake configuration file, "
|
|
609
|
+
"or as kwargs to `st.connection`? "
|
|
610
|
+
"See the [SnowflakeConnection configuration documentation]"
|
|
611
|
+
"(https://docs.streamlit.io/st.connections.snowflakeconnection-configuration) "
|
|
612
|
+
"for more details and examples."
|
|
613
|
+
)
|
|
614
|
+
raise
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
class SnowflakeCallersRightsConnection(SnowflakeConnection):
|
|
618
|
+
"""A caller's rights connection to Snowflake using the Snowflake Connector for Python.
|
|
619
|
+
|
|
620
|
+
This will only work when running on Snowpark Container Services or another
|
|
621
|
+
compatible platform.
|
|
622
|
+
|
|
623
|
+
See ``BaseSnowflakeConnection`` for complete docs.
|
|
624
|
+
"""
|
|
625
|
+
|
|
626
|
+
@classmethod
|
|
627
|
+
def scope(cls) -> Literal["session"]:
|
|
628
|
+
"""Returns ``"session"``.
|
|
629
|
+
|
|
630
|
+
Caller's rights Snowflake connections rely on per-session connection tokens and
|
|
631
|
+
therefore must be session-scoped.
|
|
632
|
+
"""
|
|
633
|
+
return "session"
|
|
634
|
+
|
|
635
|
+
@classmethod
|
|
636
|
+
def _read_token_file(cls) -> str:
|
|
637
|
+
"""Returns the contents of the Snowpark token file on disk."""
|
|
638
|
+
with open(SNOWPARK_CONNECTION_TOKEN_FILE) as token_file:
|
|
639
|
+
return token_file.read()
|
|
640
|
+
|
|
641
|
+
@classmethod
|
|
642
|
+
def _get_connection_params(cls) -> dict[str, str | bool]:
|
|
643
|
+
"""Returns caller's rights connection parameters for the current session.
|
|
644
|
+
|
|
645
|
+
Raises
|
|
646
|
+
------
|
|
647
|
+
StreamlitAPIException: if any Snowpark environment variables or connection
|
|
648
|
+
tokens are missing; or if this is called outside of a session context.
|
|
649
|
+
"""
|
|
650
|
+
# Local import needed to avoid cycles.
|
|
651
|
+
from streamlit import context as st_context
|
|
652
|
+
|
|
653
|
+
# See Snowflake docs:
|
|
654
|
+
# https://docs.snowflake.com/en/developer-guide/snowpark-container-services/additional-considerations-services-jobs#configuring-caller-s-rights-for-your-service
|
|
655
|
+
|
|
656
|
+
# Base parameters, common to all connections.
|
|
657
|
+
params: dict[str, str | bool] = {
|
|
658
|
+
"authenticator": "oauth",
|
|
659
|
+
# OCSP checks do not work in Snowflake containers.
|
|
660
|
+
"ocsp_fail_open": True,
|
|
661
|
+
# We want to keep this alive, as the user token will expire fairly quickly
|
|
662
|
+
# - so we can't create a new session on expiration.
|
|
663
|
+
"client_session_keep_alive": True,
|
|
664
|
+
}
|
|
665
|
+
for param_name, env_var_name in (
|
|
666
|
+
("account", "SNOWFLAKE_ACCOUNT"),
|
|
667
|
+
("host", "SNOWFLAKE_HOST"),
|
|
668
|
+
("database", "SNOWFLAKE_DATABASE"),
|
|
669
|
+
("schema", "SNOWFLAKE_SCHEMA"),
|
|
670
|
+
):
|
|
671
|
+
value = os.getenv(env_var_name)
|
|
672
|
+
if value is None:
|
|
673
|
+
raise StreamlitAPIException(
|
|
674
|
+
f"Environment variable `{env_var_name}` not found. Is this app "
|
|
675
|
+
"running in a Snowflake container environment?"
|
|
676
|
+
)
|
|
677
|
+
params[param_name] = value
|
|
678
|
+
|
|
679
|
+
# Validate the token file exists, and read it.
|
|
680
|
+
if not os.path.exists(SNOWPARK_CONNECTION_TOKEN_FILE):
|
|
681
|
+
raise StreamlitAPIException(
|
|
682
|
+
f"Token file `{SNOWPARK_CONNECTION_TOKEN_FILE}` not found. Is this app "
|
|
683
|
+
"running in a Snowflake container environment?"
|
|
684
|
+
)
|
|
685
|
+
login_token = cls._read_token_file()
|
|
686
|
+
|
|
687
|
+
# Validate the token header exists, and read it.
|
|
688
|
+
if SNOWPARK_USER_TOKEN_HEADER_NAME not in st_context.headers:
|
|
689
|
+
raise StreamlitAPIException(
|
|
690
|
+
"Token header not found. Is this app running with caller's "
|
|
691
|
+
"rights enabled, and is this connection being created in an app "
|
|
692
|
+
"execution thread?"
|
|
693
|
+
)
|
|
694
|
+
user_token = st_context.headers[SNOWPARK_USER_TOKEN_HEADER_NAME]
|
|
695
|
+
|
|
696
|
+
# Build the actual caller's rights token.
|
|
697
|
+
params["token"] = f"{login_token}.{user_token}"
|
|
698
|
+
|
|
699
|
+
return params
|
|
700
|
+
|
|
701
|
+
def _connect(self, **kwargs: Any) -> InternalSnowflakeConnection:
|
|
702
|
+
import snowflake.connector # type:ignore[import]
|
|
703
|
+
|
|
704
|
+
# We require qmark-style parameters everywhere for consistency across different
|
|
705
|
+
# environments where SnowflakeConnections may be used.
|
|
706
|
+
snowflake.connector.paramstyle = "qmark"
|
|
707
|
+
|
|
708
|
+
params = self._get_connection_params()
|
|
709
|
+
|
|
710
|
+
# Connect with the params we generated, overriding with user-specified params.
|
|
711
|
+
return snowflake.connector.connect(**{**params, **kwargs})
|
|
@@ -452,9 +452,7 @@ class NumberInputMixin:
|
|
|
452
452
|
element_id = compute_and_register_element_id(
|
|
453
453
|
"number_input",
|
|
454
454
|
user_key=key,
|
|
455
|
-
|
|
456
|
-
# that might invalidate the current widget state.
|
|
457
|
-
key_as_main_identity={"min_value", "max_value", "step"},
|
|
455
|
+
key_as_main_identity=True,
|
|
458
456
|
dg=self.dg,
|
|
459
457
|
label=label,
|
|
460
458
|
min_value=min_value,
|
|
@@ -630,26 +628,31 @@ class NumberInputMixin:
|
|
|
630
628
|
value_type="double_value",
|
|
631
629
|
)
|
|
632
630
|
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
631
|
+
# Validate the current value against the new min/max bounds.
|
|
632
|
+
# If the value is no longer valid (outside bounds), reset to default.
|
|
633
|
+
# This handles the case where min_value/max_value change dynamically and the
|
|
634
|
+
# previously entered value is no longer within bounds.
|
|
635
|
+
current_value = widget_state.value
|
|
636
|
+
value_needs_reset = False
|
|
637
|
+
|
|
638
|
+
# Check if the current value is outside the new bounds.
|
|
639
|
+
if current_value is not None and (
|
|
640
|
+
(number_input_proto.has_min and current_value < number_input_proto.min)
|
|
641
|
+
or (number_input_proto.has_max and current_value > number_input_proto.max)
|
|
642
|
+
):
|
|
643
|
+
# Value is outside new bounds - reset to default.
|
|
644
|
+
value_needs_reset = True
|
|
645
|
+
current_value = value
|
|
646
|
+
|
|
647
|
+
# Update session_state so subsequent accesses in this run
|
|
648
|
+
# return the corrected value. Use reset_state_value to avoid
|
|
649
|
+
# the "cannot be modified after widget instantiated" error.
|
|
650
|
+
if key is not None:
|
|
651
|
+
get_session_state().reset_state_value(key, current_value)
|
|
652
|
+
|
|
653
|
+
if value_needs_reset or widget_state.value_changed:
|
|
654
|
+
if current_value is not None:
|
|
655
|
+
number_input_proto.value = current_value
|
|
653
656
|
number_input_proto.set_value = True
|
|
654
657
|
|
|
655
658
|
validate_width(width)
|
|
@@ -658,7 +661,7 @@ class NumberInputMixin:
|
|
|
658
661
|
self.dg._enqueue(
|
|
659
662
|
"number_input", number_input_proto, layout_config=layout_config
|
|
660
663
|
)
|
|
661
|
-
return
|
|
664
|
+
return current_value
|
|
662
665
|
|
|
663
666
|
@property
|
|
664
667
|
def dg(self) -> DeltaGenerator:
|