streamlit-nightly 1.52.3.dev20260105__tar.gz → 1.52.3.dev20260107__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.
Files changed (650) hide show
  1. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/PKG-INFO +10 -2
  2. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/setup.py +21 -3
  3. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/__init__.py +33 -16
  4. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/bidi_component/main.py +0 -8
  5. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/types.py +13 -20
  6. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/config.py +10 -0
  7. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/connections/base_connection.py +28 -1
  8. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/number_input.py +27 -24
  9. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/errors.py +0 -12
  10. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/connection_factory.py +15 -1
  11. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/context.py +22 -30
  12. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/session_manager.py +35 -2
  13. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/index.html +1 -1
  14. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/manifest.json +300 -300
  15. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/ErrorOutline.esm.CUbPpREP.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/ErrorOutline.esm.D2r71uaM.js +1 -1
  16. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/FileDownload.esm.DetkHTcN.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/FileDownload.esm.BWEHU45R.js +1 -1
  17. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/FileHelper.BwIyMxu6.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/FileHelper.bM5nEcHb.js +1 -1
  18. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/FormClearHelper.CASwqls6.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/FormClearHelper.DrhgNNta.js +1 -1
  19. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/InputInstructions.S3adIyNg.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/InputInstructions.DPiGX0Th.js +1 -1
  20. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/Particles.RThwaGLL.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/Particles.NjZlN0Ji.js +1 -1
  21. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/ProgressBar.C5R-2EpR.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/ProgressBar.BC4DXqMl.js +1 -1
  22. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/StreamlitSyntaxHighlighter.Y7KVbKtx.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/StreamlitSyntaxHighlighter.CbRgSaN7.js +1 -1
  23. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/TableChart.esm.Yg3weFJJ.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/TableChart.esm.gttTfh7r.js +1 -1
  24. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/Toolbar.BLFSj5n_.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/Toolbar.DO2JfHk1.js +1 -1
  25. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/WidgetLabelHelpIconInline.DAWJEVd6.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/WidgetLabelHelpIconInline.NVlzvmTZ.js +1 -1
  26. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/base-input.CHeZetve.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/base-input.CmG3KTuv.js +1 -1
  27. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/checkbox.BK8sNhcL.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/checkbox.cfHeGdGI.js +1 -1
  28. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/createDownloadLinkElement._lShGDOq.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/createDownloadLinkElement.B59a5_bn.js +1 -1
  29. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/data-grid-overlay-editor.ssbLvS2J.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/data-grid-overlay-editor.DpTe47v0.js +1 -1
  30. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/downloader.CZdoNBU_.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/downloader.CYtKIJ9J.js +1 -1
  31. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/embed.2TWJ6qNB.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/embed.Dfyy6eKR.js +1 -1
  32. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/es6.D41As5l9.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/es6.x2A9auGg.js +2 -2
  33. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/formatNumber.QuIArRkA.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/formatNumber.D8YUVHBi.js +1 -1
  34. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/iconPosition.CSpYbZdy.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/iconPosition.C6Qxuo2L.js +1 -1
  35. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/iframeResizer.contentWindow.Ba3c7d3E.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/iframeResizer.contentWindow.Q0Cy4mzM.js +1 -1
  36. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.nbcFTn_s.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.4DpGzJxM.js +1 -1
  37. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.WQewRvlT.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.4evoB7lO.js +1 -1
  38. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BoY3Kkcd.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.5zBrLB5N.js +1 -1
  39. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DFCPECXZ.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.72U0nUaY.js +1 -1
  40. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BOvjmPsN.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.7BBVjqsx.js +1 -1
  41. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.B6YM-IfX.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.9i44yl-A.js +1 -1
  42. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BDu_MJqs.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.9lrRft8u.js +1 -1
  43. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BYH1e4xe.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.AF9wK9Wi.js +1 -1
  44. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.C8z5LOYQ.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.BA25ZBoD.js +1 -1
  45. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.B8XnIwXu.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.BHzkSOU6.js +1 -1
  46. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DZSrtq6x.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.BICn75_M.js +1 -1
  47. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DnWt2J6g.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.BSULROGA.js +1 -1
  48. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.Q_E7sonx.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.BTcImDDt.js +5 -5
  49. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.Clrm_eTk.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.Bmo0a9c3.js +1 -1
  50. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BAHhsNEO.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.Bs9bS4ZQ.js +1 -1
  51. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.Bz3MkLgx.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.BtasgGzT.js +1 -1
  52. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.B4ZFNrs2.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.BuCGo7-5.js +5 -5
  53. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.KQLzM7MF.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.CCkh_YSD.js +1 -1
  54. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BOIgWFBo.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.CEB-gMZu.js +1 -1
  55. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.D2GAddP5.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.CWEfMTRP.js +1 -1
  56. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DWr4fsaW.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.CcpuNeOs.js +1 -1
  57. streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.CgFM5y1b.js +1 -0
  58. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DDmNxuM1.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.Cszkm2ii.js +1 -1
  59. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.g1YybQQ9.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.Cto6hKVz.js +1 -1
  60. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.CYiKO5um.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.CzMaYu3-.js +1 -1
  61. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DRcHLhCK.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.D2pbLWvp.js +1 -1
  62. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.Chj6qsmB.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DDUzbOzY.js +1 -1
  63. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BI_fnYvO.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DFrG8naT.js +1 -1
  64. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.uYBEeDUr.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DMgiqc8r.js +1 -1
  65. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DrsyU_tH.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DMtSM2QJ.js +1 -1
  66. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.9i_-lwmj.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DemMZEQt.js +1 -1
  67. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.thfM5Jp-.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DfXZgqLi.js +1 -1
  68. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DDf8sbO4.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DlXiDt-m.js +1 -1
  69. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BnkFb6TA.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DltYrNjp.js +1 -1
  70. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.CuZMPicb.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.Dm8qt8Me.js +1 -1
  71. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.C7V9OjPg.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.Dmaco99Q.js +1 -1
  72. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.Bw-KHlow.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DrHoCPek.js +1 -1
  73. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BCDbmK91.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DyL5do6X.js +1 -1
  74. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.C761egln.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.DzZhu8Ry.js +1 -1
  75. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.Dd0uREcX.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.HTZptmDX.js +1 -1
  76. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DBEtWjU1.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.WMC0NWRg.js +1 -1
  77. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DSMOcJzt.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.WW20lmQl.js +1 -1
  78. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.D6rDKuAr.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.Zffuf6-0.js +1 -1
  79. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DceyCzDe.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.i5tC1QD-.js +1 -1
  80. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.BvVfzDZQ.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.mRYkGVRy.js +1 -1
  81. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.WRCuRhqg.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.mUwcAQrC.js +1 -1
  82. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.OlwiZDpn.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.up8HPR4v.js +1 -1
  83. streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/index.xQYe72hk.js +1 -0
  84. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/input.BfQ-NLYJ.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/input.C76A8APa.js +1 -1
  85. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/main.kRp_qJ7D.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/main.CFbvktEv.js +1 -1
  86. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/memory.BkmZS8L_.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/memory.BkhqbxJl.js +1 -1
  87. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/number-overlay-editor.DG6TifvP.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/number-overlay-editor.Dpeh6_Ag.js +1 -1
  88. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/pandasStylerUtils.2q7Waiua.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/pandasStylerUtils.D8MDzfFI.js +1 -1
  89. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/sandbox.CNlPmm2Y.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/sandbox.m1TYtBuF.js +1 -1
  90. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/styled-components.BzgaiWCN.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/styled-components.yin3sIMA.js +1 -1
  91. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/throttle.C6Ziz6X5.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/throttle.Df6MiNTy.js +1 -1
  92. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/timepicker.BaHSf28n.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/timepicker.gcx4yeRx.js +1 -1
  93. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/toConsumableArray.BNGCByOf.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/toConsumableArray.Ca7RO9Jm.js +1 -1
  94. streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/uniqueId.Bf2Hsb60.js +1 -0
  95. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/useBasicWidgetState.BcW4Dq9k.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/useBasicWidgetState.CRkPCtR5.js +1 -1
  96. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/useIntlLocale.BmLgec-0.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/useIntlLocale.CFOMULNz.js +1 -1
  97. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/useTextInputAutoExpand.BR8fAFbd.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/useTextInputAutoExpand.9c205rhQ.js +1 -1
  98. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/useUpdateUiValue.Dg1Zd8gd.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/useUpdateUiValue.SYJJuEJM.js +1 -1
  99. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/useWaveformController.Ch2JLD06.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/useWaveformController.CCs9fdSv.js +1 -1
  100. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/withCalculatedWidth.YVnNIVT2.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/withCalculatedWidth.MG9RY_Y-.js +1 -1
  101. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/withFullScreenWrapper.DjieznUq.js → streamlit_nightly-1.52.3.dev20260107/streamlit/static/static/js/withFullScreenWrapper.BgGLtZrC.js +1 -1
  102. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/browser_websocket_handler.py +48 -5
  103. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/oauth_authlib_routes.py +13 -1
  104. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/server.py +43 -8
  105. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/__init__.py +22 -0
  106. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/starlette_app.py +213 -0
  107. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/starlette_app_utils.py +306 -0
  108. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/starlette_auth_routes.py +506 -0
  109. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/starlette_gzip_middleware.py +121 -0
  110. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/starlette_routes.py +859 -0
  111. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/starlette_server.py +496 -0
  112. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/starlette_server_config.py +55 -0
  113. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/starlette_static_routes.py +171 -0
  114. streamlit_nightly-1.52.3.dev20260107/streamlit/web/server/starlette/starlette_websocket.py +560 -0
  115. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit_nightly.egg-info/PKG-INFO +10 -2
  116. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit_nightly.egg-info/SOURCES.txt +97 -87
  117. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit_nightly.egg-info/requires.txt +10 -1
  118. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.DLplCBmm.js +0 -1
  119. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/index.zcrZ8Dj9.js +0 -1
  120. streamlit_nightly-1.52.3.dev20260105/streamlit/static/static/js/uniqueId.Nvl4r5vW.js +0 -1
  121. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/MANIFEST.in +0 -0
  122. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/bin/streamlit.cmd +0 -0
  123. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/setup.cfg +0 -0
  124. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/__init__.py +0 -0
  125. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/__main__.py +0 -0
  126. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/auth_util.py +0 -0
  127. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/cli_util.py +0 -0
  128. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/column_config.py +0 -0
  129. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/commands/__init__.py +0 -0
  130. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/commands/echo.py +0 -0
  131. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/commands/execution_control.py +0 -0
  132. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/commands/experimental_query_params.py +0 -0
  133. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/commands/logo.py +0 -0
  134. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/commands/navigation.py +0 -0
  135. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/commands/page_config.py +0 -0
  136. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/__init__.py +0 -0
  137. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/lib/__init__.py +0 -0
  138. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/lib/local_component_registry.py +0 -0
  139. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/types/__init__.py +0 -0
  140. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/types/base_component_registry.py +0 -0
  141. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/types/base_custom_component.py +0 -0
  142. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v1/__init__.py +0 -0
  143. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v1/component_arrow.py +0 -0
  144. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v1/component_registry.py +0 -0
  145. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v1/components.py +0 -0
  146. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v1/custom_component.py +0 -0
  147. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/bidi_component/__init__.py +0 -0
  148. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/bidi_component/constants.py +0 -0
  149. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/bidi_component/serialization.py +0 -0
  150. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/bidi_component/state.py +0 -0
  151. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/component_definition_resolver.py +0 -0
  152. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/component_file_watcher.py +0 -0
  153. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/component_manager.py +0 -0
  154. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/component_manifest_handler.py +0 -0
  155. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/component_path_utils.py +0 -0
  156. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/component_registry.py +0 -0
  157. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/get_bidi_component_manager.py +0 -0
  158. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/manifest_scanner.py +0 -0
  159. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/components/v2/presentation.py +0 -0
  160. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/config_option.py +0 -0
  161. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/config_util.py +0 -0
  162. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/connections/__init__.py +0 -0
  163. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/connections/snowflake_connection.py +0 -0
  164. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/connections/snowpark_connection.py +0 -0
  165. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/connections/sql_connection.py +0 -0
  166. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/connections/util.py +0 -0
  167. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/cursor.py +0 -0
  168. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/dataframe_util.py +0 -0
  169. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/delta_generator.py +0 -0
  170. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/delta_generator_singletons.py +0 -0
  171. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/deprecation_util.py +0 -0
  172. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/development.py +0 -0
  173. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/__init__.py +0 -0
  174. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/alert.py +0 -0
  175. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/arrow.py +0 -0
  176. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/balloons.py +0 -0
  177. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/bokeh_chart.py +0 -0
  178. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/code.py +0 -0
  179. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/deck_gl_json_chart.py +0 -0
  180. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/dialog_decorator.py +0 -0
  181. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/doc_string.py +0 -0
  182. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/empty.py +0 -0
  183. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/exception.py +0 -0
  184. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/form.py +0 -0
  185. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/graphviz_chart.py +0 -0
  186. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/heading.py +0 -0
  187. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/html.py +0 -0
  188. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/iframe.py +0 -0
  189. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/image.py +0 -0
  190. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/json.py +0 -0
  191. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/layouts.py +0 -0
  192. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/__init__.py +0 -0
  193. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/built_in_chart_utils.py +0 -0
  194. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/color_util.py +0 -0
  195. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/column_config_utils.py +0 -0
  196. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/column_types.py +0 -0
  197. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/dialog.py +0 -0
  198. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/dicttools.py +0 -0
  199. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/file_uploader_utils.py +0 -0
  200. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/form_utils.py +0 -0
  201. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/image_utils.py +0 -0
  202. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/js_number.py +0 -0
  203. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/layout_utils.py +0 -0
  204. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/mutable_status_container.py +0 -0
  205. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/options_selector_utils.py +0 -0
  206. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/pandas_styler_utils.py +0 -0
  207. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/policies.py +0 -0
  208. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/shortcut_utils.py +0 -0
  209. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/streamlit_plotly_theme.py +0 -0
  210. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/subtitle_utils.py +0 -0
  211. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/lib/utils.py +0 -0
  212. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/map.py +0 -0
  213. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/markdown.py +0 -0
  214. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/media.py +0 -0
  215. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/metric.py +0 -0
  216. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/pdf.py +0 -0
  217. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/plotly_chart.py +0 -0
  218. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/progress.py +0 -0
  219. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/pyplot.py +0 -0
  220. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/snow.py +0 -0
  221. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/space.py +0 -0
  222. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/spinner.py +0 -0
  223. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/text.py +0 -0
  224. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/toast.py +0 -0
  225. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/vega_charts.py +0 -0
  226. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/__init__.py +0 -0
  227. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/audio_input.py +0 -0
  228. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/button.py +0 -0
  229. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/button_group.py +0 -0
  230. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/camera_input.py +0 -0
  231. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/chat.py +0 -0
  232. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/checkbox.py +0 -0
  233. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/color_picker.py +0 -0
  234. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/data_editor.py +0 -0
  235. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/file_uploader.py +0 -0
  236. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/multiselect.py +0 -0
  237. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/radio.py +0 -0
  238. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/select_slider.py +0 -0
  239. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/selectbox.py +0 -0
  240. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/slider.py +0 -0
  241. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/text_widgets.py +0 -0
  242. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/widgets/time_widgets.py +0 -0
  243. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/elements/write.py +0 -0
  244. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/emojis.py +0 -0
  245. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/env_util.py +0 -0
  246. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/error_util.py +0 -0
  247. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/external/__init__.py +0 -0
  248. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/external/langchain/__init__.py +0 -0
  249. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/external/langchain/streamlit_callback_handler.py +0 -0
  250. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/file_util.py +0 -0
  251. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/git_util.py +0 -0
  252. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/hello/__init__.py +0 -0
  253. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/hello/animation_demo.py +0 -0
  254. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/hello/dataframe_demo.py +0 -0
  255. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/hello/hello.py +0 -0
  256. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/hello/mapping_demo.py +0 -0
  257. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/hello/plotting_demo.py +0 -0
  258. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/hello/streamlit_app.py +0 -0
  259. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/hello/utils.py +0 -0
  260. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/logger.py +0 -0
  261. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/material_icon_names.py +0 -0
  262. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/navigation/__init__.py +0 -0
  263. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/navigation/page.py +0 -0
  264. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/net_util.py +0 -0
  265. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/platform.py +0 -0
  266. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Alert_pb2.py +0 -0
  267. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Alert_pb2.pyi +0 -0
  268. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/AppPage_pb2.py +0 -0
  269. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/AppPage_pb2.pyi +0 -0
  270. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ArrowData_pb2.py +0 -0
  271. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ArrowData_pb2.pyi +0 -0
  272. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ArrowNamedDataSet_pb2.py +0 -0
  273. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ArrowNamedDataSet_pb2.pyi +0 -0
  274. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ArrowVegaLiteChart_pb2.py +0 -0
  275. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ArrowVegaLiteChart_pb2.pyi +0 -0
  276. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Arrow_pb2.py +0 -0
  277. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Arrow_pb2.pyi +0 -0
  278. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/AudioInput_pb2.py +0 -0
  279. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/AudioInput_pb2.pyi +0 -0
  280. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Audio_pb2.py +0 -0
  281. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Audio_pb2.pyi +0 -0
  282. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/AuthRedirect_pb2.py +0 -0
  283. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/AuthRedirect_pb2.pyi +0 -0
  284. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/AutoRerun_pb2.py +0 -0
  285. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/AutoRerun_pb2.pyi +0 -0
  286. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/BackMsg_pb2.py +0 -0
  287. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/BackMsg_pb2.pyi +0 -0
  288. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Balloons_pb2.py +0 -0
  289. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Balloons_pb2.pyi +0 -0
  290. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/BidiComponent_pb2.py +0 -0
  291. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/BidiComponent_pb2.pyi +0 -0
  292. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Block_pb2.py +0 -0
  293. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Block_pb2.pyi +0 -0
  294. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/BokehChart_pb2.py +0 -0
  295. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/BokehChart_pb2.pyi +0 -0
  296. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ButtonGroup_pb2.py +0 -0
  297. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ButtonGroup_pb2.pyi +0 -0
  298. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ButtonLikeIconPosition_pb2.py +0 -0
  299. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ButtonLikeIconPosition_pb2.pyi +0 -0
  300. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Button_pb2.py +0 -0
  301. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Button_pb2.pyi +0 -0
  302. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/CameraInput_pb2.py +0 -0
  303. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/CameraInput_pb2.pyi +0 -0
  304. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ChatInput_pb2.py +0 -0
  305. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ChatInput_pb2.pyi +0 -0
  306. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Checkbox_pb2.py +0 -0
  307. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Checkbox_pb2.pyi +0 -0
  308. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ClientState_pb2.py +0 -0
  309. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ClientState_pb2.pyi +0 -0
  310. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Code_pb2.py +0 -0
  311. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Code_pb2.pyi +0 -0
  312. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ColorPicker_pb2.py +0 -0
  313. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ColorPicker_pb2.pyi +0 -0
  314. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Common_pb2.py +0 -0
  315. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Common_pb2.pyi +0 -0
  316. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Components_pb2.py +0 -0
  317. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Components_pb2.pyi +0 -0
  318. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DataFrame_pb2.py +0 -0
  319. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DataFrame_pb2.pyi +0 -0
  320. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DateInput_pb2.py +0 -0
  321. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DateInput_pb2.pyi +0 -0
  322. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DateTimeInput_pb2.py +0 -0
  323. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DateTimeInput_pb2.pyi +0 -0
  324. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DeckGlJsonChart_pb2.py +0 -0
  325. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DeckGlJsonChart_pb2.pyi +0 -0
  326. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Delta_pb2.py +0 -0
  327. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Delta_pb2.pyi +0 -0
  328. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DocString_pb2.py +0 -0
  329. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DocString_pb2.pyi +0 -0
  330. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DownloadButton_pb2.py +0 -0
  331. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/DownloadButton_pb2.pyi +0 -0
  332. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Element_pb2.py +0 -0
  333. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Element_pb2.pyi +0 -0
  334. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Empty_pb2.py +0 -0
  335. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Empty_pb2.pyi +0 -0
  336. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Exception_pb2.py +0 -0
  337. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Exception_pb2.pyi +0 -0
  338. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Favicon_pb2.py +0 -0
  339. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Favicon_pb2.pyi +0 -0
  340. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/FileUploader_pb2.py +0 -0
  341. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/FileUploader_pb2.pyi +0 -0
  342. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ForwardMsg_pb2.py +0 -0
  343. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ForwardMsg_pb2.pyi +0 -0
  344. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/GapSize_pb2.py +0 -0
  345. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/GapSize_pb2.pyi +0 -0
  346. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/GitInfo_pb2.py +0 -0
  347. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/GitInfo_pb2.pyi +0 -0
  348. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/GraphVizChart_pb2.py +0 -0
  349. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/GraphVizChart_pb2.pyi +0 -0
  350. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Heading_pb2.py +0 -0
  351. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Heading_pb2.pyi +0 -0
  352. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/HeightConfig_pb2.py +0 -0
  353. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/HeightConfig_pb2.pyi +0 -0
  354. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Html_pb2.py +0 -0
  355. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Html_pb2.pyi +0 -0
  356. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/IFrame_pb2.py +0 -0
  357. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/IFrame_pb2.pyi +0 -0
  358. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Image_pb2.py +0 -0
  359. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Image_pb2.pyi +0 -0
  360. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Json_pb2.py +0 -0
  361. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Json_pb2.pyi +0 -0
  362. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/LabelVisibilityMessage_pb2.py +0 -0
  363. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/LabelVisibilityMessage_pb2.pyi +0 -0
  364. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/LinkButton_pb2.py +0 -0
  365. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/LinkButton_pb2.pyi +0 -0
  366. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Logo_pb2.py +0 -0
  367. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Logo_pb2.pyi +0 -0
  368. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Markdown_pb2.py +0 -0
  369. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Markdown_pb2.pyi +0 -0
  370. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Metric_pb2.py +0 -0
  371. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Metric_pb2.pyi +0 -0
  372. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/MetricsEvent_pb2.py +0 -0
  373. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/MetricsEvent_pb2.pyi +0 -0
  374. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/MultiSelect_pb2.py +0 -0
  375. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/MultiSelect_pb2.pyi +0 -0
  376. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/NamedDataSet_pb2.py +0 -0
  377. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/NamedDataSet_pb2.pyi +0 -0
  378. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Navigation_pb2.py +0 -0
  379. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Navigation_pb2.pyi +0 -0
  380. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/NewSession_pb2.py +0 -0
  381. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/NewSession_pb2.pyi +0 -0
  382. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/NumberInput_pb2.py +0 -0
  383. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/NumberInput_pb2.pyi +0 -0
  384. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageConfig_pb2.py +0 -0
  385. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageConfig_pb2.pyi +0 -0
  386. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageInfo_pb2.py +0 -0
  387. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageInfo_pb2.pyi +0 -0
  388. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageLink_pb2.py +0 -0
  389. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageLink_pb2.pyi +0 -0
  390. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageNotFound_pb2.py +0 -0
  391. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageNotFound_pb2.pyi +0 -0
  392. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageProfile_pb2.py +0 -0
  393. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PageProfile_pb2.pyi +0 -0
  394. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PagesChanged_pb2.py +0 -0
  395. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PagesChanged_pb2.pyi +0 -0
  396. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ParentMessage_pb2.py +0 -0
  397. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/ParentMessage_pb2.pyi +0 -0
  398. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PlotlyChart_pb2.py +0 -0
  399. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/PlotlyChart_pb2.pyi +0 -0
  400. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Progress_pb2.py +0 -0
  401. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Progress_pb2.pyi +0 -0
  402. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Radio_pb2.py +0 -0
  403. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Radio_pb2.pyi +0 -0
  404. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/RootContainer_pb2.py +0 -0
  405. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/RootContainer_pb2.pyi +0 -0
  406. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Selectbox_pb2.py +0 -0
  407. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Selectbox_pb2.pyi +0 -0
  408. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/SessionEvent_pb2.py +0 -0
  409. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/SessionEvent_pb2.pyi +0 -0
  410. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/SessionStatus_pb2.py +0 -0
  411. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/SessionStatus_pb2.pyi +0 -0
  412. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Skeleton_pb2.py +0 -0
  413. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Skeleton_pb2.pyi +0 -0
  414. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Slider_pb2.py +0 -0
  415. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Slider_pb2.pyi +0 -0
  416. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Snow_pb2.py +0 -0
  417. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Snow_pb2.pyi +0 -0
  418. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Space_pb2.py +0 -0
  419. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Space_pb2.pyi +0 -0
  420. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Spinner_pb2.py +0 -0
  421. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Spinner_pb2.pyi +0 -0
  422. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/TextAlignmentConfig_pb2.py +0 -0
  423. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/TextAlignmentConfig_pb2.pyi +0 -0
  424. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/TextArea_pb2.py +0 -0
  425. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/TextArea_pb2.pyi +0 -0
  426. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/TextInput_pb2.py +0 -0
  427. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/TextInput_pb2.pyi +0 -0
  428. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Text_pb2.py +0 -0
  429. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Text_pb2.pyi +0 -0
  430. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/TimeInput_pb2.py +0 -0
  431. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/TimeInput_pb2.pyi +0 -0
  432. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Toast_pb2.py +0 -0
  433. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Toast_pb2.pyi +0 -0
  434. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Transient_pb2.py +0 -0
  435. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Transient_pb2.pyi +0 -0
  436. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/VegaLiteChart_pb2.py +0 -0
  437. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/VegaLiteChart_pb2.pyi +0 -0
  438. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Video_pb2.py +0 -0
  439. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/Video_pb2.pyi +0 -0
  440. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/WidgetStates_pb2.py +0 -0
  441. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/WidgetStates_pb2.pyi +0 -0
  442. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/WidthConfig_pb2.py +0 -0
  443. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/WidthConfig_pb2.pyi +0 -0
  444. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/__init__.py +0 -0
  445. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/openmetrics_data_model_pb2.py +0 -0
  446. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/proto/openmetrics_data_model_pb2.pyi +0 -0
  447. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/py.typed +0 -0
  448. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/__init__.py +0 -0
  449. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/app_session.py +0 -0
  450. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/__init__.py +0 -0
  451. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/cache_data_api.py +0 -0
  452. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/cache_errors.py +0 -0
  453. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/cache_resource_api.py +0 -0
  454. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/cache_type.py +0 -0
  455. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/cache_utils.py +0 -0
  456. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/cached_message_replay.py +0 -0
  457. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/hashing.py +0 -0
  458. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/legacy_cache_api.py +0 -0
  459. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/storage/__init__.py +0 -0
  460. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/storage/cache_storage_protocol.py +0 -0
  461. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/storage/dummy_cache_storage.py +0 -0
  462. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/storage/in_memory_cache_storage_wrapper.py +0 -0
  463. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/storage/local_disk_cache_storage.py +0 -0
  464. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/caching/ttl_cleanup_cache.py +0 -0
  465. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/context_util.py +0 -0
  466. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/credentials.py +0 -0
  467. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/download_data_util.py +0 -0
  468. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/forward_msg_cache.py +0 -0
  469. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/forward_msg_queue.py +0 -0
  470. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/fragment.py +0 -0
  471. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/media_file_manager.py +0 -0
  472. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/media_file_storage.py +0 -0
  473. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/memory_media_file_storage.py +0 -0
  474. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/memory_session_storage.py +0 -0
  475. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/memory_uploaded_file_manager.py +0 -0
  476. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/metrics_util.py +0 -0
  477. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/pages_manager.py +0 -0
  478. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/runtime.py +0 -0
  479. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/runtime_util.py +0 -0
  480. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/script_data.py +0 -0
  481. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner/__init__.py +0 -0
  482. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner/exec_code.py +0 -0
  483. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner/magic.py +0 -0
  484. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner/magic_funcs.py +0 -0
  485. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner/script_cache.py +0 -0
  486. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner/script_runner.py +0 -0
  487. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner_utils/__init__.py +0 -0
  488. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner_utils/exceptions.py +0 -0
  489. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner_utils/script_requests.py +0 -0
  490. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/scriptrunner_utils/script_run_context.py +0 -0
  491. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/secrets.py +0 -0
  492. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/state/__init__.py +0 -0
  493. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/state/common.py +0 -0
  494. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/state/presentation.py +0 -0
  495. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/state/query_params.py +0 -0
  496. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/state/query_params_proxy.py +0 -0
  497. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/state/safe_session_state.py +0 -0
  498. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/state/session_state.py +0 -0
  499. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/state/session_state_proxy.py +0 -0
  500. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/state/widgets.py +0 -0
  501. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/stats.py +0 -0
  502. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/theme_util.py +0 -0
  503. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/uploaded_file_manager.py +0 -0
  504. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/runtime/websocket_session_manager.py +0 -0
  505. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/source_util.py +0 -0
  506. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/favicon.png +0 -0
  507. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/css/index.BUP6fTcR.css +0 -0
  508. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/css/index.BuwrT-ty.css +0 -0
  509. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/css/index.DgR7E2CV.css +0 -0
  510. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/IFrameUtil.DefezniK.js +0 -0
  511. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/UploadFileInfo.Dr-zDST7.js +0 -0
  512. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/_arrayIncludes.B19Iyn2B.js +0 -0
  513. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/_baseIndexOf.BTknn6Gb.js +0 -0
  514. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/formatMoment.C6Hwn6X5.js +0 -0
  515. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/index.8HslT92O.js +0 -0
  516. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/index.BBTKOM0z.js +0 -0
  517. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/index.bsVAaBS1.js +0 -0
  518. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/inputUtils.CptNuJwn.js +0 -0
  519. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/moment.C7qA8nIE.js +0 -0
  520. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/numbro.B9_PXfzp.js +0 -0
  521. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/record.DytFsBUt.js +0 -0
  522. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/sprintf.DpPCfzXw.js +0 -0
  523. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/threshold.CUNQbqMA.js +0 -0
  524. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/timer.BZio6gjG.js +0 -0
  525. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/urls.BwSlolu9.js +0 -0
  526. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/value.DaKxGC7O.js +0 -0
  527. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/js/wavesurfer.esm.D1Sty35j.js +0 -0
  528. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_AMS-Regular.BQhdFMY1.woff2 +0 -0
  529. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_AMS-Regular.DMm9YOAa.woff +0 -0
  530. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_AMS-Regular.DRggAlZN.ttf +0 -0
  531. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf +0 -0
  532. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.BEiXGLvX.woff +0 -0
  533. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2 +0 -0
  534. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.CTRA-rTL.woff +0 -0
  535. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2 +0 -0
  536. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.wX97UBjC.ttf +0 -0
  537. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Fraktur-Bold.BdnERNNW.ttf +0 -0
  538. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Fraktur-Bold.BsDP51OF.woff +0 -0
  539. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Fraktur-Bold.CL6g_b3V.woff2 +0 -0
  540. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Fraktur-Regular.CB_wures.ttf +0 -0
  541. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Fraktur-Regular.CTYiF6lA.woff2 +0 -0
  542. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Fraktur-Regular.Dxdc4cR9.woff +0 -0
  543. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-Bold.Cx986IdX.woff2 +0 -0
  544. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-Bold.Jm3AIy58.woff +0 -0
  545. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-Bold.waoOVXN0.ttf +0 -0
  546. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2 +0 -0
  547. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-BoldItalic.DzxPMmG6.ttf +0 -0
  548. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-BoldItalic.SpSLRI95.woff +0 -0
  549. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-Italic.3WenGoN9.ttf +0 -0
  550. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-Italic.BMLOBm91.woff +0 -0
  551. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-Italic.NWA7e6Wa.woff2 +0 -0
  552. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-Regular.B22Nviop.woff2 +0 -0
  553. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-Regular.Dr94JaBh.woff +0 -0
  554. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Main-Regular.ypZvNtVU.ttf +0 -0
  555. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Math-BoldItalic.B3XSjfu4.ttf +0 -0
  556. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2 +0 -0
  557. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Math-BoldItalic.iY-2wyZ7.woff +0 -0
  558. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Math-Italic.DA0__PXp.woff +0 -0
  559. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Math-Italic.flOr_0UB.ttf +0 -0
  560. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Math-Italic.t53AETM-.woff2 +0 -0
  561. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_SansSerif-Bold.CFMepnvq.ttf +0 -0
  562. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_SansSerif-Bold.D1sUS0GD.woff2 +0 -0
  563. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_SansSerif-Bold.DbIhKOiC.woff +0 -0
  564. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_SansSerif-Italic.C3H0VqGB.woff2 +0 -0
  565. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_SansSerif-Italic.DN2j7dab.woff +0 -0
  566. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf +0 -0
  567. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_SansSerif-Regular.BNo7hRIc.ttf +0 -0
  568. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_SansSerif-Regular.CS6fqUqJ.woff +0 -0
  569. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2 +0 -0
  570. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Script-Regular.C5JkGWo-.ttf +0 -0
  571. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Script-Regular.D3wIWfF6.woff2 +0 -0
  572. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Script-Regular.D5yQViql.woff +0 -0
  573. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size1-Regular.C195tn64.woff +0 -0
  574. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size1-Regular.Dbsnue_I.ttf +0 -0
  575. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size1-Regular.mCD8mA8B.woff2 +0 -0
  576. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size2-Regular.B7gKUWhC.ttf +0 -0
  577. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size2-Regular.Dy4dx90m.woff2 +0 -0
  578. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size2-Regular.oD1tc_U0.woff +0 -0
  579. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size3-Regular.CTq5MqoE.woff +0 -0
  580. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size3-Regular.DgpXs0kz.ttf +0 -0
  581. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size4-Regular.BF-4gkZK.woff +0 -0
  582. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size4-Regular.DWFBv043.ttf +0 -0
  583. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Size4-Regular.Dl5lxZxV.woff2 +0 -0
  584. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Typewriter-Regular.C0xS9mPB.woff +0 -0
  585. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Typewriter-Regular.CO6r4hn1.woff2 +0 -0
  586. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf +0 -0
  587. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/MaterialSymbols-Rounded.C7IFxh57.woff2 +0 -0
  588. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/SourceCodeVF-Italic.ttf.Ba1oaZG1.woff2 +0 -0
  589. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/SourceCodeVF-Upright.ttf.BjWn63N-.woff2 +0 -0
  590. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/SourceSansVF-Italic.ttf.Bt9VkdQ3.woff2 +0 -0
  591. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/SourceSansVF-Upright.ttf.BsWL4Kly.woff2 +0 -0
  592. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/SourceSerifVariable-Italic.ttf.CVdzAtxO.woff2 +0 -0
  593. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/SourceSerifVariable-Roman.ttf.mdpVL9bi.woff2 +0 -0
  594. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/balloon-0.Czj7AKwE.png +0 -0
  595. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/balloon-1.CNvFFrND.png +0 -0
  596. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/balloon-2.DTvC6B1t.png +0 -0
  597. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/balloon-3.CgSk4tbL.png +0 -0
  598. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/balloon-4.mbtFrzxf.png +0 -0
  599. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/balloon-5.CSwkUfRA.png +0 -0
  600. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/fireworks.B4d-_KUe.gif +0 -0
  601. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/flake-0.DgWaVvm5.png +0 -0
  602. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/flake-1.B2r5AHMK.png +0 -0
  603. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/flake-2.BnWSExPC.png +0 -0
  604. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/static/static/media/snowflake.JU2jBHL8.svg +0 -0
  605. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/string_util.py +0 -0
  606. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/temporary_directory.py +0 -0
  607. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/testing/__init__.py +0 -0
  608. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/testing/v1/__init__.py +0 -0
  609. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/testing/v1/app_test.py +0 -0
  610. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/testing/v1/element_tree.py +0 -0
  611. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/testing/v1/local_script_runner.py +0 -0
  612. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/testing/v1/util.py +0 -0
  613. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/time_util.py +0 -0
  614. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/type_util.py +0 -0
  615. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/url_util.py +0 -0
  616. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/user_info.py +0 -0
  617. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/util.py +0 -0
  618. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/vendor/__init__.py +0 -0
  619. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/vendor/pympler/__init__.py +0 -0
  620. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/vendor/pympler/asizeof.py +0 -0
  621. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/version.py +0 -0
  622. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/watcher/__init__.py +0 -0
  623. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/watcher/event_based_path_watcher.py +0 -0
  624. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/watcher/folder_black_list.py +0 -0
  625. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/watcher/local_sources_watcher.py +0 -0
  626. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/watcher/path_watcher.py +0 -0
  627. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/watcher/polling_path_watcher.py +0 -0
  628. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/watcher/util.py +0 -0
  629. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/__init__.py +0 -0
  630. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/bootstrap.py +0 -0
  631. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/cache_storage_manager_config.py +0 -0
  632. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/cli.py +0 -0
  633. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/__init__.py +0 -0
  634. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/app_static_file_handler.py +0 -0
  635. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/authlib_tornado_integration.py +0 -0
  636. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/bidi_component_request_handler.py +0 -0
  637. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/component_file_utils.py +0 -0
  638. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/component_request_handler.py +0 -0
  639. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/media_file_handler.py +0 -0
  640. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/oidc_mixin.py +0 -0
  641. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/routes.py +0 -0
  642. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/server_util.py +0 -0
  643. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/stats_request_handler.py +0 -0
  644. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/upload_file_request_handler.py +0 -0
  645. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit/web/server/websocket_headers.py +0 -0
  646. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit_nightly.egg-info/dependency_links.txt +0 -0
  647. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit_nightly.egg-info/entry_points.txt +0 -0
  648. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit_nightly.egg-info/not-zip-safe +0 -0
  649. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/streamlit_nightly.egg-info/top_level.txt +0 -0
  650. {streamlit_nightly-1.52.3.dev20260105 → streamlit_nightly-1.52.3.dev20260107}/tests/testutil.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: streamlit-nightly
