streamlit-nightly 1.44.1.dev20250327__tar.gz → 1.44.2.dev20250403__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 (575) hide show
  1. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/PKG-INFO +1 -1
  2. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/setup.py +1 -1
  3. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/commands/execution_control.py +3 -0
  4. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/commands/page_config.py +1 -1
  5. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/config.py +0 -26
  6. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/write.py +8 -0
  7. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ClientState_pb2.py +2 -2
  8. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ClientState_pb2.pyi +11 -1
  9. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ForwardMsg_pb2.pyi +4 -7
  10. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/app_session.py +5 -4
  11. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/context.py +14 -0
  12. streamlit_nightly-1.44.2.dev20250403/streamlit/runtime/forward_msg_cache.py +101 -0
  13. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/forward_msg_queue.py +41 -23
  14. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/runtime.py +2 -60
  15. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/runtime_util.py +15 -14
  16. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner/script_runner.py +9 -1
  17. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner_utils/script_requests.py +3 -0
  18. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner_utils/script_run_context.py +25 -3
  19. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/session_manager.py +5 -6
  20. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/index.html +1 -1
  21. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/FileDownload.esm.jX-9l2Ep.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/FileDownload.esm.B3kD8CdX.js +1 -1
  22. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/FileHelper.aCeQQwv9.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/FileHelper.CZMZF2jC.js +1 -1
  23. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/FormClearHelper.CWUgHOqb.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/FormClearHelper.BjztopwY.js +1 -1
  24. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/Hooks.z6bpnOa4.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/Hooks.B2w-p718.js +1 -1
  25. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/InputInstructions.CxNXqmaa.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/InputInstructions.CuF13wx9.js +1 -1
  26. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/ProgressBar.DeJx_v03.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/ProgressBar.BbIgSlVa.js +1 -1
  27. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/RenderInPortalIfExists.BzVEnQEP.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/RenderInPortalIfExists.yENMDBLa.js +1 -1
  28. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/Toolbar.Buaxb3gQ.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/Toolbar.DJ7G2mIO.js +1 -1
  29. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/base-input.B02pchZb.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/base-input.DIlOlDo4.js +1 -1
  30. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/checkbox.BNevNWhL.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/checkbox.BQjuWiaH.js +1 -1
  31. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/createSuper.HF1JI-bK.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/createSuper.DsCxV-v8.js +1 -1
  32. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/data-grid-overlay-editor.DHpEpsQ_.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/data-grid-overlay-editor.D4K6HcP0.js +1 -1
  33. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/downloader.B32k91dq.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/downloader.Lq-fJZlW.js +1 -1
  34. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/es6.j4L3xv_m.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/es6.BE-9QZmp.js +2 -2
  35. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/iframeResizer.contentWindow.DQOV--zq.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/iframeResizer.contentWindow.CVN6zezL.js +1 -1
  36. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.BTG2J5Pk.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.0HztFnVa.js +1 -1
  37. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.ChvqDLgw.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.5819-zgt.js +1 -1
  38. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.DaJw5fna.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.B-KH-iJ1.js +1 -1
  39. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.1tdxODWC.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.B0f5Sqj9.js +1 -1
  40. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.CKYXxi_d.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.B1gZ98Ih.js +1 -1
  41. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.DTDyF8nE.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.B2XNA40L.js +1 -1
  42. streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.B7RGQCfs.js +1 -0
  43. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.CTwaWONb.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.BB3TfMGO.js +1 -1
  44. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.DsRxnb2z.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.BDovkxCx.js +1 -1
  45. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.CpDe9l-f.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.BMWHViZF.js +1 -1
  46. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.R8Go3XlF.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.BM_qS2Z6.js +1 -1
  47. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.BT-PT2u0.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.BYWoEwfP.js +1 -1
  48. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.BDIF1v3E.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.Bs_nrSu4.js +1 -1
  49. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.Cq_L2WtW.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.BwOqVS7B.js +1 -1
  50. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.CExICAHy.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.BysxR7v7.js +1 -1
  51. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.CTgHTp02.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.C6uLzsGN.js +1 -1
  52. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.DbqewZ6W.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.CDspsVkR.js +1 -1
  53. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.C1B9TyzK.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.CE-qPTwY.js +1 -1
  54. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.BnYJb__c.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.CFnDv8Ab.js +1 -1
  55. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.CcMFXZBL.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.CQYXOt0H.js +1 -1
  56. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.B2-yUxP6.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.CU_SzKbN.js +1 -1
  57. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.C-GJaT09.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.CWOluRqa.js +1 -1
  58. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.V3D0L00K.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.CbDE21BB.js +1 -1
  59. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.DNURUtUa.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.ChX_XN9v.js +1 -1
  60. streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.Cn3q8ZVn.js +2 -0
  61. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.DBEif7dq.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.CzzEyXiC.js +3 -3
  62. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.B28jf8c_.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.DIxzN4oM.js +51 -51
  63. streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.DSsFpl6V.js +3 -0
  64. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.ClfebD_T.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.DmZP-_fu.js +1 -1
  65. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.Nb8G9oM-.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.Dw1CjpSH.js +1 -1
  66. streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.IydYP9PK.js +1 -0
  67. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.Uid-bSyh.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.TnCoD1oP.js +1 -1
  68. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.BRDvEQpe.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.WW1pXc2g.js +1 -1
  69. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.qkhdJyyt.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.eNGIEtgK.js +7 -7
  70. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.BBHrAwbG.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.m_aVBz2b.js +1 -1
  71. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.BeuGcxG8.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.rPwcP7b8.js +1 -1
  72. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.m0rRkw04.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/index.u-RVYMyk.js +1 -1
  73. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/input.DogdK8Cg.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/input.CVw5KI0x.js +2 -2
  74. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/memory.B_1d0kyG.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/memory.CnrS2dOM.js +1 -1
  75. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/mergeWith.9h0p6sC_.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/mergeWith.DUDC520V.js +1 -1
  76. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/number-overlay-editor.yRe6Yodu.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/number-overlay-editor.Ccw3Yu2p.js +1 -1
  77. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/possibleConstructorReturn.C73_6grg.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/possibleConstructorReturn.wVJHSwqv.js +1 -1
  78. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/sandbox.2u3nOS5d.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/sandbox.CpAztCDM.js +1 -1
  79. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/textarea.DFCEFjUj.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/textarea.CFjEVTUg.js +2 -2
  80. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/timepicker.GuNna1EN.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/timepicker.DMKQZM-V.js +1 -1
  81. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/toConsumableArray.DARzcvE5.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/toConsumableArray.KVlxKIgo.js +1 -1
  82. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/uniqueId.fceb1ayN.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/uniqueId.kOCufBPt.js +1 -1
  83. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/useBasicWidgetState.D6255-xX.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/useBasicWidgetState.Bs_D3hOD.js +1 -1
  84. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/useOnInputChange.BjnOKne4.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/useOnInputChange.BH-JyYhR.js +1 -1
  85. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/withFullScreenWrapper.B7h9p1kI.js → streamlit_nightly-1.44.2.dev20250403/streamlit/static/static/js/withFullScreenWrapper.vQYihw6n.js +1 -1
  86. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/routes.py +1 -59
  87. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/server.py +7 -8
  88. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit_nightly.egg-info/PKG-INFO +1 -1
  89. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit_nightly.egg-info/SOURCES.txt +65 -65
  90. streamlit_nightly-1.44.1.dev20250327/streamlit/runtime/forward_msg_cache.py +0 -296
  91. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.BUz0sS-V.js +0 -1
  92. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.CDMGlkYx.js +0 -3
  93. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.CPMy5pwd.js +0 -1
  94. streamlit_nightly-1.44.1.dev20250327/streamlit/static/static/js/index.DfvKnm4Q.js +0 -2
  95. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/MANIFEST.in +0 -0
  96. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/bin/streamlit.cmd +0 -0
  97. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/setup.cfg +0 -0
  98. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/__init__.py +0 -0
  99. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/__main__.py +0 -0
  100. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/auth_util.py +0 -0
  101. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/cli_util.py +0 -0
  102. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/column_config.py +0 -0
  103. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/commands/__init__.py +0 -0
  104. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/commands/echo.py +0 -0
  105. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/commands/experimental_query_params.py +0 -0
  106. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/commands/logo.py +0 -0
  107. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/commands/navigation.py +0 -0
  108. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/__init__.py +0 -0
  109. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/lib/__init__.py +0 -0
  110. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/lib/local_component_registry.py +0 -0
  111. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/types/__init__.py +0 -0
  112. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/types/base_component_registry.py +0 -0
  113. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/types/base_custom_component.py +0 -0
  114. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/v1/__init__.py +0 -0
  115. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/v1/component_arrow.py +0 -0
  116. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/v1/component_registry.py +0 -0
  117. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/v1/components.py +0 -0
  118. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/components/v1/custom_component.py +0 -0
  119. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/config_option.py +0 -0
  120. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/config_util.py +0 -0
  121. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/connections/__init__.py +0 -0
  122. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/connections/base_connection.py +0 -0
  123. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/connections/snowflake_connection.py +0 -0
  124. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/connections/snowpark_connection.py +0 -0
  125. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/connections/sql_connection.py +0 -0
  126. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/connections/util.py +0 -0
  127. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/cursor.py +0 -0
  128. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/dataframe_util.py +0 -0
  129. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/delta_generator.py +0 -0
  130. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/delta_generator_singletons.py +0 -0
  131. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/deprecation_util.py +0 -0
  132. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/development.py +0 -0
  133. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/__init__.py +0 -0
  134. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/alert.py +0 -0
  135. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/arrow.py +0 -0
  136. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/balloons.py +0 -0
  137. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/bokeh_chart.py +0 -0
  138. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/code.py +0 -0
  139. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/deck_gl_json_chart.py +0 -0
  140. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/dialog_decorator.py +0 -0
  141. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/doc_string.py +0 -0
  142. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/empty.py +0 -0
  143. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/exception.py +0 -0
  144. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/form.py +0 -0
  145. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/graphviz_chart.py +0 -0
  146. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/heading.py +0 -0
  147. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/html.py +0 -0
  148. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/iframe.py +0 -0
  149. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/image.py +0 -0
  150. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/json.py +0 -0
  151. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/layouts.py +0 -0
  152. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/__init__.py +0 -0
  153. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/built_in_chart_utils.py +0 -0
  154. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/color_util.py +0 -0
  155. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/column_config_utils.py +0 -0
  156. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/column_types.py +0 -0
  157. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/dialog.py +0 -0
  158. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/dicttools.py +0 -0
  159. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/event_utils.py +0 -0
  160. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/file_uploader_utils.py +0 -0
  161. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/form_utils.py +0 -0
  162. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/image_utils.py +0 -0
  163. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/js_number.py +0 -0
  164. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/mutable_status_container.py +0 -0
  165. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/options_selector_utils.py +0 -0
  166. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/pandas_styler_utils.py +0 -0
  167. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/policies.py +0 -0
  168. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/streamlit_plotly_theme.py +0 -0
  169. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/subtitle_utils.py +0 -0
  170. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/lib/utils.py +0 -0
  171. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/map.py +0 -0
  172. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/markdown.py +0 -0
  173. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/media.py +0 -0
  174. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/metric.py +0 -0
  175. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/plotly_chart.py +0 -0
  176. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/progress.py +0 -0
  177. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/pyplot.py +0 -0
  178. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/snow.py +0 -0
  179. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/spinner.py +0 -0
  180. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/text.py +0 -0
  181. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/toast.py +0 -0
  182. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/vega_charts.py +0 -0
  183. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/__init__.py +0 -0
  184. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/audio_input.py +0 -0
  185. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/button.py +0 -0
  186. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/button_group.py +0 -0
  187. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/camera_input.py +0 -0
  188. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/chat.py +0 -0
  189. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/checkbox.py +0 -0
  190. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/color_picker.py +0 -0
  191. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/data_editor.py +0 -0
  192. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/file_uploader.py +0 -0
  193. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/multiselect.py +0 -0
  194. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/number_input.py +0 -0
  195. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/radio.py +0 -0
  196. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/select_slider.py +0 -0
  197. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/selectbox.py +0 -0
  198. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/slider.py +0 -0
  199. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/text_widgets.py +0 -0
  200. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/elements/widgets/time_widgets.py +0 -0
  201. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/emojis.py +0 -0
  202. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/env_util.py +0 -0
  203. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/error_util.py +0 -0
  204. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/errors.py +0 -0
  205. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/external/__init__.py +0 -0
  206. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/external/langchain/__init__.py +0 -0
  207. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/external/langchain/streamlit_callback_handler.py +0 -0
  208. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/file_util.py +0 -0
  209. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/git_util.py +0 -0
  210. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/hello/__init__.py +0 -0
  211. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/hello/animation_demo.py +0 -0
  212. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/hello/dataframe_demo.py +0 -0
  213. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/hello/hello.py +0 -0
  214. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/hello/mapping_demo.py +0 -0
  215. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/hello/plotting_demo.py +0 -0
  216. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/hello/streamlit_app.py +0 -0
  217. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/hello/utils.py +0 -0
  218. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/logger.py +0 -0
  219. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/material_icon_names.py +0 -0
  220. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/navigation/__init__.py +0 -0
  221. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/navigation/page.py +0 -0
  222. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/net_util.py +0 -0
  223. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/platform.py +0 -0
  224. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Alert_pb2.py +0 -0
  225. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Alert_pb2.pyi +0 -0
  226. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/AppPage_pb2.py +0 -0
  227. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/AppPage_pb2.pyi +0 -0
  228. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ArrowNamedDataSet_pb2.py +0 -0
  229. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ArrowNamedDataSet_pb2.pyi +0 -0
  230. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ArrowVegaLiteChart_pb2.py +0 -0
  231. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ArrowVegaLiteChart_pb2.pyi +0 -0
  232. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Arrow_pb2.py +0 -0
  233. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Arrow_pb2.pyi +0 -0
  234. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/AudioInput_pb2.py +0 -0
  235. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/AudioInput_pb2.pyi +0 -0
  236. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Audio_pb2.py +0 -0
  237. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Audio_pb2.pyi +0 -0
  238. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/AuthRedirect_pb2.py +0 -0
  239. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/AuthRedirect_pb2.pyi +0 -0
  240. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/AutoRerun_pb2.py +0 -0
  241. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/AutoRerun_pb2.pyi +0 -0
  242. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/BackMsg_pb2.py +0 -0
  243. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/BackMsg_pb2.pyi +0 -0
  244. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Balloons_pb2.py +0 -0
  245. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Balloons_pb2.pyi +0 -0
  246. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Block_pb2.py +0 -0
  247. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Block_pb2.pyi +0 -0
  248. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/BokehChart_pb2.py +0 -0
  249. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/BokehChart_pb2.pyi +0 -0
  250. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ButtonGroup_pb2.py +0 -0
  251. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ButtonGroup_pb2.pyi +0 -0
  252. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Button_pb2.py +0 -0
  253. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Button_pb2.pyi +0 -0
  254. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/CameraInput_pb2.py +0 -0
  255. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/CameraInput_pb2.pyi +0 -0
  256. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ChatInput_pb2.py +0 -0
  257. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ChatInput_pb2.pyi +0 -0
  258. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Checkbox_pb2.py +0 -0
  259. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Checkbox_pb2.pyi +0 -0
  260. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Code_pb2.py +0 -0
  261. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Code_pb2.pyi +0 -0
  262. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ColorPicker_pb2.py +0 -0
  263. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ColorPicker_pb2.pyi +0 -0
  264. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Common_pb2.py +0 -0
  265. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Common_pb2.pyi +0 -0
  266. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Components_pb2.py +0 -0
  267. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Components_pb2.pyi +0 -0
  268. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DataFrame_pb2.py +0 -0
  269. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DataFrame_pb2.pyi +0 -0
  270. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DateInput_pb2.py +0 -0
  271. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DateInput_pb2.pyi +0 -0
  272. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DeckGlJsonChart_pb2.py +0 -0
  273. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DeckGlJsonChart_pb2.pyi +0 -0
  274. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Delta_pb2.py +0 -0
  275. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Delta_pb2.pyi +0 -0
  276. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DocString_pb2.py +0 -0
  277. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DocString_pb2.pyi +0 -0
  278. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DownloadButton_pb2.py +0 -0
  279. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/DownloadButton_pb2.pyi +0 -0
  280. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Element_pb2.py +0 -0
  281. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Element_pb2.pyi +0 -0
  282. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Empty_pb2.py +0 -0
  283. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Empty_pb2.pyi +0 -0
  284. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Exception_pb2.py +0 -0
  285. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Exception_pb2.pyi +0 -0
  286. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Favicon_pb2.py +0 -0
  287. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Favicon_pb2.pyi +0 -0
  288. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/FileUploader_pb2.py +0 -0
  289. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/FileUploader_pb2.pyi +0 -0
  290. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ForwardMsg_pb2.py +0 -0
  291. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/GitInfo_pb2.py +0 -0
  292. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/GitInfo_pb2.pyi +0 -0
  293. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/GraphVizChart_pb2.py +0 -0
  294. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/GraphVizChart_pb2.pyi +0 -0
  295. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Heading_pb2.py +0 -0
  296. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Heading_pb2.pyi +0 -0
  297. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Html_pb2.py +0 -0
  298. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Html_pb2.pyi +0 -0
  299. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/IFrame_pb2.py +0 -0
  300. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/IFrame_pb2.pyi +0 -0
  301. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Image_pb2.py +0 -0
  302. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Image_pb2.pyi +0 -0
  303. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Json_pb2.py +0 -0
  304. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Json_pb2.pyi +0 -0
  305. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/LabelVisibilityMessage_pb2.py +0 -0
  306. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/LabelVisibilityMessage_pb2.pyi +0 -0
  307. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/LinkButton_pb2.py +0 -0
  308. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/LinkButton_pb2.pyi +0 -0
  309. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Logo_pb2.py +0 -0
  310. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Logo_pb2.pyi +0 -0
  311. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Markdown_pb2.py +0 -0
  312. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Markdown_pb2.pyi +0 -0
  313. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Metric_pb2.py +0 -0
  314. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Metric_pb2.pyi +0 -0
  315. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/MetricsEvent_pb2.py +0 -0
  316. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/MetricsEvent_pb2.pyi +0 -0
  317. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/MultiSelect_pb2.py +0 -0
  318. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/MultiSelect_pb2.pyi +0 -0
  319. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/NamedDataSet_pb2.py +0 -0
  320. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/NamedDataSet_pb2.pyi +0 -0
  321. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Navigation_pb2.py +0 -0
  322. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Navigation_pb2.pyi +0 -0
  323. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/NewSession_pb2.py +0 -0
  324. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/NewSession_pb2.pyi +0 -0
  325. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/NumberInput_pb2.py +0 -0
  326. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/NumberInput_pb2.pyi +0 -0
  327. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageConfig_pb2.py +0 -0
  328. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageConfig_pb2.pyi +0 -0
  329. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageInfo_pb2.py +0 -0
  330. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageInfo_pb2.pyi +0 -0
  331. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageLink_pb2.py +0 -0
  332. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageLink_pb2.pyi +0 -0
  333. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageNotFound_pb2.py +0 -0
  334. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageNotFound_pb2.pyi +0 -0
  335. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageProfile_pb2.py +0 -0
  336. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PageProfile_pb2.pyi +0 -0
  337. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PagesChanged_pb2.py +0 -0
  338. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PagesChanged_pb2.pyi +0 -0
  339. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ParentMessage_pb2.py +0 -0
  340. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/ParentMessage_pb2.pyi +0 -0
  341. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PlotlyChart_pb2.py +0 -0
  342. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/PlotlyChart_pb2.pyi +0 -0
  343. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Progress_pb2.py +0 -0
  344. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Progress_pb2.pyi +0 -0
  345. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Radio_pb2.py +0 -0
  346. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Radio_pb2.pyi +0 -0
  347. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/RootContainer_pb2.py +0 -0
  348. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/RootContainer_pb2.pyi +0 -0
  349. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Selectbox_pb2.py +0 -0
  350. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Selectbox_pb2.pyi +0 -0
  351. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/SessionEvent_pb2.py +0 -0
  352. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/SessionEvent_pb2.pyi +0 -0
  353. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/SessionStatus_pb2.py +0 -0
  354. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/SessionStatus_pb2.pyi +0 -0
  355. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Skeleton_pb2.py +0 -0
  356. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Skeleton_pb2.pyi +0 -0
  357. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Slider_pb2.py +0 -0
  358. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Slider_pb2.pyi +0 -0
  359. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Snow_pb2.py +0 -0
  360. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Snow_pb2.pyi +0 -0
  361. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Spinner_pb2.py +0 -0
  362. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Spinner_pb2.pyi +0 -0
  363. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/TextArea_pb2.py +0 -0
  364. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/TextArea_pb2.pyi +0 -0
  365. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/TextInput_pb2.py +0 -0
  366. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/TextInput_pb2.pyi +0 -0
  367. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Text_pb2.py +0 -0
  368. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Text_pb2.pyi +0 -0
  369. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/TimeInput_pb2.py +0 -0
  370. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/TimeInput_pb2.pyi +0 -0
  371. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Toast_pb2.py +0 -0
  372. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Toast_pb2.pyi +0 -0
  373. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/VegaLiteChart_pb2.py +0 -0
  374. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/VegaLiteChart_pb2.pyi +0 -0
  375. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Video_pb2.py +0 -0
  376. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/Video_pb2.pyi +0 -0
  377. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/WidgetStates_pb2.py +0 -0
  378. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/WidgetStates_pb2.pyi +0 -0
  379. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/__init__.py +0 -0
  380. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/openmetrics_data_model_pb2.py +0 -0
  381. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/proto/openmetrics_data_model_pb2.pyi +0 -0
  382. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/py.typed +0 -0
  383. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/__init__.py +0 -0
  384. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/__init__.py +0 -0
  385. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/cache_data_api.py +0 -0
  386. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/cache_errors.py +0 -0
  387. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/cache_resource_api.py +0 -0
  388. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/cache_type.py +0 -0
  389. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/cache_utils.py +0 -0
  390. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/cached_message_replay.py +0 -0
  391. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/hashing.py +0 -0
  392. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/legacy_cache_api.py +0 -0
  393. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/storage/__init__.py +0 -0
  394. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/storage/cache_storage_protocol.py +0 -0
  395. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/storage/dummy_cache_storage.py +0 -0
  396. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/storage/in_memory_cache_storage_wrapper.py +0 -0
  397. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/caching/storage/local_disk_cache_storage.py +0 -0
  398. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/connection_factory.py +0 -0
  399. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/credentials.py +0 -0
  400. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/fragment.py +0 -0
  401. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/media_file_manager.py +0 -0
  402. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/media_file_storage.py +0 -0
  403. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/memory_media_file_storage.py +0 -0
  404. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/memory_session_storage.py +0 -0
  405. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/memory_uploaded_file_manager.py +0 -0
  406. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/metrics_util.py +0 -0
  407. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/pages_manager.py +0 -0
  408. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/script_data.py +0 -0
  409. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner/__init__.py +0 -0
  410. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner/exec_code.py +0 -0
  411. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner/magic.py +0 -0
  412. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner/magic_funcs.py +0 -0
  413. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner/script_cache.py +0 -0
  414. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner_utils/__init__.py +0 -0
  415. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/scriptrunner_utils/exceptions.py +0 -0
  416. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/secrets.py +0 -0
  417. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/state/__init__.py +0 -0
  418. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/state/common.py +0 -0
  419. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/state/query_params.py +0 -0
  420. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/state/query_params_proxy.py +0 -0
  421. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/state/safe_session_state.py +0 -0
  422. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/state/session_state.py +0 -0
  423. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/state/session_state_proxy.py +0 -0
  424. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/state/widgets.py +0 -0
  425. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/stats.py +0 -0
  426. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/uploaded_file_manager.py +0 -0
  427. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/runtime/websocket_session_manager.py +0 -0
  428. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/source_util.py +0 -0
  429. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/favicon.png +0 -0
  430. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/css/index.C5t3M85E.css +0 -0
  431. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/css/index.DKr_zoDj.css +0 -0
  432. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/css/index.DzuxGC_t.css +0 -0
  433. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/js/UploadFileInfo.C-jY39rj.js +0 -0
  434. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/js/createDownloadLinkElement.DZMwyjvU.js +0 -0
  435. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/js/index.t--hEgTQ.js +0 -0
  436. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/js/inputUtils.CQWz5UKz.js +0 -0
  437. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/js/sprintf.D7DtBTRn.js +0 -0
  438. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/js/threshold.DjX0wlsa.js +0 -0
  439. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/js/timer.CAwTRJ_g.js +0 -0
  440. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/js/value.CgPGBV_l.js +0 -0
  441. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_AMS-Regular.BQhdFMY1.woff2 +0 -0
  442. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_AMS-Regular.DMm9YOAa.woff +0 -0
  443. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_AMS-Regular.DRggAlZN.ttf +0 -0
  444. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf +0 -0
  445. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.BEiXGLvX.woff +0 -0
  446. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2 +0 -0
  447. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.CTRA-rTL.woff +0 -0
  448. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2 +0 -0
  449. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.wX97UBjC.ttf +0 -0
  450. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Fraktur-Bold.BdnERNNW.ttf +0 -0
  451. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Fraktur-Bold.BsDP51OF.woff +0 -0
  452. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Fraktur-Bold.CL6g_b3V.woff2 +0 -0
  453. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Fraktur-Regular.CB_wures.ttf +0 -0
  454. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Fraktur-Regular.CTYiF6lA.woff2 +0 -0
  455. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Fraktur-Regular.Dxdc4cR9.woff +0 -0
  456. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-Bold.Cx986IdX.woff2 +0 -0
  457. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-Bold.Jm3AIy58.woff +0 -0
  458. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-Bold.waoOVXN0.ttf +0 -0
  459. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2 +0 -0
  460. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-BoldItalic.DzxPMmG6.ttf +0 -0
  461. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-BoldItalic.SpSLRI95.woff +0 -0
  462. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-Italic.3WenGoN9.ttf +0 -0
  463. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-Italic.BMLOBm91.woff +0 -0
  464. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-Italic.NWA7e6Wa.woff2 +0 -0
  465. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-Regular.B22Nviop.woff2 +0 -0
  466. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-Regular.Dr94JaBh.woff +0 -0
  467. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Main-Regular.ypZvNtVU.ttf +0 -0
  468. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Math-BoldItalic.B3XSjfu4.ttf +0 -0
  469. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2 +0 -0
  470. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Math-BoldItalic.iY-2wyZ7.woff +0 -0
  471. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Math-Italic.DA0__PXp.woff +0 -0
  472. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Math-Italic.flOr_0UB.ttf +0 -0
  473. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Math-Italic.t53AETM-.woff2 +0 -0
  474. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_SansSerif-Bold.CFMepnvq.ttf +0 -0
  475. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_SansSerif-Bold.D1sUS0GD.woff2 +0 -0
  476. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_SansSerif-Bold.DbIhKOiC.woff +0 -0
  477. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_SansSerif-Italic.C3H0VqGB.woff2 +0 -0
  478. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_SansSerif-Italic.DN2j7dab.woff +0 -0
  479. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf +0 -0
  480. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_SansSerif-Regular.BNo7hRIc.ttf +0 -0
  481. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_SansSerif-Regular.CS6fqUqJ.woff +0 -0
  482. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2 +0 -0
  483. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Script-Regular.C5JkGWo-.ttf +0 -0
  484. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Script-Regular.D3wIWfF6.woff2 +0 -0
  485. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Script-Regular.D5yQViql.woff +0 -0
  486. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size1-Regular.C195tn64.woff +0 -0
  487. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size1-Regular.Dbsnue_I.ttf +0 -0
  488. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size1-Regular.mCD8mA8B.woff2 +0 -0
  489. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size2-Regular.B7gKUWhC.ttf +0 -0
  490. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size2-Regular.Dy4dx90m.woff2 +0 -0
  491. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size2-Regular.oD1tc_U0.woff +0 -0
  492. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size3-Regular.CTq5MqoE.woff +0 -0
  493. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size3-Regular.DgpXs0kz.ttf +0 -0
  494. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size4-Regular.BF-4gkZK.woff +0 -0
  495. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size4-Regular.DWFBv043.ttf +0 -0
  496. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Size4-Regular.Dl5lxZxV.woff2 +0 -0
  497. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Typewriter-Regular.C0xS9mPB.woff +0 -0
  498. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Typewriter-Regular.CO6r4hn1.woff2 +0 -0
  499. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf +0 -0
  500. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/MaterialSymbols-Rounded.C21bROXx.woff2 +0 -0
  501. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceCodePro-Bold.CFEfr7-q.woff2 +0 -0
  502. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceCodePro-BoldItalic.C-LkFXxa.woff2 +0 -0
  503. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceCodePro-Italic.CxFOx7N-.woff2 +0 -0
  504. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceCodePro-Regular.CBOlD63d.woff2 +0 -0
  505. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceCodePro-SemiBold.CFHwW3Wd.woff2 +0 -0
  506. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceCodePro-SemiBoldItalic.Cg2yRu82.woff2 +0 -0
  507. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSansPro-Bold.-6c9oR8J.woff2 +0 -0
  508. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSansPro-BoldItalic.DmM_grLY.woff2 +0 -0
  509. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSansPro-Italic.I1ipWe7Q.woff2 +0 -0
  510. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSansPro-Regular.DZLUzqI4.woff2 +0 -0
  511. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSansPro-SemiBold.sKQIyTMz.woff2 +0 -0
  512. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSansPro-SemiBoldItalic.C0wP0icr.woff2 +0 -0
  513. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSerifPro-Bold.8TUnKj4x.woff2 +0 -0
  514. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSerifPro-BoldItalic.CBVO7Ve7.woff2 +0 -0
  515. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSerifPro-Italic.DkFgL2HZ.woff2 +0 -0
  516. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSerifPro-Regular.CNJNET2S.woff2 +0 -0
  517. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSerifPro-SemiBold.CHyh9GC5.woff2 +0 -0
  518. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/SourceSerifPro-SemiBoldItalic.CBtz8sWN.woff2 +0 -0
  519. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/balloon-0.Czj7AKwE.png +0 -0
  520. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/balloon-1.CNvFFrND.png +0 -0
  521. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/balloon-2.DTvC6B1t.png +0 -0
  522. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/balloon-3.CgSk4tbL.png +0 -0
  523. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/balloon-4.mbtFrzxf.png +0 -0
  524. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/balloon-5.CSwkUfRA.png +0 -0
  525. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/fireworks.B4d-_KUe.gif +0 -0
  526. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/flake-0.DgWaVvm5.png +0 -0
  527. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/flake-1.B2r5AHMK.png +0 -0
  528. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/flake-2.BnWSExPC.png +0 -0
  529. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/static/static/media/snowflake.JU2jBHL8.svg +0 -0
  530. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/string_util.py +0 -0
  531. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/temporary_directory.py +0 -0
  532. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/testing/__init__.py +0 -0
  533. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/testing/v1/__init__.py +0 -0
  534. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/testing/v1/app_test.py +0 -0
  535. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/testing/v1/element_tree.py +0 -0
  536. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/testing/v1/local_script_runner.py +0 -0
  537. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/testing/v1/util.py +0 -0
  538. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/time_util.py +0 -0
  539. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/type_util.py +0 -0
  540. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/url_util.py +0 -0
  541. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/user_info.py +0 -0
  542. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/util.py +0 -0
  543. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/vendor/__init__.py +0 -0
  544. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/vendor/pympler/__init__.py +0 -0
  545. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/vendor/pympler/asizeof.py +0 -0
  546. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/version.py +0 -0
  547. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/watcher/__init__.py +0 -0
  548. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/watcher/event_based_path_watcher.py +0 -0
  549. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/watcher/folder_black_list.py +0 -0
  550. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/watcher/local_sources_watcher.py +0 -0
  551. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/watcher/path_watcher.py +0 -0
  552. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/watcher/polling_path_watcher.py +0 -0
  553. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/watcher/util.py +0 -0
  554. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/__init__.py +0 -0
  555. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/bootstrap.py +0 -0
  556. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/cache_storage_manager_config.py +0 -0
  557. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/cli.py +0 -0
  558. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/__init__.py +0 -0
  559. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/app_static_file_handler.py +0 -0
  560. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/authlib_tornado_integration.py +0 -0
  561. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/browser_websocket_handler.py +0 -0
  562. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/component_request_handler.py +0 -0
  563. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/media_file_handler.py +0 -0
  564. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/oauth_authlib_routes.py +0 -0
  565. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/oidc_mixin.py +0 -0
  566. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/server_util.py +0 -0
  567. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/stats_request_handler.py +0 -0
  568. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/upload_file_request_handler.py +0 -0
  569. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit/web/server/websocket_headers.py +0 -0
  570. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit_nightly.egg-info/dependency_links.txt +0 -0
  571. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit_nightly.egg-info/entry_points.txt +0 -0
  572. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit_nightly.egg-info/not-zip-safe +0 -0
  573. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit_nightly.egg-info/requires.txt +0 -0
  574. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/streamlit_nightly.egg-info/top_level.txt +0 -0
  575. {streamlit_nightly-1.44.1.dev20250327 → streamlit_nightly-1.44.2.dev20250403}/tests/testutil.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: streamlit-nightly
