streamlit 1.53.0__tar.gz → 1.53.1__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-1.53.0 → streamlit-1.53.1}/PKG-INFO +1 -1
- {streamlit-1.53.0 → streamlit-1.53.1}/setup.py +1 -1
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/connections/snowflake_connection.py +1 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/options_selector_utils.py +63 -19
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/multiselect.py +31 -7
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/selectbox.py +38 -16
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/index.html +1 -1
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/manifest.json +291 -291
- streamlit-1.53.0/streamlit/static/static/js/ErrorOutline.esm.Cxoit62D.js → streamlit-1.53.1/streamlit/static/static/js/ErrorOutline.esm.CScZvf44.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/FileDownload.esm.Cym2KVOR.js → streamlit-1.53.1/streamlit/static/static/js/FileDownload.esm.COCxTZxP.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/FileHelper.C47VLeXF.js → streamlit-1.53.1/streamlit/static/static/js/FileHelper.Bhs-iVRI.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/FormClearHelper.CUrwwEeX.js → streamlit-1.53.1/streamlit/static/static/js/FormClearHelper.CA_5b-Ut.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/InputInstructions.DyVOE42q.js → streamlit-1.53.1/streamlit/static/static/js/InputInstructions.Bzb0MCfv.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/Particles.D5ZUTvE6.js → streamlit-1.53.1/streamlit/static/static/js/Particles.ix5_l22I.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/ProgressBar.qKdiDYyx.js → streamlit-1.53.1/streamlit/static/static/js/ProgressBar.DyQNhVsJ.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/StreamlitSyntaxHighlighter.DUPp9dS3.js → streamlit-1.53.1/streamlit/static/static/js/StreamlitSyntaxHighlighter.BOkJThtV.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/TableChart.esm.C_g2CvCE.js → streamlit-1.53.1/streamlit/static/static/js/TableChart.esm.a60nntBC.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/Toolbar.BbO8bxwz.js → streamlit-1.53.1/streamlit/static/static/js/Toolbar.CxkcuBQ8.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/WidgetLabelHelpIconInline.Dy4yV6I2.js → streamlit-1.53.1/streamlit/static/static/js/WidgetLabelHelpIconInline.BjIku2ic.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/base-input.DQAb60v0.js → streamlit-1.53.1/streamlit/static/static/js/base-input.avGkArOc.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/checkbox.C0HE0ojW.js → streamlit-1.53.1/streamlit/static/static/js/checkbox.Q8mCuqps.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/createDownloadLinkElement.DBMfH8_e.js → streamlit-1.53.1/streamlit/static/static/js/createDownloadLinkElement.CfqHRpxo.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/data-grid-overlay-editor.CSZWem5Q.js → streamlit-1.53.1/streamlit/static/static/js/data-grid-overlay-editor.PuoMl3yV.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/downloader.Bp8c7mYD.js → streamlit-1.53.1/streamlit/static/static/js/downloader.CjG2csSm.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/embed.DQBlGL9Q.js → streamlit-1.53.1/streamlit/static/static/js/embed.DZ-CLCPz.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/es6.j7akTCaI.js → streamlit-1.53.1/streamlit/static/static/js/es6.CQD6uUK7.js +2 -2
- streamlit-1.53.0/streamlit/static/static/js/formatNumber.CfuUiEpF.js → streamlit-1.53.1/streamlit/static/static/js/formatNumber.CtjUO-if.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/iconPosition.BVSTKfGd.js → streamlit-1.53.1/streamlit/static/static/js/iconPosition.7Qt6oUiI.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/iframeResizer.contentWindow.BZ3lugzo.js → streamlit-1.53.1/streamlit/static/static/js/iframeResizer.contentWindow._oj2Xh0v.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.Dk0CU4R6.js → streamlit-1.53.1/streamlit/static/static/js/index.B-XrnnK6.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.DBIRzFM7.js → streamlit-1.53.1/streamlit/static/static/js/index.B2fAYU1N.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.BMFt07G_.js → streamlit-1.53.1/streamlit/static/static/js/index.B5wmZkRW.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.5CsPRetw.js → streamlit-1.53.1/streamlit/static/static/js/index.B6ZAXv47.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.dgs1TGpP.js → streamlit-1.53.1/streamlit/static/static/js/index.B8PovXCX.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.CZzy-Gct.js → streamlit-1.53.1/streamlit/static/static/js/index.BDm-Ia27.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.CTQ8QcOV.js → streamlit-1.53.1/streamlit/static/static/js/index.BOTEMJfV.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.1PD6f3vh.js → streamlit-1.53.1/streamlit/static/static/js/index.BOafPwIE.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.BiVJWMS-.js → streamlit-1.53.1/streamlit/static/static/js/index.BRegnbUa.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.DysJZEAt.js → streamlit-1.53.1/streamlit/static/static/js/index.BVX_bqnf.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.BXfSsjdq.js → streamlit-1.53.1/streamlit/static/static/js/index.BWCFtBS4.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.DtZTtufl.js → streamlit-1.53.1/streamlit/static/static/js/index.B_ylV_tl.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.By8GIgDH.js → streamlit-1.53.1/streamlit/static/static/js/index.BeCZLkzg.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.DgJeIFb5.js → streamlit-1.53.1/streamlit/static/static/js/index.Bg-9YNUa.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.DSaE74nc.js → streamlit-1.53.1/streamlit/static/static/js/index.BhJwyXH6.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.nEa8y_He.js → streamlit-1.53.1/streamlit/static/static/js/index.BksGMsW0.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.C9QftD-S.js → streamlit-1.53.1/streamlit/static/static/js/index.BlJhnb4M.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.Bukztsaz.js → streamlit-1.53.1/streamlit/static/static/js/index.BmDXWfgx.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.Z0mB4zBp.js → streamlit-1.53.1/streamlit/static/static/js/index.BrRuSP42.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.D0tXFTaW.js → streamlit-1.53.1/streamlit/static/static/js/index.BuBkymZd.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.CeFdbzfR.js → streamlit-1.53.1/streamlit/static/static/js/index.BuEBeckn.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.NtSfVVJe.js → streamlit-1.53.1/streamlit/static/static/js/index.CBqST2Yj.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.FfR9SXQv.js → streamlit-1.53.1/streamlit/static/static/js/index.CIizdLeb.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.CkmNfvPD.js → streamlit-1.53.1/streamlit/static/static/js/index.CL2eCR01.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.Cow0Hs9V.js → streamlit-1.53.1/streamlit/static/static/js/index.CMBgAPh6.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.iboGgrkh.js → streamlit-1.53.1/streamlit/static/static/js/index.CVRgrLT-.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.BGzJYcHz.js → streamlit-1.53.1/streamlit/static/static/js/index.CdLlbsiN.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.CAMxgVFm.js → streamlit-1.53.1/streamlit/static/static/js/index.Cptu1tS-.js +1 -1
- streamlit-1.53.1/streamlit/static/static/js/index.CsoN0h7K.js +188 -0
- streamlit-1.53.0/streamlit/static/static/js/index.Bk5wGJXh.js → streamlit-1.53.1/streamlit/static/static/js/index.CwIIk90V.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.DpU0Bc2F.js → streamlit-1.53.1/streamlit/static/static/js/index.D1bkwsLT.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.BDA5l7b9.js → streamlit-1.53.1/streamlit/static/static/js/index.D8t7R4QQ.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.svncz-Ad.js → streamlit-1.53.1/streamlit/static/static/js/index.DDk0U8rh.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.DYkkO_of.js → streamlit-1.53.1/streamlit/static/static/js/index.DJsqD2Sc.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.CsmTnJl4.js → streamlit-1.53.1/streamlit/static/static/js/index.DNB79dOd.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.C8VoW8Ph.js → streamlit-1.53.1/streamlit/static/static/js/index.DNj5S4tY.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.DZGCJu4I.js → streamlit-1.53.1/streamlit/static/static/js/index.DOY0ZriT.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.DFT9nVK6.js → streamlit-1.53.1/streamlit/static/static/js/index.DSTThs-t.js +5 -5
- streamlit-1.53.0/streamlit/static/static/js/index.CWAvu1Qu.js → streamlit-1.53.1/streamlit/static/static/js/index.DVtfSohT.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.C0F0G-wg.js → streamlit-1.53.1/streamlit/static/static/js/index.DXQ_Fvpt.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.BgCYNmov.js → streamlit-1.53.1/streamlit/static/static/js/index.DZE_91Ym.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.95DldRtG.js → streamlit-1.53.1/streamlit/static/static/js/index.DxQuXlXH.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.7S_sCSRx.js → streamlit-1.53.1/streamlit/static/static/js/index.Egabyb7u.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.BU3d_gp1.js → streamlit-1.53.1/streamlit/static/static/js/index.Ft2Zxbhr.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.gPUFpUqs.js → streamlit-1.53.1/streamlit/static/static/js/index.KuLql7H0.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.B2fTHpId.js → streamlit-1.53.1/streamlit/static/static/js/index.XGft6-dq.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.Tq2okoAU.js → streamlit-1.53.1/streamlit/static/static/js/index.euRMkmNi.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/index.BNpEDrb2.js → streamlit-1.53.1/streamlit/static/static/js/index.r0gCrMFP.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/input.Pz8Lwzsi.js → streamlit-1.53.1/streamlit/static/static/js/input.Cf97CQME.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/main.BeiYkHRo.js → streamlit-1.53.1/streamlit/static/static/js/main.Ccuk53yQ.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/memory.Dyx_JBbb.js → streamlit-1.53.1/streamlit/static/static/js/memory.Bng6Ij0g.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/number-overlay-editor.NLIdF6b9.js → streamlit-1.53.1/streamlit/static/static/js/number-overlay-editor.CFLv-CWC.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/pandasStylerUtils.DsNlDEqS.js → streamlit-1.53.1/streamlit/static/static/js/pandasStylerUtils.C2hcAKiv.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/sandbox.bER7qtR1.js → streamlit-1.53.1/streamlit/static/static/js/sandbox.BXdeD-wA.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/styled-components.DcoFBb7G.js → streamlit-1.53.1/streamlit/static/static/js/styled-components.Br04Ogac.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/throttle.DOaQWO4U.js → streamlit-1.53.1/streamlit/static/static/js/throttle.mI9ItGre.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/timepicker.RjHB2IT4.js → streamlit-1.53.1/streamlit/static/static/js/timepicker.poFdB0sd.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/toConsumableArray.DFAIugL0.js → streamlit-1.53.1/streamlit/static/static/js/toConsumableArray.92-fANS-.js +1 -1
- streamlit-1.53.1/streamlit/static/static/js/uniqueId.BUj-C6GA.js +1 -0
- streamlit-1.53.0/streamlit/static/static/js/useBasicWidgetState.CTtyymrp.js → streamlit-1.53.1/streamlit/static/static/js/useBasicWidgetState.DzKGLAv_.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/useIntlLocale.DG5haQGX.js → streamlit-1.53.1/streamlit/static/static/js/useIntlLocale.BMma2iiY.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/useTextInputAutoExpand.Cnfcep1Z.js → streamlit-1.53.1/streamlit/static/static/js/useTextInputAutoExpand.DQbIhdma.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/useUpdateUiValue.BWnXwmrp.js → streamlit-1.53.1/streamlit/static/static/js/useUpdateUiValue.Bk5OIXup.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/useWaveformController.DozaayUB.js → streamlit-1.53.1/streamlit/static/static/js/useWaveformController.AH0ggRyc.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/withCalculatedWidth.SNNFFxhJ.js → streamlit-1.53.1/streamlit/static/static/js/withCalculatedWidth.G5xJ-MbS.js +1 -1
- streamlit-1.53.0/streamlit/static/static/js/withFullScreenWrapper.Dl2f8_gt.js → streamlit-1.53.1/streamlit/static/static/js/withFullScreenWrapper.rdRu6zZ4.js +1 -1
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit.egg-info/PKG-INFO +1 -1
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit.egg-info/SOURCES.txt +87 -87
- streamlit-1.53.0/streamlit/static/static/js/index.BGgra9Bb.js +0 -188
- streamlit-1.53.0/streamlit/static/static/js/uniqueId.DEvFPH9n.js +0 -1
- {streamlit-1.53.0 → streamlit-1.53.1}/MANIFEST.in +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/bin/streamlit.cmd +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/setup.cfg +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/__main__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/auth_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/cli_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/column_config.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/commands/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/commands/echo.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/commands/execution_control.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/commands/experimental_query_params.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/commands/logo.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/commands/navigation.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/commands/page_config.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/lib/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/lib/local_component_registry.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/types/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/types/base_component_registry.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/types/base_custom_component.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v1/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v1/component_arrow.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v1/component_registry.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v1/components.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v1/custom_component.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/bidi_component/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/bidi_component/constants.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/bidi_component/main.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/bidi_component/serialization.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/bidi_component/state.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/component_definition_resolver.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/component_file_watcher.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/component_manager.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/component_manifest_handler.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/component_path_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/component_registry.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/get_bidi_component_manager.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/manifest_scanner.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/presentation.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/components/v2/types.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/config.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/config_option.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/config_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/connections/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/connections/base_connection.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/connections/snowpark_connection.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/connections/sql_connection.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/connections/util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/cursor.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/dataframe_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/delta_generator.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/delta_generator_singletons.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/deprecation_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/development.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/alert.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/arrow.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/balloons.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/bokeh_chart.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/code.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/deck_gl_json_chart.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/dialog_decorator.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/doc_string.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/empty.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/exception.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/form.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/graphviz_chart.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/heading.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/html.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/iframe.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/image.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/json.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/layouts.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/built_in_chart_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/color_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/column_config_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/column_types.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/dialog.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/dicttools.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/file_uploader_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/form_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/image_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/js_number.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/layout_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/mutable_status_container.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/pandas_styler_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/policies.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/shortcut_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/streamlit_plotly_theme.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/subtitle_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/lib/utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/map.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/markdown.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/media.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/metric.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/pdf.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/plotly_chart.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/progress.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/pyplot.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/snow.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/space.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/spinner.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/text.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/toast.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/vega_charts.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/audio_input.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/button.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/button_group.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/camera_input.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/chat.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/checkbox.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/color_picker.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/data_editor.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/file_uploader.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/number_input.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/radio.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/select_slider.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/slider.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/text_widgets.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/widgets/time_widgets.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/elements/write.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/emojis.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/env_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/error_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/errors.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/external/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/external/langchain/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/external/langchain/streamlit_callback_handler.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/file_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/git_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/hello/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/hello/animation_demo.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/hello/dataframe_demo.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/hello/hello.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/hello/mapping_demo.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/hello/plotting_demo.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/hello/streamlit_app.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/hello/utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/logger.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/material_icon_names.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/navigation/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/navigation/page.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/net_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/platform.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Alert_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Alert_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/AppPage_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/AppPage_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ArrowData_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ArrowData_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ArrowNamedDataSet_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ArrowNamedDataSet_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ArrowVegaLiteChart_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ArrowVegaLiteChart_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Arrow_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Arrow_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/AudioInput_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/AudioInput_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Audio_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Audio_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/AuthRedirect_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/AuthRedirect_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/AutoRerun_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/AutoRerun_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/BackMsg_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/BackMsg_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Balloons_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Balloons_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/BidiComponent_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/BidiComponent_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Block_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Block_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/BokehChart_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/BokehChart_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ButtonGroup_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ButtonGroup_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ButtonLikeIconPosition_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ButtonLikeIconPosition_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Button_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Button_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/CameraInput_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/CameraInput_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ChatInput_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ChatInput_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Checkbox_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Checkbox_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ClientState_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ClientState_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Code_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Code_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ColorPicker_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ColorPicker_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Common_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Common_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Components_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Components_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DataFrame_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DataFrame_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DateInput_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DateInput_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DateTimeInput_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DateTimeInput_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DeckGlJsonChart_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DeckGlJsonChart_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Delta_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Delta_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DocString_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DocString_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DownloadButton_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/DownloadButton_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Element_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Element_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Empty_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Empty_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Exception_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Exception_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Favicon_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Favicon_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/FileUploader_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/FileUploader_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ForwardMsg_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ForwardMsg_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/GapSize_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/GapSize_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/GitInfo_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/GitInfo_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/GraphVizChart_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/GraphVizChart_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Heading_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Heading_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/HeightConfig_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/HeightConfig_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Html_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Html_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/IFrame_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/IFrame_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Image_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Image_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Json_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Json_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/LabelVisibilityMessage_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/LabelVisibilityMessage_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/LinkButton_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/LinkButton_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Logo_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Logo_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Markdown_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Markdown_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Metric_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Metric_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/MetricsEvent_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/MetricsEvent_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/MultiSelect_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/MultiSelect_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/NamedDataSet_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/NamedDataSet_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Navigation_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Navigation_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/NewSession_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/NewSession_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/NumberInput_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/NumberInput_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageConfig_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageConfig_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageInfo_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageInfo_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageLink_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageLink_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageNotFound_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageNotFound_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageProfile_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PageProfile_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PagesChanged_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PagesChanged_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ParentMessage_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/ParentMessage_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PlotlyChart_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/PlotlyChart_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Progress_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Progress_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Radio_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Radio_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/RootContainer_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/RootContainer_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Selectbox_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Selectbox_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/SessionEvent_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/SessionEvent_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/SessionStatus_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/SessionStatus_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Skeleton_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Skeleton_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Slider_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Slider_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Snow_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Snow_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Space_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Space_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Spinner_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Spinner_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/TextAlignmentConfig_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/TextAlignmentConfig_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/TextArea_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/TextArea_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/TextInput_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/TextInput_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Text_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Text_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/TimeInput_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/TimeInput_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Toast_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Toast_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Transient_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Transient_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/VegaLiteChart_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/VegaLiteChart_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Video_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/Video_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/WidgetStates_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/WidgetStates_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/WidthConfig_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/WidthConfig_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/openmetrics_data_model_pb2.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/proto/openmetrics_data_model_pb2.pyi +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/py.typed +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/app_session.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/cache_data_api.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/cache_errors.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/cache_resource_api.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/cache_type.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/cache_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/cached_message_replay.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/hashing.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/legacy_cache_api.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/storage/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/storage/cache_storage_protocol.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/storage/dummy_cache_storage.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/storage/in_memory_cache_storage_wrapper.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/storage/local_disk_cache_storage.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/caching/ttl_cleanup_cache.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/connection_factory.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/context.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/context_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/credentials.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/download_data_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/forward_msg_cache.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/forward_msg_queue.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/fragment.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/media_file_manager.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/media_file_storage.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/memory_media_file_storage.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/memory_session_storage.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/memory_uploaded_file_manager.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/metrics_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/pages_manager.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/runtime.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/runtime_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/script_data.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner/exec_code.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner/magic.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner/magic_funcs.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner/script_cache.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner/script_runner.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner_utils/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner_utils/exceptions.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner_utils/script_requests.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/scriptrunner_utils/script_run_context.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/secrets.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/session_manager.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/state/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/state/common.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/state/presentation.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/state/query_params.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/state/query_params_proxy.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/state/safe_session_state.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/state/session_state.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/state/session_state_proxy.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/state/widgets.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/stats.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/theme_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/uploaded_file_manager.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/runtime/websocket_session_manager.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/source_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/starlette.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/favicon.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/css/index.BUP6fTcR.css +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/css/index.BuwrT-ty.css +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/css/index.DgR7E2CV.css +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/IFrameUtil.DefezniK.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/UploadFileInfo.Dr-zDST7.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/_arrayIncludes.B19Iyn2B.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/_baseIndexOf.BTknn6Gb.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/formatMoment.C6Hwn6X5.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/index.8HslT92O.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/index.BBTKOM0z.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/index.bsVAaBS1.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/inputUtils.CptNuJwn.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/moment.C7qA8nIE.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/numbro.B9_PXfzp.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/record.DytFsBUt.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/sprintf.DpPCfzXw.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/threshold.CUNQbqMA.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/timer.BZio6gjG.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/urls.BwSlolu9.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/value.DaKxGC7O.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/js/wavesurfer.esm.D1Sty35j.js +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_AMS-Regular.BQhdFMY1.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_AMS-Regular.DMm9YOAa.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_AMS-Regular.DRggAlZN.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.BEiXGLvX.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.CTRA-rTL.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.wX97UBjC.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Fraktur-Bold.BdnERNNW.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Fraktur-Bold.BsDP51OF.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Fraktur-Bold.CL6g_b3V.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Fraktur-Regular.CB_wures.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Fraktur-Regular.CTYiF6lA.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Fraktur-Regular.Dxdc4cR9.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-Bold.Cx986IdX.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-Bold.Jm3AIy58.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-Bold.waoOVXN0.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-BoldItalic.DzxPMmG6.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-BoldItalic.SpSLRI95.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-Italic.3WenGoN9.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-Italic.BMLOBm91.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-Italic.NWA7e6Wa.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-Regular.B22Nviop.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-Regular.Dr94JaBh.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Main-Regular.ypZvNtVU.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Math-BoldItalic.B3XSjfu4.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Math-BoldItalic.iY-2wyZ7.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Math-Italic.DA0__PXp.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Math-Italic.flOr_0UB.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Math-Italic.t53AETM-.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_SansSerif-Bold.CFMepnvq.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_SansSerif-Bold.D1sUS0GD.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_SansSerif-Bold.DbIhKOiC.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_SansSerif-Italic.C3H0VqGB.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_SansSerif-Italic.DN2j7dab.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_SansSerif-Regular.BNo7hRIc.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_SansSerif-Regular.CS6fqUqJ.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Script-Regular.C5JkGWo-.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Script-Regular.D3wIWfF6.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Script-Regular.D5yQViql.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size1-Regular.C195tn64.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size1-Regular.Dbsnue_I.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size1-Regular.mCD8mA8B.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size2-Regular.B7gKUWhC.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size2-Regular.Dy4dx90m.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size2-Regular.oD1tc_U0.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size3-Regular.CTq5MqoE.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size3-Regular.DgpXs0kz.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size4-Regular.BF-4gkZK.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size4-Regular.DWFBv043.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Size4-Regular.Dl5lxZxV.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Typewriter-Regular.C0xS9mPB.woff +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Typewriter-Regular.CO6r4hn1.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/MaterialSymbols-Rounded.C7IFxh57.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/SourceCodeVF-Italic.ttf.Ba1oaZG1.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/SourceCodeVF-Upright.ttf.BjWn63N-.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/SourceSansVF-Italic.ttf.Bt9VkdQ3.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/SourceSansVF-Upright.ttf.BsWL4Kly.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/SourceSerifVariable-Italic.ttf.CVdzAtxO.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/SourceSerifVariable-Roman.ttf.mdpVL9bi.woff2 +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/balloon-0.Czj7AKwE.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/balloon-1.CNvFFrND.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/balloon-2.DTvC6B1t.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/balloon-3.CgSk4tbL.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/balloon-4.mbtFrzxf.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/balloon-5.CSwkUfRA.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/fireworks.B4d-_KUe.gif +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/flake-0.DgWaVvm5.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/flake-1.B2r5AHMK.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/flake-2.BnWSExPC.png +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/static/static/media/snowflake.JU2jBHL8.svg +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/string_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/temporary_directory.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/testing/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/testing/v1/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/testing/v1/app_test.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/testing/v1/element_tree.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/testing/v1/local_script_runner.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/testing/v1/util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/time_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/type_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/url_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/user_info.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/vendor/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/vendor/pympler/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/vendor/pympler/asizeof.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/version.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/watcher/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/watcher/event_based_path_watcher.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/watcher/folder_black_list.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/watcher/local_sources_watcher.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/watcher/path_watcher.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/watcher/polling_path_watcher.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/watcher/util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/bootstrap.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/cache_storage_manager_config.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/cli.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/app_discovery.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/app_static_file_handler.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/authlib_tornado_integration.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/bidi_component_request_handler.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/browser_websocket_handler.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/component_file_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/component_request_handler.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/media_file_handler.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/oauth_authlib_routes.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/oidc_mixin.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/routes.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/server.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/server_util.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/__init__.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/starlette_app.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/starlette_app_utils.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/starlette_auth_routes.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/starlette_gzip_middleware.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/starlette_routes.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/starlette_server.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/starlette_server_config.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/starlette_static_routes.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/starlette/starlette_websocket.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/stats_request_handler.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/upload_file_request_handler.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit/web/server/websocket_headers.py +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit.egg-info/dependency_links.txt +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit.egg-info/entry_points.txt +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit.egg-info/not-zip-safe +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit.egg-info/requires.txt +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/streamlit.egg-info/top_level.txt +0 -0
- {streamlit-1.53.0 → streamlit-1.53.1}/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.53.
|
|
26
|
+
VERSION = "1.53.1" # 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:
|
|
@@ -349,6 +349,7 @@ class BaseSnowflakeConnection(BaseConnection["InternalSnowflakeConnection"]):
|
|
|
349
349
|
"""Closes the underlying Snowflake connection."""
|
|
350
350
|
if self._raw_instance is not None:
|
|
351
351
|
self._raw_instance.close()
|
|
352
|
+
self._raw_instance = None
|
|
352
353
|
|
|
353
354
|
|
|
354
355
|
class SnowflakeConnection(BaseSnowflakeConnection):
|
|
@@ -290,6 +290,7 @@ def validate_and_sync_value_with_options(
|
|
|
290
290
|
opt: Sequence[T],
|
|
291
291
|
default_index: int | None,
|
|
292
292
|
key: str | int | None,
|
|
293
|
+
format_func: Callable[[Any], str] = str,
|
|
293
294
|
) -> tuple[T | None, bool]:
|
|
294
295
|
"""Validate current value against options, resetting session state if invalid.
|
|
295
296
|
|
|
@@ -306,6 +307,11 @@ def validate_and_sync_value_with_options(
|
|
|
306
307
|
The default index to reset to if value is invalid.
|
|
307
308
|
key
|
|
308
309
|
The widget key for session state updates.
|
|
310
|
+
format_func
|
|
311
|
+
Function to format options for comparison. Used to compare values by their
|
|
312
|
+
string representation instead of using == directly. This is necessary because
|
|
313
|
+
widget values are deepcopied, and for custom classes without __eq__, the
|
|
314
|
+
deepcopied instances would fail identity comparison.
|
|
309
315
|
|
|
310
316
|
Returns
|
|
311
317
|
-------
|
|
@@ -315,30 +321,50 @@ def validate_and_sync_value_with_options(
|
|
|
315
321
|
if current_value is None:
|
|
316
322
|
return current_value, False
|
|
317
323
|
|
|
318
|
-
#
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
324
|
+
# For Enum values, use the original index_() approach which uses == comparison.
|
|
325
|
+
# This correctly handles enum class identity - enums from different classes
|
|
326
|
+
# (e.g., after script rerun) should NOT be considered equal, which is important
|
|
327
|
+
# for enum coercion to work correctly when coercion is disabled.
|
|
328
|
+
if isinstance(current_value, Enum):
|
|
329
|
+
try:
|
|
330
|
+
index_(opt, current_value)
|
|
331
|
+
return current_value, False
|
|
332
|
+
except ValueError:
|
|
333
|
+
pass # Fall through to reset logic below
|
|
334
|
+
else:
|
|
335
|
+
# For non-Enum values, use format_func comparison. This handles custom objects
|
|
336
|
+
# without __eq__ where widget values are deepcopied and the deepcopied instances
|
|
337
|
+
# would fail identity comparison with ==.
|
|
338
|
+
try:
|
|
339
|
+
formatted_value = format_func(current_value)
|
|
340
|
+
except Exception:
|
|
341
|
+
# format_func failed - value is invalid
|
|
342
|
+
formatted_value = None
|
|
343
|
+
|
|
344
|
+
formatted_options_set = {format_func(o) for o in opt}
|
|
345
|
+
if formatted_value is not None and formatted_value in formatted_options_set:
|
|
346
|
+
return current_value, False
|
|
347
|
+
|
|
348
|
+
# Value not in options - reset to default
|
|
349
|
+
if default_index is not None and len(opt) > 0:
|
|
350
|
+
new_value: T | None = opt[default_index]
|
|
351
|
+
else:
|
|
352
|
+
new_value = None
|
|
328
353
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
354
|
+
if key is not None:
|
|
355
|
+
# Update session_state so subsequent accesses in this run
|
|
356
|
+
# return the corrected value. Use reset_state_value to avoid
|
|
357
|
+
# the "cannot be modified after widget instantiated" error.
|
|
358
|
+
get_session_state().reset_state_value(str(key), new_value)
|
|
334
359
|
|
|
335
|
-
|
|
360
|
+
return new_value, True
|
|
336
361
|
|
|
337
362
|
|
|
338
363
|
def validate_and_sync_multiselect_value_with_options(
|
|
339
364
|
current_values: list[T] | list[T | str],
|
|
340
365
|
opt: Sequence[T],
|
|
341
366
|
key: str | int | None,
|
|
367
|
+
format_func: Callable[[Any], str] = str,
|
|
342
368
|
) -> tuple[list[T] | list[T | str], bool]:
|
|
343
369
|
"""Validate multiselect values against options, syncing session state if needed.
|
|
344
370
|
|
|
@@ -356,6 +382,11 @@ def validate_and_sync_multiselect_value_with_options(
|
|
|
356
382
|
The sequence of valid options.
|
|
357
383
|
key
|
|
358
384
|
The widget key for session state updates.
|
|
385
|
+
format_func
|
|
386
|
+
Function to format options for comparison. Used to compare values by their
|
|
387
|
+
string representation instead of using == directly. This is necessary because
|
|
388
|
+
widget values are deepcopied, and for custom classes without __eq__, the
|
|
389
|
+
deepcopied instances would fail identity comparison.
|
|
359
390
|
|
|
360
391
|
Returns
|
|
361
392
|
-------
|
|
@@ -365,13 +396,26 @@ def validate_and_sync_multiselect_value_with_options(
|
|
|
365
396
|
if not current_values:
|
|
366
397
|
return current_values, False
|
|
367
398
|
|
|
399
|
+
# Create a set of formatted options for O(1) lookup.
|
|
400
|
+
# We use format_func to compare values by their string representation
|
|
401
|
+
# instead of using == directly. This is necessary because widget values
|
|
402
|
+
# are deepcopied, and for custom classes without __eq__, the deepcopied
|
|
403
|
+
# instances would fail identity comparison.
|
|
404
|
+
formatted_options_set = {format_func(o) for o in opt}
|
|
405
|
+
|
|
368
406
|
valid_values: list[T | str] = []
|
|
369
407
|
for value in current_values:
|
|
370
408
|
try:
|
|
371
|
-
|
|
409
|
+
formatted_value = format_func(value)
|
|
410
|
+
except Exception: # noqa: S112
|
|
411
|
+
# format_func failed on this value (e.g., a string value from a previous
|
|
412
|
+
# session when format_func expects an object with specific attributes).
|
|
413
|
+
# In this case, the value is definitely not valid since the current options
|
|
414
|
+
# can be formatted successfully.
|
|
415
|
+
continue
|
|
416
|
+
|
|
417
|
+
if formatted_value in formatted_options_set:
|
|
372
418
|
valid_values.append(value)
|
|
373
|
-
except ValueError: # noqa: PERF203
|
|
374
|
-
pass
|
|
375
419
|
|
|
376
420
|
if len(valid_values) == len(current_values):
|
|
377
421
|
return current_values, False
|
|
@@ -82,6 +82,7 @@ class MultiSelectSerde(Generic[T]):
|
|
|
82
82
|
formatted_options: list[str]
|
|
83
83
|
formatted_option_to_option_index: dict[str, int]
|
|
84
84
|
default_options_indices: list[int]
|
|
85
|
+
format_func: Callable[[Any], str]
|
|
85
86
|
|
|
86
87
|
def __init__(
|
|
87
88
|
self,
|
|
@@ -90,6 +91,7 @@ class MultiSelectSerde(Generic[T]):
|
|
|
90
91
|
formatted_options: list[str],
|
|
91
92
|
formatted_option_to_option_index: dict[str, int],
|
|
92
93
|
default_options_indices: list[int] | None = None,
|
|
94
|
+
format_func: Callable[[Any], str] = str,
|
|
93
95
|
) -> None:
|
|
94
96
|
"""Initialize the MultiSelectSerde.
|
|
95
97
|
|
|
@@ -111,24 +113,45 @@ class MultiSelectSerde(Generic[T]):
|
|
|
111
113
|
default_option_index : int or None, optional
|
|
112
114
|
The index of the default option to use when no selection is made.
|
|
113
115
|
If None, no default option is selected.
|
|
116
|
+
format_func : Callable[[Any], str], optional
|
|
117
|
+
Function to format options for comparison. Used to compare values by their
|
|
118
|
+
string representation instead of using == directly. This is necessary because
|
|
119
|
+
widget values are deepcopied, and for custom classes without __eq__, the
|
|
120
|
+
deepcopied instances would fail identity comparison.
|
|
114
121
|
"""
|
|
115
122
|
|
|
116
123
|
self.options = options
|
|
117
124
|
self.formatted_options = formatted_options
|
|
118
125
|
self.formatted_option_to_option_index = formatted_option_to_option_index
|
|
119
126
|
self.default_options_indices = default_options_indices or []
|
|
127
|
+
self.format_func = format_func
|
|
120
128
|
|
|
121
129
|
def serialize(self, value: list[T | str] | list[T]) -> list[str]:
|
|
122
130
|
converted_value = convert_anything_to_list(value)
|
|
123
131
|
values: list[str] = []
|
|
124
132
|
for v in converted_value:
|
|
133
|
+
# Use format_func to find the formatted option instead of using
|
|
134
|
+
# self.options.index(v) which relies on == comparison. This is necessary
|
|
135
|
+
# because widget values are deepcopied, and for custom classes without
|
|
136
|
+
# __eq__, the deepcopied instances would fail identity comparison.
|
|
125
137
|
try:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
#
|
|
130
|
-
#
|
|
131
|
-
|
|
138
|
+
formatted_value = self.format_func(v)
|
|
139
|
+
except Exception:
|
|
140
|
+
# format_func failed (e.g., v is a string but format_func expects
|
|
141
|
+
# an object with specific attributes). Use str(v) to ensure we append
|
|
142
|
+
# a proper string, not the original object. This handles both cases:
|
|
143
|
+
# - v is already a string -> str(v) returns it unchanged
|
|
144
|
+
# - v is a custom object -> str(v) gives its string representation
|
|
145
|
+
values.append(str(v))
|
|
146
|
+
continue
|
|
147
|
+
|
|
148
|
+
if formatted_value in self.formatted_option_to_option_index:
|
|
149
|
+
values.append(formatted_value)
|
|
150
|
+
else:
|
|
151
|
+
# Value not found in options - it's likely a user-entered string
|
|
152
|
+
# (when accept_new_options=True) or an invalid value. Use the
|
|
153
|
+
# formatted string (not the original object) for type consistency.
|
|
154
|
+
values.append(formatted_value)
|
|
132
155
|
return values
|
|
133
156
|
|
|
134
157
|
def deserialize(self, ui_value: list[str] | None) -> list[T | str] | list[T]:
|
|
@@ -530,6 +553,7 @@ class MultiSelectMixin:
|
|
|
530
553
|
formatted_options=formatted_options,
|
|
531
554
|
formatted_option_to_option_index=formatted_option_to_option_index,
|
|
532
555
|
default_options_indices=default_values,
|
|
556
|
+
format_func=format_func,
|
|
533
557
|
)
|
|
534
558
|
|
|
535
559
|
widget_state = register_widget(
|
|
@@ -560,7 +584,7 @@ class MultiSelectMixin:
|
|
|
560
584
|
# previously selected values are no longer available.
|
|
561
585
|
current_values, value_needs_reset = (
|
|
562
586
|
validate_and_sync_multiselect_value_with_options(
|
|
563
|
-
widget_state.value, indexable_options, key
|
|
587
|
+
widget_state.value, indexable_options, key, format_func
|
|
564
588
|
)
|
|
565
589
|
)
|
|
566
590
|
|
|
@@ -35,7 +35,6 @@ from streamlit.elements.lib.layout_utils import (
|
|
|
35
35
|
)
|
|
36
36
|
from streamlit.elements.lib.options_selector_utils import (
|
|
37
37
|
create_mappings,
|
|
38
|
-
index_,
|
|
39
38
|
maybe_coerce_enum,
|
|
40
39
|
validate_and_sync_value_with_options,
|
|
41
40
|
)
|
|
@@ -79,6 +78,7 @@ class SelectboxSerde(Generic[T]):
|
|
|
79
78
|
formatted_options: list[str]
|
|
80
79
|
formatted_option_to_option_index: dict[str, int]
|
|
81
80
|
default_option_index: int | None
|
|
81
|
+
format_func: Callable[[Any], str]
|
|
82
82
|
|
|
83
83
|
def __init__(
|
|
84
84
|
self,
|
|
@@ -87,6 +87,7 @@ class SelectboxSerde(Generic[T]):
|
|
|
87
87
|
formatted_options: list[str],
|
|
88
88
|
formatted_option_to_option_index: dict[str, int],
|
|
89
89
|
default_option_index: int | None = None,
|
|
90
|
+
format_func: Callable[[Any], str] = str,
|
|
90
91
|
) -> None:
|
|
91
92
|
"""Initialize the SelectboxSerde.
|
|
92
93
|
|
|
@@ -108,33 +109,53 @@ class SelectboxSerde(Generic[T]):
|
|
|
108
109
|
default_option_index : int or None, optional
|
|
109
110
|
The index of the default option to use when no selection is made.
|
|
110
111
|
If None, no default option is selected.
|
|
112
|
+
format_func : Callable[[Any], str], optional
|
|
113
|
+
Function to format options for comparison. Used to compare values by their
|
|
114
|
+
string representation instead of using == directly. This is necessary because
|
|
115
|
+
widget values are deepcopied, and for custom classes without __eq__, the
|
|
116
|
+
deepcopied instances would fail identity comparison.
|
|
111
117
|
"""
|
|
112
118
|
|
|
113
119
|
self.options = options
|
|
114
120
|
self.formatted_options = formatted_options
|
|
115
121
|
self.formatted_option_to_option_index = formatted_option_to_option_index
|
|
116
122
|
self.default_option_index = default_option_index
|
|
123
|
+
self.format_func = format_func
|
|
117
124
|
|
|
118
125
|
def serialize(self, v: T | str | None) -> str | None:
|
|
119
126
|
if v is None:
|
|
120
127
|
return None
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
#
|
|
126
|
-
#
|
|
128
|
+
# Note: We don't short-circuit for empty options here because
|
|
129
|
+
# accept_new_options=True allows user-entered values even with no options.
|
|
130
|
+
# The normal flow below handles this correctly.
|
|
131
|
+
|
|
132
|
+
# Use format_func to find the formatted option instead of using
|
|
133
|
+
# index_(self.options, v) which relies on == comparison. This is necessary
|
|
134
|
+
# because widget values are deepcopied, and for custom classes without
|
|
135
|
+
# __eq__, the deepcopied instances would fail identity comparison.
|
|
127
136
|
try:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
#
|
|
132
|
-
#
|
|
133
|
-
|
|
137
|
+
formatted_value = self.format_func(v)
|
|
138
|
+
except Exception:
|
|
139
|
+
# format_func failed (e.g., v is a string but format_func expects
|
|
140
|
+
# an object with specific attributes). Use str(v) to ensure we return
|
|
141
|
+
# a proper string, not the original object. This handles both cases:
|
|
142
|
+
# - v is already a string -> str(v) returns it unchanged
|
|
143
|
+
# - v is a custom object -> str(v) gives its string representation
|
|
144
|
+
return str(v)
|
|
145
|
+
|
|
146
|
+
if formatted_value in self.formatted_option_to_option_index:
|
|
147
|
+
return formatted_value
|
|
148
|
+
# Value not found in options - return the formatted string (not the original
|
|
149
|
+
# object) to maintain type consistency since serialize() must return str|None
|
|
150
|
+
return formatted_value
|
|
134
151
|
|
|
135
152
|
def deserialize(self, ui_value: str | None) -> T | str | None:
|
|
136
|
-
#
|
|
137
|
-
#
|
|
153
|
+
# Note: We don't short-circuit for empty options here because
|
|
154
|
+
# accept_new_options=True allows user-entered values even with no options.
|
|
155
|
+
# The normal flow below handles this: ui_value not in options -> return ui_value.
|
|
156
|
+
|
|
157
|
+
# Check if the option is pointing to a generic option type T,
|
|
158
|
+
# otherwise return the option itself.
|
|
138
159
|
if ui_value is None:
|
|
139
160
|
return (
|
|
140
161
|
self.options[self.default_option_index]
|
|
@@ -583,6 +604,7 @@ class SelectboxMixin:
|
|
|
583
604
|
formatted_options=formatted_options,
|
|
584
605
|
formatted_option_to_option_index=formatted_option_to_option_index,
|
|
585
606
|
default_option_index=index,
|
|
607
|
+
format_func=format_func,
|
|
586
608
|
)
|
|
587
609
|
widget_state = register_widget(
|
|
588
610
|
selectbox_proto.id,
|
|
@@ -605,7 +627,7 @@ class SelectboxMixin:
|
|
|
605
627
|
# This handles the case where options change dynamically and the
|
|
606
628
|
# previously selected value is no longer available.
|
|
607
629
|
current_value, value_needs_reset = validate_and_sync_value_with_options(
|
|
608
|
-
widget_state.value, opt, index, key
|
|
630
|
+
widget_state.value, opt, index, key, format_func
|
|
609
631
|
)
|
|
610
632
|
|
|
611
633
|
if value_needs_reset or widget_state.value_changed:
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<script>
|
|
38
38
|
window.prerenderReady = false
|
|
39
39
|
</script>
|
|
40
|
-
<script type="module" crossorigin src="./static/js/index.
|
|
40
|
+
<script type="module" crossorigin src="./static/js/index.DSTThs-t.js"></script>
|
|
41
41
|
<link rel="stylesheet" crossorigin href="./static/css/index.BUP6fTcR.css">
|
|
42
42
|
</head>
|
|
43
43
|
<body>
|