3
- Version: 1.52.3.dev20260105
3
+ Version: 1.52.3.dev20260107
4
4
  Summary: A faster way to build and share data apps
5
5
  Home-page: https://streamlit.io
6
6
  Author: Snowflake Inc
@@ -44,7 +44,7 @@ Requires-Dist: pyarrow>=7.0
44
44
  Requires-Dist: requests<3,>=2.27
45
45
  Requires-Dist: tenacity<10,>=8.1.0
46
46
  Requires-Dist: toml<2,>=0.10.1
47
- Requires-Dist: typing-extensions<5,>=4.4.0
47
+ Requires-Dist: typing-extensions<5,>=4.10.0
48
48
  Requires-Dist: watchdog<7,>=2.1.5; platform_system != "Darwin"
49
49
  Requires-Dist: gitpython!=3.1.19,<4,>=3.0.7
50
50
  Requires-Dist: pydeck<1,>=0.8.0b4
@@ -52,6 +52,13 @@ Requires-Dist: tornado!=6.5.0,<7,>=6.0.3
52
52
  Provides-Extra: snowflake
53
53
  Requires-Dist: snowflake-snowpark-python[modin]>=1.17.0; python_version < "3.12" and extra == "snowflake"
54
54
  Requires-Dist: snowflake-connector-python>=3.3.0; python_version < "3.12" and extra == "snowflake"