3
- Version: 1.44.1.dev20250327
3
+ Version: 1.44.2.dev20250403
4
4
  Summary: A faster way to build and share data apps
5
5
  Home-page: https://streamlit.io
6
6
  Author: Snowflake Inc
@@ -21,7 +21,7 @@ from setuptools.command.install import install
21
21
 
22
22
  THIS_DIRECTORY = Path(__file__).parent
23
23
 
24
- VERSION = "1.44.1.dev20250327" # PEP-440
24
+ VERSION = "1.44.2.dev20250403" # PEP-440
25
25
 
26
26
  # IMPORTANT: We should try very hard *not* to add dependencies to Streamlit.
27
27
  # And if you do add one, make the required version as general as possible:
@@ -140,6 +140,7 @@ def rerun( # type: ignore[misc]
140
140
  if ctx and ctx.script_requests:
141
141
  query_string = ctx.query_string
142
142
  page_script_hash = ctx.page_script_hash
143
+ cached_message_hashes = ctx.cached_message_hashes
143
144
 
144
145
  ctx.script_requests.request_rerun(
145
146
  RerunData(
@@ -147,6 +148,7 @@ def rerun( # type: ignore[misc]
147
148
  page_script_hash=page_script_hash,
148
149
  fragment_id_queue=_new_fragment_id_queue(ctx, scope),
149
150
  is_fragment_scoped_rerun=scope == "fragment",
151
+ cached_message_hashes=cached_message_hashes,
150
152
  )
151
153
  )
152
154
  # Force a yield point so the runner can do the rerun
@@ -232,6 +234,7 @@ def switch_page(page: str | Path | StreamlitPage) -> NoReturn: # type: ignore[m
232
234
  RerunData(
233
235
  query_string=ctx.query_string,
234
236
  page_script_hash=page_script_hash,
237
+ cached_message_hashes=ctx.cached_message_hashes,
235
238
  )
236
239
  )
237
240
  # Force a yield point so the runner can do the rerun
@@ -102,7 +102,7 @@ def _get_favicon_string(page_icon: PageIcon) -> str:
102
102
 
103
103
  # If page_icon is an emoji, return it as is.
104
104
  if isinstance(page_icon, str) and is_emoji(page_icon):
105
- return page_icon
105
+ return f"emoji:{page_icon}"
106
106
 
107
107
  if isinstance(page_icon, str) and page_icon.startswith(":material"):
108
108
  return validate_material_icon(page_icon)
@@ -444,32 +444,6 @@ _create_option(
444
444
  type_=int,
445
445
  )
446
446
 
447
- _create_option(
448
- "global.storeCachedForwardMessagesInMemory",
449
- description="""
450
- If True, store cached ForwardMsgs in backend memory. This is an
451
- internal flag to validate a potential removal of the in-memory
452
- forward message cache.
453
- """,
454
- visibility="hidden",
455
- default_val=True,
456
- type_=bool,
457
- )
458
-
459
- _create_option(
460
- "global.includeFragmentRunsInForwardMessageCacheCount",
461
- description="""
462
- If True, the server will include fragment runs in the count for the
463
- forward message cache. The implication is that apps with fragments may
464
- see messages being removed from the cache faster. This aligns the server
465
- count with the frontend count. This is a temporary fix while we assess the
466
- design of the cache.
467
- """,
468
- visibility="hidden",
469
- default_val=False,
470
- type_=bool,
471
- )
472
-
473
447
 
474
448
  # Config Section: Logger #
475
449
  _create_section("logger", "Settings to customize Streamlit log messages.")
@@ -407,6 +407,14 @@ class WriteMixin:
407
407
  kwargs,
408
408
  )
409
409
 
410
+ if len(args) == 1 and isinstance(args[0], str):
411
+ # Optimization: If there is only one arg, and it's a string,
412
+ # we can just call markdown directly and skip the buffer logic.
413
+ # This also prevents unnecessary usage of `st.empty()`.
414
+ # This covers > 80% of all `st.write` uses.
415
+ self.dg.markdown(args[0], unsafe_allow_html=unsafe_allow_html)
416
+ return
417
+
410
418
  string_buffer: list[str] = []
411
419
 
412
420
  # This bans some valid cases like: e = st.empty(); e.write("a", "b").
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
15
15
  from streamlit.proto import WidgetStates_pb2 as streamlit_dot_proto_dot_WidgetStates__pb2
16
16
 
17
17
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!streamlit/proto/ClientState.proto\x1a\"streamlit/proto/WidgetStates.proto\"\x9d\x01\n\x0b\x43ontextInfo\x12\x15\n\x08timezone\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0ftimezone_offset\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x13\n\x06locale\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03url\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x0b\n\t_timezoneB\x12\n\x10_timezone_offsetB\t\n\x07_localeB\x06\n\x04_url\"\xc6\x01\n\x0b\x43lientState\x12\x14\n\x0cquery_string\x18\x01 \x01(\t\x12$\n\rwidget_states\x18\x02 \x01(\x0b\x32\r.WidgetStates\x12\x18\n\x10page_script_hash\x18\x03 \x01(\t\x12\x11\n\tpage_name\x18\x04 \x01(\t\x12\x13\n\x0b\x66ragment_id\x18\x05 \x01(\t\x12\x15\n\ris_auto_rerun\x18\x06 \x01(\x08\x12\"\n\x0c\x63ontext_info\x18\x08 \x01(\x0b\x32\x0c.ContextInfoB0\n\x1c\x63om.snowflake.apps.streamlitB\x10\x43lientStateProtob\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!streamlit/proto/ClientState.proto\x1a\"streamlit/proto/WidgetStates.proto\"\x9d\x01\n\x0b\x43ontextInfo\x12\x15\n\x08timezone\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0ftimezone_offset\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x13\n\x06locale\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03url\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x0b\n\t_timezoneB\x12\n\x10_timezone_offsetB\t\n\x07_localeB\x06\n\x04_url\"\xe5\x01\n\x0b\x43lientState\x12\x14\n\x0cquery_string\x18\x01 \x01(\t\x12$\n\rwidget_states\x18\x02 \x01(\x0b\x32\r.WidgetStates\x12\x18\n\x10page_script_hash\x18\x03 \x01(\t\x12\x11\n\tpage_name\x18\x04 \x01(\t\x12\x13\n\x0b\x66ragment_id\x18\x05 \x01(\t\x12\x15\n\ris_auto_rerun\x18\x06 \x01(\x08\x12\x1d\n\x15\x63\x61\x63hed_message_hashes\x18\x07 \x03(\t\x12\"\n\x0c\x63ontext_info\x18\x08 \x01(\x0b\x32\x0c.ContextInfoB0\n\x1c\x63om.snowflake.apps.streamlitB\x10\x43lientStateProtob\x06proto3')
19
19
 
20
20
  _globals = globals()
21
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -26,5 +26,5 @@ if not _descriptor._USE_C_DESCRIPTORS:
26
26
  _globals['_CONTEXTINFO']._serialized_start=74
27
27
  _globals['_CONTEXTINFO']._serialized_end=231
28
28
  _globals['_CLIENTSTATE']._serialized_start=234
29
- _globals['_CLIENTSTATE']._serialized_end=432
29
+ _globals['_CLIENTSTATE']._serialized_end=463
30
30
  # @@protoc_insertion_point(module_scope)
@@ -18,7 +18,9 @@ limitations under the License.
18
18
  """
19
19
 
20
20
  import builtins
21
+ import collections.abc
21
22
  import google.protobuf.descriptor
23
+ import google.protobuf.internal.containers
22
24
  import google.protobuf.message
23
25
  import streamlit.proto.WidgetStates_pb2
24
26
  import typing
@@ -68,6 +70,7 @@ class ClientState(google.protobuf.message.Message):
68
70
  PAGE_NAME_FIELD_NUMBER: builtins.int
69
71
  FRAGMENT_ID_FIELD_NUMBER: builtins.int
70
72
  IS_AUTO_RERUN_FIELD_NUMBER: builtins.int
73
+ CACHED_MESSAGE_HASHES_FIELD_NUMBER: builtins.int
71
74
  CONTEXT_INFO_FIELD_NUMBER: builtins.int
72
75
  query_string: builtins.str
73
76
  page_script_hash: builtins.str
@@ -76,6 +79,12 @@ class ClientState(google.protobuf.message.Message):
76
79
  is_auto_rerun: builtins.bool
77
80
  @property
78
81
  def widget_states(self) -> streamlit.proto.WidgetStates_pb2.WidgetStates: ...
82
+ @property
83
+ def cached_message_hashes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
84
+ """List of hashes of messages that are currently cached in
85
+ the frontend forward message cache.
86
+ """
87
+
79
88
  @property
80
89
  def context_info(self) -> global___ContextInfo: ...
81
90
  def __init__(
@@ -87,9 +96,10 @@ class ClientState(google.protobuf.message.Message):
87
96
  page_name: builtins.str = ...,
88
97
  fragment_id: builtins.str = ...,
89
98
  is_auto_rerun: builtins.bool = ...,
99
+ cached_message_hashes: collections.abc.Iterable[builtins.str] | None = ...,
90
100
  context_info: global___ContextInfo | None = ...,
91
101
  ) -> None: ...
92
102
  def HasField(self, field_name: typing.Literal["context_info", b"context_info", "widget_states", b"widget_states"]) -> builtins.bool: ...
93
- def ClearField(self, field_name: typing.Literal["context_info", b"context_info", "fragment_id", b"fragment_id", "is_auto_rerun", b"is_auto_rerun", "page_name", b"page_name", "page_script_hash", b"page_script_hash", "query_string", b"query_string", "widget_states", b"widget_states"]) -> None: ...
103
+ def ClearField(self, field_name: typing.Literal["cached_message_hashes", b"cached_message_hashes", "context_info", b"context_info", "fragment_id", b"fragment_id", "is_auto_rerun", b"is_auto_rerun", "page_name", b"page_name", "page_script_hash", b"page_script_hash", "query_string", b"query_string", "widget_states", b"widget_states"]) -> None: ...
94
104
 
95
105
  global___ClientState = ClientState
@@ -107,10 +107,9 @@ class ForwardMsg(google.protobuf.message.Message):
107
107
  """A hash that uniquely identifies this ForwardMsg, for caching."""
108
108
  script_finished: global___ForwardMsg.ScriptFinishedStatus.ValueType
109
109
  ref_hash: builtins.str
110
- """A reference to a ForwardMsg that has already been delivered.
111
- The client should substitute the message with the given hash
112
- for this one. If the client does not have the referenced message
113
- in its cache, it can retrieve it from the server.
110
+ """A reference to a ForwardMsg that has already been delivered
111
+ and cached in the frontend. The client should substitute the message
112
+ with the given hash for this one.
114
113
  """
115
114
  debug_last_backmsg_id: builtins.str
116
115
  """The ID of the last BackMsg that we received before sending this
@@ -214,9 +213,7 @@ class ForwardMsgMetadata(google.protobuf.message.Message):
214
213
  ELEMENT_DIMENSION_SPEC_FIELD_NUMBER: builtins.int
215
214
  ACTIVE_SCRIPT_HASH_FIELD_NUMBER: builtins.int
216
215
  cacheable: builtins.bool
217
- """If this is set, the server will have cached this message,
218
- and a client that receives it should do the same.
219
- """
216
+ """Marks a message as cacheable for the frontend."""
220
217
  active_script_hash: builtins.str
221
218
  """active_script_hash the forward message is associated from.
222
219
  For multipage apps v1, this will always be the page file running
@@ -383,12 +383,13 @@ class AppSession:
383
383
  self._client_state.context_info.CopyFrom(client_state.context_info)
384
384
 
385
385
  rerun_data = RerunData(
386
- client_state.query_string,
387
- client_state.widget_states,
388
- client_state.page_script_hash,
389
- client_state.page_name,
386
+ query_string=client_state.query_string,
387
+ widget_states=client_state.widget_states,
388
+ page_script_hash=client_state.page_script_hash,
389
+ page_name=client_state.page_name,
390
390
  fragment_id=fragment_id if fragment_id else None,
391
391
  is_auto_rerun=client_state.is_auto_rerun,
392
+ cached_message_hashes=set(client_state.cached_message_hashes),
392
393
  context_info=client_state.context_info,
393
394
  )
394
395
  else:
@@ -307,3 +307,17 @@ class ContextProxy:
307
307
  if ctx is None or ctx.context_info is None:
308
308
  return None
309
309
  return ctx.context_info.url
310
+
311
+ @property
312
+ @gather_metrics("context.ip_address")
313
+ def ip_address(self) -> str | None:
314
+ """The read-only IP address of the user's connection.
315
+ This should not be used for security measures as it can be easily spoofed.
316
+ """
317
+ session_client_request = _get_request()
318
+ if session_client_request is not None:
319
+ remote_ip = session_client_request.remote_ip
320
+ if remote_ip == "::1" or remote_ip == "127.0.0.1":
321
+ return None
322
+ return remote_ip
323
+ return None
@@ -0,0 +1,101 @@
1
+ # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2025)
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
17
+ from typing import Final
18
+
19
+ from streamlit import config, util
20
+ from streamlit.logger import get_logger
21
+ from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
22
+
23
+ _LOGGER: Final = get_logger(__name__)
24
+
25
+
26
+ def populate_hash_if_needed(msg: ForwardMsg) -> None:
27
+ """Computes and assigns the unique hash for a ForwardMsg.
28
+
29
+ If the ForwardMsg already has a hash, this is a no-op.
30
+
31
+ Parameters
32
+ ----------
33
+ msg : ForwardMsg
34
+
35
+ """
36
+ if msg.hash == "" and msg.WhichOneof("type") not in {"ref_hash", "initialize"}:
37
+ # Move the message's metadata aside. It's not part of the
38
+ # hash calculation.
39
+ metadata = msg.metadata
40
+ msg.ClearField("metadata")
41
+
42
+ # Serialize the message to bytes using the deterministic serializer to
43
+ # ensure consistent hashing.
44
+ serialized_msg = msg.SerializeToString(deterministic=True)
45
+
46
+ # TODO(lukasmasuch): Evaluate more optimized hashing for larger messages:
47
+ # - Add the type element type and number of bytes to the hash.
48
+ # - Only hash the first N bytes of the message.
49
+
50
+ # MD5 is good enough for what we need, which is uniqueness.
51
+ msg.hash = util.calc_md5(serialized_msg)
52
+
53
+ # Restore metadata.
54
+ msg.metadata.CopyFrom(metadata)
55
+
56
+ # Set cacheable flag if above the min cached size and if its a `new_element`
57
+ # delta. We only cache new_element and add_block deltas since container's
58
+ # are not expected to be larger than a few KB and have other side-effects
59
+ # to consider if cached. But `add_block` deltas should still get a hash.
60
+ # In case we ever allow other delta types to be cached, we should
61
+ # also need to adapt the composable logic in forward_msg_queue.
62
+ msg.metadata.cacheable = (
63
+ len(serialized_msg) >= int(config.get_option("global.minCachedMessageSize"))
64
+ and msg.WhichOneof("type") == "delta"
65
+ and msg.delta.WhichOneof("type") == "new_element"
66
+ )
67
+
68
+
69
+ def create_reference_msg(msg: ForwardMsg) -> ForwardMsg:
70
+ """Create a ForwardMsg that refers to the given message via its hash.
71
+
72
+ The reference message will also get a copy of the source message's
73
+ metadata.
74
+
75
+ Parameters
76
+ ----------
77
+ msg : ForwardMsg
78
+ The ForwardMsg to create the reference to.
79
+
80
+ Returns
81
+ -------
82
+ ForwardMsg
83
+ A new ForwardMsg that "points" to the original message via the
84
+ ref_hash field.
85
+
86
+ """
87
+ if not msg.hash:
88
+ _LOGGER.warning(
89
+ "Failed to create a reference message for a ForwardMsg since the "
90
+ "message does not have a hash. This is not expected to happen, "
91
+ "please report this as a bug. Falling back to the original message."
92
+ )
93
+ # Fallback to the original message if the hash is not set.
94
+ # This is not expected to happen.
95
+ return msg
96
+
97
+ ref_msg = ForwardMsg()
98
+ ref_msg.ref_hash = msg.hash
99
+ ref_msg.metadata.CopyFrom(msg.metadata)
100
+ ref_msg.metadata.cacheable = False
101
+ return ref_msg
@@ -14,13 +14,10 @@
14
14
 
15
15
  from __future__ import annotations
16
16
 
17
- from typing import TYPE_CHECKING, Any, Callable
17
+ from typing import Any, Callable
18
18
 
19
19
  from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
20
20
 
21
- if TYPE_CHECKING:
22
- from streamlit.proto.Delta_pb2 import Delta
23
-
24
21
 
25
22
  class ForwardMsgQueue:
26
23
  """Accumulates a session's outgoing ForwardMsgs.
@@ -79,16 +76,27 @@ class ForwardMsgQueue:
79
76
  # the app - we attempt to combine this new Delta into the old
80
77
  # one. This is an optimization that prevents redundant Deltas
81
78
  # from being sent to the frontend.
79
+ # One common case where this happens is with `st.write` since
80
+ # it uses a trick with `st.empty` to handle lists of args.
81
+ # Note: its not guaranteed that the optimization is always applied
82
+ # since the queue can be flushed to the browser at any time.
83
+ # For example:
84
+ # queue 1:
85
+ # empty [0, 0] <- skipped
86
+ # markdown [0, 0]
87
+ # empty [1, 0] <- send to frontend
88
+ #
89
+ # queue 2:
90
+ # markdown [1, 0]
91
+ # ...
92
+
82
93
  delta_key = tuple(msg.metadata.delta_path)
83
94
  if delta_key in self._delta_index_map:
84
95
  index = self._delta_index_map[delta_key]
85
96
  old_msg = self._queue[index]
86
- composed_delta = _maybe_compose_deltas(old_msg.delta, msg.delta)
87
- if composed_delta is not None:
88
- new_msg = ForwardMsg()
89
- new_msg.delta.CopyFrom(composed_delta)
90
- new_msg.metadata.CopyFrom(msg.metadata)
91
- self._queue[index] = new_msg
97
+ composed_msg = _maybe_compose_delta_msgs(old_msg, msg)
98
+ if composed_msg is not None:
99
+ self._queue[index] = composed_msg
92
100
  return
93
101
 
94
102
  # No composition occurred. Append this message to the queue, and
@@ -163,6 +171,11 @@ class ForwardMsgQueue:
163
171
 
164
172
  def _is_composable_message(msg: ForwardMsg) -> bool:
165
173
  """True if the ForwardMsg is potentially composable with other ForwardMsgs."""
174
+ if msg.HasField("ref_hash"):
175
+ # reference messages (cached in frontend) are always composable.
176
+ # Only new_element deltas can be reference messages.
177
+ return True
178
+
166
179
  if not msg.HasField("delta"):
167
180
  # Non-delta messages are never composable.
168
181
  return False
@@ -174,17 +187,20 @@ def _is_composable_message(msg: ForwardMsg) -> bool:
174
187
  return delta_type != "add_rows" and delta_type != "arrow_add_rows"
175
188
 
176
189
 
177
- def _maybe_compose_deltas(old_delta: Delta, new_delta: Delta) -> Delta | None:
178
- """Combines new_delta onto old_delta if possible.
190
+ def _maybe_compose_delta_msgs(
191
+ old_msg: ForwardMsg, new_msg: ForwardMsg
192
+ ) -> ForwardMsg | None:
193
+ """Optimization logic that composes new_msg onto old_msg if possible.
179
194
 
180
- If the combination takes place, the function returns a new Delta that
181
- should replace old_delta in the queue.
195
+ If the combination takes place, the function returns a new ForwardMsg that
196
+ should replace old_msg in the queue. This basically means that the old_msg
197
+ is not send to the browser since its considered unnecessary.
182
198
 
183
- If the new_delta is incompatible with old_delta, the function returns None.
184
- In this case, the new_delta should just be appended to the queue as normal.
199
+ If the new_msg is incompatible with old_msg, the function returns None.
200
+ In this case, the new_msg should just be appended to the queue as normal.
185
201
  """
186
- old_delta_type = old_delta.WhichOneof("type")
187
- if old_delta_type == "add_block":
202
+
203
+ if old_msg.HasField("delta") and old_msg.delta.WhichOneof("type") == "add_block":
188
204
  # We never replace add_block deltas, because blocks can have
189
205
  # other dependent deltas later in the queue. For example:
190
206
  #
@@ -200,12 +216,14 @@ def _maybe_compose_deltas(old_delta: Delta, new_delta: Delta) -> Delta | None:
200
216
  # now just an element, and not a block.
201
217
  return None
202
218
 
203
- new_delta_type = new_delta.WhichOneof("type")
204
- if new_delta_type == "new_element":
205
- return new_delta
219
+ if new_msg.HasField("ref_hash"):
220
+ # ref_hash messages are always composable.
221
+ # Only new_element deltas can be reference messages.
222
+ return new_msg
206
223
 
207
- if new_delta_type == "add_block":
208
- return new_delta
224
+ new_delta_type = new_msg.delta.WhichOneof("type")
225
+ if new_delta_type == "new_element" or new_delta_type == "add_block":
226
+ return new_msg
209
227
 
210
228
  return None
211
229
 
@@ -21,7 +21,6 @@ from dataclasses import dataclass, field
21
21
  from enum import Enum
22
22
  from typing import TYPE_CHECKING, Final, NamedTuple
23
23
 
24
- from streamlit import config
25
24
  from streamlit.components.lib.local_component_registry import LocalComponentRegistry
26
25
  from streamlit.logger import get_logger
27
26
  from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
@@ -33,14 +32,8 @@ from streamlit.runtime.caching import (
33
32
  from streamlit.runtime.caching.storage.local_disk_cache_storage import (
34
33
  LocalDiskCacheStorageManager,
35
34
  )
36
- from streamlit.runtime.forward_msg_cache import (
37
- ForwardMsgCache,
38
- create_reference_msg,
39
- populate_hash_if_needed,
40
- )
41
35
  from streamlit.runtime.media_file_manager import MediaFileManager
42
36
  from streamlit.runtime.memory_session_storage import MemorySessionStorage
43
- from streamlit.runtime.runtime_util import is_cacheable_msg
44
37
  from streamlit.runtime.script_data import ScriptData
45
38
  from streamlit.runtime.scriptrunner.script_cache import ScriptCache
46
39
  from streamlit.runtime.session_manager import (
@@ -203,7 +196,6 @@ class Runtime:
203
196
 
204
197
  # Initialize managers
205
198
  self._component_registry = config.component_registry
206
- self._message_cache = ForwardMsgCache()
207
199
  self._uploaded_file_mgr = config.uploaded_file_manager
208
200
  self._media_file_mgr = MediaFileManager(storage=config.media_file_storage)
209
201
  self._cache_storage_manager = config.cache_storage_manager
@@ -219,7 +211,6 @@ class Runtime:
219
211
  self._stats_mgr = StatsManager()
220
212
  self._stats_mgr.register_provider(get_data_cache_stats_provider())
221
213
  self._stats_mgr.register_provider(get_resource_cache_stats_provider())
222
- self._stats_mgr.register_provider(self._message_cache)
223
214
  self._stats_mgr.register_provider(self._uploaded_file_mgr)
224
215
  self._stats_mgr.register_provider(SessionStateStatProvider(self._session_mgr))
225
216
 
@@ -231,10 +222,6 @@ class Runtime:
231
222
  def component_registry(self) -> BaseComponentRegistry:
232
223
  return self._component_registry
233
224
 
234
- @property
235
- def message_cache(self) -> ForwardMsgCache:
236
- return self._message_cache
237
-
238
225
  @property
239
226
  def uploaded_file_mgr(self) -> UploadedFileManager:
240
227
  return self._uploaded_file_mgr
@@ -449,7 +436,6 @@ class Runtime:
449
436
  """
450
437
  session_info = self._session_mgr.get_session_info(session_id)
451
438
  if session_info:
452
- self._message_cache.remove_refs_for_session(session_info.session)
453
439
  self._session_mgr.close_session(session_id)
454
440
  self._on_session_disconnected()
455
441
 
@@ -474,14 +460,6 @@ class Runtime:
474
460
  """
475
461
  session_info = self._session_mgr.get_active_session_info(session_id)
476
462
  if session_info:
477
- # NOTE: Ideally, we'd like to keep ForwardMsgCache refs for a session around
478
- # when a session is disconnected (and defer their cleanup until the session
479
- # is garbage collected), but this would be difficult to do as the
480
- # ForwardMsgCache is not thread safe, and we have no guarantee that the
481
- # garbage collector will only run on the eventloop thread. Because of this,
482
- # we clean up refs now and accept the risk that we're deleting cache entries
483
- # that will be useful once the browser tab reconnects.
484
- self._message_cache.remove_refs_for_session(session_info.session)
485
463
  self._session_mgr.disconnect_session(session_id)
486
464
  self._on_session_disconnected()
487
465
 
@@ -698,7 +676,6 @@ Please report this bug at https://github.com/streamlit/streamlit/issues.
698
676
 
699
677
  def _send_message(self, session_info: ActiveSessionInfo, msg: ForwardMsg) -> None:
700
678
  """Send a message to a client.
701
-
702
679
  If the client is likely to have already cached the message, we may
703
680
  instead send a "reference" message that contains only the hash of the
704
681
  message.
@@ -714,51 +691,16 @@ Please report this bug at https://github.com/streamlit/streamlit/issues.
714
691
  -----
715
692
  Threading: UNSAFE. Must be called on the eventloop thread.
716
693
  """
717
- msg.metadata.cacheable = is_cacheable_msg(msg)
718
- msg_to_send = msg
719
- if msg.metadata.cacheable:
720
- populate_hash_if_needed(msg)
721
-
722
- if self._message_cache.has_message_reference(
723
- msg, session_info.session, session_info.script_run_count
724
- ):
725
- # This session has probably cached this message. Send
726
- # a reference instead.
727
- _LOGGER.debug("Sending cached message ref (hash=%s)", msg.hash)
728
- msg_to_send = create_reference_msg(msg)
729
-
730
- # Cache the message so it can be referenced in the future.
731
- # If the message is already cached, this will reset its
732
- # age.
733
- _LOGGER.debug("Caching message (hash=%s)", msg.hash)
734
- self._message_cache.add_message(
735
- msg, session_info.session, session_info.script_run_count
736
- )
737
694
 
738
695
  # If this was a `script_finished` message, we increment the
739
- # script_run_count for this session, and update the cache
696
+ # script_run_count for this session
740
697
  if msg.WhichOneof("type") == "script_finished" and (
741
698
  msg.script_finished == ForwardMsg.FINISHED_SUCCESSFULLY
742
- or (
743
- config.get_option(
744
- "global.includeFragmentRunsInForwardMessageCacheCount"
745
- )
746
- and msg.script_finished == ForwardMsg.FINISHED_FRAGMENT_RUN_SUCCESSFULLY
747
- )
748
699
  ):
749
- _LOGGER.debug(
750
- "Script run finished successfully; "
751
- "removing expired entries from MessageCache "
752
- "(max_age=%s)",
753
- config.get_option("global.maxCachedMessageAge"),
754
- )
755
700
  session_info.script_run_count += 1
756
- self._message_cache.remove_expired_entries_for_session(
757
- session_info.session, session_info.script_run_count
758
- )
759
701
 
760
702
  # Ship it off!
761
- session_info.client.write_forward_msg(msg_to_send)
703
+ session_info.client.write_forward_msg(msg)
762
704
 
763
705
  def _enqueued_some_message(self) -> None:
764
706
  """Callback called by AppSession after the AppSession has enqueued a
@@ -16,15 +16,17 @@
16
16
 
17
17
  from __future__ import annotations
18
18
 
19
- from typing import TYPE_CHECKING, Any
19
+ from logging import getLogger
20
+ from typing import TYPE_CHECKING, Any, Final
20
21
 
21
22
  from streamlit import config
22
23
  from streamlit.errors import MarkdownFormattedException, StreamlitAPIException
23
- from streamlit.runtime.forward_msg_cache import populate_hash_if_needed
24
24
 
25
25
  if TYPE_CHECKING:
26
26
  from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
27
27
 
28
+ _LOGGER: Final = getLogger(__name__)
29
+
28
30
 
29
31
  class MessageSizeError(MarkdownFormattedException):
30
32
  """Exception raised when a websocket message is larger than the configured limit."""
@@ -60,29 +62,28 @@ class BadDurationStringError(StreamlitAPIException):
60
62
  )
61
63
 
62
64
 
63
- def is_cacheable_msg(msg: ForwardMsg) -> bool:
64
- """True if the given message qualifies for caching."""
65
- if msg.WhichOneof("type") in {"ref_hash", "initialize"}:
66
- # Some message types never get cached
67
- return False
68
- return msg.ByteSize() >= int(config.get_option("global.minCachedMessageSize"))
69
-
70
-
71
65
  def serialize_forward_msg(msg: ForwardMsg) -> bytes:
72
66
  """Serialize a ForwardMsg to send to a client.
73
67
 
74
68
  If the message is too large, it will be converted to an exception message
75
69
  instead.
76
70
  """
77
- populate_hash_if_needed(msg)
71
+
78
72
  msg_str = msg.SerializeToString()
79
73
 
80
74
  if len(msg_str) > get_max_message_size_bytes():
81
- import streamlit.elements.exception as exception
82
-
83
75
  # Overwrite the offending ForwardMsg.delta with an error to display.
84
76
  # This assumes that the size limit wasn't exceeded due to metadata.
85
- exception.marshall(msg.delta.new_element.exception, MessageSizeError(msg_str))
77
+ import streamlit.elements.exception as exception
78
+
79
+ msg_size_error = MessageSizeError(msg_str)
80
+ _LOGGER.warning(
81
+ "Websocket message size limit exceeded. "
82
+ f"Showing error to the user: {msg_size_error}"
83
+ )
84
+ exception.marshall(msg.delta.new_element.exception, msg_size_error)
85
+ # Deactivate caching for this error message:
86
+ msg.metadata.cacheable = False
86
87
  msg_str = msg.SerializeToString()
87
88
 
88
89
  return msg_str
@@ -134,7 +134,14 @@ def _mpa_v1(main_script_path: str):
134
134
  # Read out the my_pages folder and create a page for every script:
135
135
  pages = PAGES_FOLDER.glob("*.py")
136
136
  pages = sorted(
137
- [page for page in pages if page.name.endswith(".py")], key=page_sort_key
137
+ [
138
+ page
139
+ for page in pages
140
+ if page.name.endswith(".py")
141
+ and not page.name.startswith(".")
142
+ and not page.name == "__init__.py"
143
+ ],
144
+ key=page_sort_key,
138
145
  )
139
146
 
140
147
  # Use this script as the main page and
@@ -514,6 +521,7 @@ class ScriptRunner:
514
521
  query_string=rerun_data.query_string,
515
522
  page_script_hash=page_script_hash,
516
523
  fragment_ids_this_run=fragment_ids_this_run,
524
+ cached_message_hashes=rerun_data.cached_message_hashes,
517
525
  context_info=rerun_data.context_info,
518
526
  )
519
527