55
+ Provides-Extra: starlette
56
+ Requires-Dist: starlette>=0.40.0; extra == "starlette"
57
+ Requires-Dist: uvicorn>=0.30.0; extra == "starlette"
58
+ Requires-Dist: anyio>=4.0.0; extra == "starlette"
59
+ Requires-Dist: python-multipart>=0.0.10; extra == "starlette"
60
+ Requires-Dist: websockets>=12.0.0; extra == "starlette"
61
+ Requires-Dist: itsdangerous>=2.1.2; extra == "starlette"
55
62
  Provides-Extra: pdf
56
63
  Requires-Dist: streamlit-pdf>=1.0.0; extra == "pdf"
57
64
  Provides-Extra: auth
@@ -66,6 +73,7 @@ Requires-Dist: SQLAlchemy>=2.0.0; extra == "sql"
66
73
  Provides-Extra: performance
67
74
  Requires-Dist: orjson>=3.5.0; extra == "performance"
68
75
  Requires-Dist: uvloop>=0.15.2; (sys_platform != "win32" and (sys_platform != "cygwin" and platform_python_implementation != "PyPy")) and extra == "performance"
76
+ Requires-Dist: httptools>=0.6.3; extra == "performance"
69
77
  Provides-Extra: all
70
78
  Requires-Dist: streamlit[auth,charts,pdf,performance,snowflake,sql]; extra == "all"
71
79
  Requires-Dist: rich>=11.0.0; extra == "all"
@@ -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.dev20260105" # PEP-440
26
+ VERSION = "1.52.3.dev20260107" # 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:
@@ -59,7 +59,8 @@ INSTALL_REQUIRES = [
59
59
  # Starting from Python 3.11, Python has built in support for reading TOML files.
60
60
  # Let's make sure to remove this "toml" library when we stop supporting Python 3.10.
61
61
  "toml>=0.10.1, <2",
62
- "typing-extensions>=4.4.0, <5",
62
+ # Starlette requires typing-extensions >= 4.10.
63
+ "typing-extensions>=4.10.0, <5",
63
64
  # Don't require watchdog on MacOS, since it'll fail without xcode tools.
64
65
  # Without watchdog, we fallback to a polling file watcher to check for app changes.
65
66
  "watchdog>=2.1.5, <7; platform_system != 'Darwin'",
@@ -87,6 +88,21 @@ EXTRA_REQUIRES = {
87
88
  "snowflake-snowpark-python[modin]>=1.17.0; python_version<'3.12'",
88
89
  "snowflake-connector-python>=3.3.0; python_version<'3.12'",
89
90
  ],
91
+ # Optional dependency required for Starlette integration:
92
+ "starlette": [
93
+ # ASGI web-framework:
94
+ "starlette>=0.40.0",
95
+ # ASGI server:
96
+ "uvicorn>=0.30.0",
97
+ # Required by starlette:
98
+ "anyio>=4.0.0",
99
+ # Required for file-upload support:
100
+ "python-multipart>=0.0.10",
101
+ # Required for websocket support:
102
+ "websockets>=12.0.0",
103
+ # Required for cookie signing:
104
+ "itsdangerous>=2.1.2",
105
+ ],
90
106
  # Optional dependency required for PDF rendering:
91
107
  "pdf": [
92
108
  "streamlit-pdf>=1.0.0",
@@ -113,6 +129,8 @@ EXTRA_REQUIRES = {
113
129
  "orjson>=3.5.0",
114
130
  # uvloop speeds up the event loop:
115
131
  "uvloop>=0.15.2; sys_platform != 'win32' and (sys_platform != 'cygwin' and platform_python_implementation != 'PyPy')", # noqa: E501
132
+ # Faster http parsing for Starlette server:
133
+ "httptools>=0.6.3",
116
134
  ],
117
135
  # Install all optional dependencies:
118
136
  "all": [
@@ -128,7 +146,7 @@ class VerifyVersionCommand(install):
128
146
 
129
147
  description = "verify that the git tag matches our version"
130
148
 
131
- def run(self):
149
+ def run(self) -> None:
132
150
  tag = os.getenv("TAG")
133
151
 
134
152
  if tag != VERSION:
@@ -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
- A component must have HTML, JavaScript, or both. If you want a component
206
- with only CSS, use ``st.html`` instead.
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
- ``html`` and ``js`` can't both be ``None``. At least one of them must
271
- be provided.
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(name, html=html, css=css, js=js)
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 to disable shadow DOM
255
- isolation and apply global styles like Tailwind CSS to your component. The
256
- following example creates a simple button styled with Tailwind CSS. This
257
- example also demonstrates using different keys to mount multiple instances
258
- of the same component in one app.
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
 
@@ -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.")
@@ -16,7 +16,7 @@ from __future__ import annotations
16
16
 
17
17
  import json
18
18
  from abc import ABC, abstractmethod
19
- from typing import Any, Generic, TypeVar, cast
19
+ from typing import Any, Generic, Literal, TypeVar, cast
20
20
 
21
21
  from streamlit.runtime.secrets import AttrDict, secrets_singleton
22
22
  from streamlit.util import calc_md5
@@ -174,3 +174,30 @@ class BaseConnection(ABC, Generic[RawConnectionT]):
174
174
  The underlying connection object.
175
175
  """
176
176
  raise NotImplementedError
177
+
178
+ @classmethod
179
+ def scope(cls) -> Literal["global", "session"]:
180
+ """Returns the scope of this connection type.
181
+
182
+ "global" connection instances will be cached globally, and typically created
183
+ once during the lifetime of an application. "session" connection instances will
184
+ be cached per session, and typically will be created once per user session.
185
+
186
+ Returns
187
+ -------
188
+ "global" or "session"
189
+ The scope of this connection type.
190
+ """
191
+ return "global"
192
+
193
+ def close(self) -> None:
194
+ """A function to invoke when this connection needs to be cleaned up.
195
+
196
+ ``close`` is registered as an ``on_release`` hook in the resource cache when a
197
+ connection is created with ``st.connection``.
198
+
199
+ Returns
200
+ -------
201
+ None
202
+ """
203
+ # NOTE: Default implementation is intentionally a no-op.
@@ -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
- # Ensure stable ID when key is provided; explicitly whitelist parameters
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
- if widget_state.value_changed:
634
- if widget_state.value is not None:
635
- # Min/Max bounds checks when the value is updated.
636
- if (
637
- number_input_proto.has_min
638
- and widget_state.value < number_input_proto.min
639
- ):
640
- raise StreamlitValueBelowMinError(
641
- value=widget_state.value, min_value=number_input_proto.min
642
- )
643
-
644
- if (
645
- number_input_proto.has_max
646
- and widget_state.value > number_input_proto.max
647
- ):
648
- raise StreamlitValueAboveMaxError(
649
- value=widget_state.value, max_value=number_input_proto.max
650
- )
651
-
652
- number_input_proto.value = widget_state.value
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 widget_state.value
664
+ return current_value
662
665
 
663
666
  @property
664
667
  def dg(self) -> DeltaGenerator:
@@ -476,18 +476,6 @@ class BidiComponentInvalidIdError(LocalizableStreamlitException):
476
476
  )
477
477
 
478
478
 
479
- class BidiComponentMissingContentError(LocalizableStreamlitException):
480
- """Exception raised when a component is missing required content."""
481
-
482
- def __init__(self, component_name: str) -> None:
483
- super().__init__(
484
- "Component `{component_name}` must have either JavaScript content "
485
- "(`js_content` or `js_url`) or HTML content (`html_content`), or both. "
486
- "Please ensure the component definition includes at least one of these.",
487
- component_name=component_name,
488
- )
489
-
490
-
491
479
  class BidiComponentInvalidCallbackNameError(LocalizableStreamlitException):
492
480
  """Exception raised when a callback with an invalid name is provided."""
493
481
 
@@ -95,10 +95,23 @@ def _create_connection(
95
95
  __create_connection.__qualname__ = (
96
96
  f"{__create_connection.__qualname__}_{ttl_str}_{max_entries}"
97
97
  )
98
+
99
+ scope = connection_class.scope()
100
+ if scope not in ("global", "session"):
101
+ raise StreamlitAPIException(
102
+ f"Connection class {connection_class} has scope '{scope}'. Valid values "
103
+ "are 'global' or 'session'."
104
+ )
105
+
106
+ def on_release_wrapped(connection: ConnectionClass) -> None:
107
+ connection.close()
108
+
98
109
  __create_connection = cache_resource(
99
110
  max_entries=max_entries,
100
111
  show_spinner="Running `st.connection(...)`.",
101
112
  ttl=ttl,
113
+ scope=scope,
114
+ on_release=on_release_wrapped,
102
115
  )(__create_connection)
103
116
 
104
117
  return __create_connection(name, connection_class, **kwargs)
@@ -220,7 +233,8 @@ def connection_factory( # type: ignore
220
233
  - Any connection-specific configuration files.
221
234
 
222
235
  The connection returned from ``st.connection`` is internally cached with
223
- ``st.cache_resource`` and is therefore shared between sessions.
236
+ ``st.cache_resource``. Connection types with a scope of ``"global"`` will be shared
237
+ between sessions.
224
238
 
225
239
  Parameters
226
240
  ----------
@@ -17,7 +17,7 @@ from __future__ import annotations
17
17
  from collections.abc import Iterable, Iterator, Mapping
18
18
  from functools import lru_cache
19
19
  from types import MappingProxyType
20
- from typing import TYPE_CHECKING, Any, Literal, cast
20
+ from typing import TYPE_CHECKING, Any, Literal
21
21
 
22
22
  from streamlit import runtime
23
23
  from streamlit.runtime.context_util import maybe_add_page_path, maybe_trim_page_path
@@ -28,11 +28,18 @@ from streamlit.util import AttributeDictionary
28
28
  if TYPE_CHECKING:
29
29
  from http.cookies import Morsel
30
30
 
31
- from tornado.httputil import HTTPHeaders, HTTPServerRequest
32
- from tornado.web import RequestHandler
31
+ from tornado.httputil import HTTPHeaders
33
32
 
33
+ from streamlit.runtime.session_manager import ClientContext
34
34
 
35
- def _get_request() -> HTTPServerRequest | None:
35
+
36
+ def _get_client_context() -> ClientContext | None:
37
+ """Get the ClientContext for the current session.
38
+
39
+ Returns the client context from the session client if available,
40
+ or None if not available (e.g., no active session or the session
41
+ client doesn't provide a client context).
42
+ """
36
43
  ctx = get_script_run_ctx()
37
44
  if ctx is None:
38
45
  return None
@@ -41,17 +48,7 @@ def _get_request() -> HTTPServerRequest | None:
41
48
  if session_client is None:
42
49
  return None
43
50
 
44
- # We return websocket request only if session_client is an instance of
45
- # BrowserWebSocketHandler (which is True for the Streamlit open-source
46
- # implementation). For any other implementation, we return None.
47
- # We are not using `type_util.is_type` here to avoid circular import.
48
- if (
49
- f"{type(session_client).__module__}.{type(session_client).__qualname__}"
50
- != "streamlit.web.server.browser_websocket_handler.BrowserWebSocketHandler"
51
- ):
52
- return None
53
-
54
- return cast("RequestHandler", session_client).request
51
+ return session_client.client_context
55
52
 
56
53
 
57
54
  @lru_cache
@@ -195,12 +192,12 @@ class ContextProxy:
195
192
  """
196
193
  # We have a docstring in line above as one-liner, to have a correct docstring
197
194
  # in the st.write(st,context) call.
198
- session_client_request = _get_request()
195
+ client_context = _get_client_context()
199
196
 
200
- if session_client_request is None:
197
+ if client_context is None:
201
198
  return StreamlitHeaders({})
202
199
 
203
- return StreamlitHeaders.from_tornado_headers(session_client_request.headers)
200
+ return StreamlitHeaders(client_context.headers)
204
201
 
205
202
  @property
206
203
  @gather_metrics("context.cookies")
@@ -228,13 +225,12 @@ class ContextProxy:
228
225
  """
229
226
  # We have a docstring in line above as one-liner, to have a correct docstring
230
227
  # in the st.write(st,context) call.
231
- session_client_request = _get_request()
228
+ client_context = _get_client_context()
232
229
 
233
- if session_client_request is None:
230
+ if client_context is None:
234
231
  return StreamlitCookies({})
235
232
 
236
- cookies = session_client_request.cookies
237
- return StreamlitCookies.from_tornado_cookies(cookies)
233
+ return StreamlitCookies(client_context.cookies)
238
234
 
239
235
  @property
240
236
  @gather_metrics("context.theme")
@@ -399,11 +395,7 @@ class ContextProxy:
399
395
  This should not be used for security measures because it can easily be
400
396
  spoofed. When a user accesses the app through ``localhost``, the IP
401
397
  address is ``None``. Otherwise, the IP address is determined from the
402
- |remote_ip|_ attribute of the Tornado request object and may be an
403
- IPv4 or IPv6 address.
404
-
405
- .. |remote_ip| replace:: ``remote_ip``
406
- .. _remote_ip: https://www.tornadoweb.org/en/stable/httputil.html#tornado.httputil.HTTPServerRequest.remote_ip
398
+ WebSocket connection and may be an IPv4 or IPv6 address.
407
399
 
408
400
  Example
409
401
  -------
@@ -421,9 +413,9 @@ class ContextProxy:
421
413
  >>> else:
422
414
  >>> st.error("This should not happen.")
423
415
  """
424
- session_client_request = _get_request()
425
- if session_client_request is not None:
426
- remote_ip = session_client_request.remote_ip
416
+ client_context = _get_client_context()
417
+ if client_context is not None:
418
+ remote_ip = client_context.remote_ip
427
419
  if remote_ip in {"::1", "127.0.0.1"}:
428
420
  return None
429
421
  return remote_ip
@@ -16,10 +16,10 @@ from __future__ import annotations
16
16
 
17
17
  from abc import abstractmethod
18
18
  from dataclasses import dataclass
19
- from typing import TYPE_CHECKING, Protocol, cast
19
+ from typing import TYPE_CHECKING, Protocol, cast, runtime_checkable
20
20
 
21
21
  if TYPE_CHECKING:
22
- from collections.abc import Callable
22
+ from collections.abc import Callable, Iterable, Mapping
23
23
 
24
24
  from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
25
25
  from streamlit.runtime.app_session import AppSession
@@ -33,6 +33,31 @@ class SessionClientDisconnectedError(Exception):
33
33
  """Raised by operations on a disconnected SessionClient."""
34
34
 
35
35
 
36
+ @runtime_checkable
37
+ class ClientContext(Protocol):
38
+ """Framework-agnostic context for the client WebSocket connection.
39
+
40
+ This protocol abstracts away framework-specific request types (Tornado/Starlette)
41
+ to provide a consistent interface for accessing headers, cookies, and client info
42
+ from the initial WebSocket handshake.
43
+ """
44
+
45
+ @property
46
+ def headers(self) -> Iterable[tuple[str, str]]:
47
+ """All headers as (name, value) tuples. Headers may be repeated."""
48
+ ...
49
+
50
+ @property
51
+ def cookies(self) -> Mapping[str, str]:
52
+ """Cookies as a name-to-value mapping."""
53
+ ...
54
+
55
+ @property
56
+ def remote_ip(self) -> str | None:
57
+ """The remote IP address of the client, or None if unavailable."""
58
+ ...
59
+
60
+
36
61
  class SessionClient(Protocol):
37
62
  """Interface for sending data to a session's client."""
38
63
 
@@ -45,6 +70,14 @@ class SessionClient(Protocol):
45
70
  """
46
71
  raise NotImplementedError
47
72
 
73
+ @property
74
+ def client_context(self) -> ClientContext | None:
75
+ """The client's connection context (headers, cookies, IP).
76
+
77
+ Returns None if request context information is not available.
78
+ """
79
+ return None
80
+
48
81
 
49
82
  @dataclass
50
83
  class ActiveSessionInfo: