streamlit-nightly 1.32.3.dev20240325__py2.py3-none-any.whl → 1.32.3.dev20240328__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. streamlit/__init__.py +4 -2
  2. streamlit/components/v1/__init__.py +3 -17
  3. streamlit/components/v1/{custom_component.py → components.py} +159 -11
  4. streamlit/delta_generator.py +3 -0
  5. streamlit/elements/media.py +52 -4
  6. streamlit/elements/widgets/time_widgets.py +5 -21
  7. streamlit/errors.py +0 -6
  8. streamlit/proto/AutoRerun_pb2.py +25 -0
  9. streamlit/proto/AutoRerun_pb2.pyi +48 -0
  10. streamlit/proto/ClientState_pb2.py +3 -3
  11. streamlit/proto/ClientState_pb2.pyi +4 -1
  12. streamlit/proto/Delta_pb2.py +2 -2
  13. streamlit/proto/Delta_pb2.pyi +4 -1
  14. streamlit/proto/ForwardMsg_pb2.py +10 -9
  15. streamlit/proto/ForwardMsg_pb2.pyi +12 -3
  16. streamlit/proto/NewSession_pb2.py +24 -24
  17. streamlit/proto/NewSession_pb2.pyi +8 -1
  18. streamlit/proto/PageProfile_pb2.py +6 -6
  19. streamlit/proto/PageProfile_pb2.pyi +4 -1
  20. streamlit/runtime/app_session.py +67 -24
  21. streamlit/runtime/caching/cache_data_api.py +3 -3
  22. streamlit/runtime/caching/cache_errors.py +0 -11
  23. streamlit/runtime/caching/cache_resource_api.py +2 -2
  24. streamlit/runtime/caching/cache_utils.py +1 -43
  25. streamlit/runtime/fragment.py +239 -0
  26. streamlit/runtime/metrics_util.py +17 -9
  27. streamlit/runtime/runtime.py +6 -12
  28. streamlit/runtime/runtime_util.py +54 -2
  29. streamlit/runtime/scriptrunner/script_requests.py +53 -37
  30. streamlit/runtime/scriptrunner/script_run_context.py +15 -2
  31. streamlit/runtime/scriptrunner/script_runner.py +63 -14
  32. streamlit/runtime/state/common.py +2 -0
  33. streamlit/runtime/state/session_state.py +51 -7
  34. streamlit/runtime/state/widgets.py +10 -2
  35. streamlit/static/asset-manifest.json +19 -19
  36. streamlit/static/index.html +1 -1
  37. streamlit/static/static/js/1074.73973756.chunk.js +1 -0
  38. streamlit/static/static/js/1451.3b0a3e31.chunk.js +1 -0
  39. streamlit/static/static/js/1792.b8efa879.chunk.js +1 -0
  40. streamlit/static/static/js/{3092.3d4df25e.chunk.js → 3092.ad569cc8.chunk.js} +1 -1
  41. streamlit/static/static/js/3513.e3e7300a.chunk.js +1 -0
  42. streamlit/static/static/js/4177.69f9f18d.chunk.js +1 -0
  43. streamlit/static/static/js/4319.a6745434.chunk.js +1 -0
  44. streamlit/static/static/js/{4477.2555c11a.chunk.js → 4477.e10e4373.chunk.js} +1 -1
  45. streamlit/static/static/js/{4666.99f3abc3.chunk.js → 4666.b694c5a9.chunk.js} +1 -1
  46. streamlit/static/static/js/5106.44f0ff51.chunk.js +1 -0
  47. streamlit/static/static/js/5379.6571574f.chunk.js +1 -0
  48. streamlit/static/static/js/6013.8e80e091.chunk.js +1 -0
  49. streamlit/static/static/js/6718.802da17e.chunk.js +1 -0
  50. streamlit/static/static/js/7175.be4076bc.chunk.js +1 -0
  51. streamlit/static/static/js/{7602.f0420392.chunk.js → 7602.6175e969.chunk.js} +1 -1
  52. streamlit/static/static/js/{8492.e6dab83f.chunk.js → 8492.f56c9d4c.chunk.js} +1 -1
  53. streamlit/static/static/js/8691.9ccf7f89.chunk.js +1 -0
  54. streamlit/static/static/js/main.722453f0.js +2 -0
  55. streamlit/testing/v1/local_script_runner.py +2 -0
  56. streamlit/time_util.py +88 -0
  57. streamlit/watcher/local_sources_watcher.py +2 -1
  58. streamlit/web/server/component_request_handler.py +2 -2
  59. streamlit/web/server/server.py +2 -1
  60. {streamlit_nightly-1.32.3.dev20240325.dist-info → streamlit_nightly-1.32.3.dev20240328.dist-info}/METADATA +1 -1
  61. {streamlit_nightly-1.32.3.dev20240325.dist-info → streamlit_nightly-1.32.3.dev20240328.dist-info}/RECORD +66 -68
  62. streamlit/components/lib/__init__.py +0 -13
  63. streamlit/components/lib/local_component_registry.py +0 -82
  64. streamlit/components/types/__init__.py +0 -13
  65. streamlit/components/types/base_component_registry.py +0 -98
  66. streamlit/components/types/base_custom_component.py +0 -137
  67. streamlit/components/v1/component_registry.py +0 -103
  68. streamlit/static/static/js/1074.71719df6.chunk.js +0 -1
  69. streamlit/static/static/js/1451.e3be1711.chunk.js +0 -1
  70. streamlit/static/static/js/1792.16c16498.chunk.js +0 -1
  71. streamlit/static/static/js/3513.57cff89c.chunk.js +0 -1
  72. streamlit/static/static/js/4177.ab9a7aa1.chunk.js +0 -1
  73. streamlit/static/static/js/4319.213fc321.chunk.js +0 -1
  74. streamlit/static/static/js/5106.22187bfc.chunk.js +0 -1
  75. streamlit/static/static/js/5379.e466522d.chunk.js +0 -1
  76. streamlit/static/static/js/6013.75c92264.chunk.js +0 -1
  77. streamlit/static/static/js/6718.97945fc6.chunk.js +0 -1
  78. streamlit/static/static/js/7175.8c1b4d38.chunk.js +0 -1
  79. streamlit/static/static/js/8691.24a5792f.chunk.js +0 -1
  80. streamlit/static/static/js/main.7fde7092.js +0 -2
  81. /streamlit/static/static/js/{main.7fde7092.js.LICENSE.txt → main.722453f0.js.LICENSE.txt} +0 -0
  82. {streamlit_nightly-1.32.3.dev20240325.data → streamlit_nightly-1.32.3.dev20240328.data}/scripts/streamlit.cmd +0 -0
  83. {streamlit_nightly-1.32.3.dev20240325.dist-info → streamlit_nightly-1.32.3.dev20240328.dist-info}/WHEEL +0 -0
  84. {streamlit_nightly-1.32.3.dev20240325.dist-info → streamlit_nightly-1.32.3.dev20240328.dist-info}/entry_points.txt +0 -0
  85. {streamlit_nightly-1.32.3.dev20240325.dist-info → streamlit_nightly-1.32.3.dev20240328.dist-info}/top_level.txt +0 -0
@@ -23,6 +23,7 @@ from streamlit import runtime
23
23
  from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
24
24
  from streamlit.proto.WidgetStates_pb2 import WidgetStates
25
25
  from streamlit.runtime.forward_msg_queue import ForwardMsgQueue
26
+ from streamlit.runtime.fragment import MemoryFragmentStorage
26
27
  from streamlit.runtime.memory_uploaded_file_manager import MemoryUploadedFileManager
27
28
  from streamlit.runtime.scriptrunner import RerunData, ScriptRunner, ScriptRunnerEvent
28
29
  from streamlit.runtime.scriptrunner.script_cache import ScriptCache
@@ -59,6 +60,7 @@ class LocalScriptRunner(ScriptRunner):
59
60
  script_cache=ScriptCache(),
60
61
  initial_rerun_data=RerunData(),
61
62
  user_info={"email": "test@test.com"},
63
+ fragment_storage=MemoryFragmentStorage(),
62
64
  )
63
65
 
64
66
  # Accumulates all ScriptRunnerEvents emitted by us.
streamlit/time_util.py ADDED
@@ -0,0 +1,88 @@
1
+ # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2024)
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
+ import math
18
+ from datetime import date, timedelta
19
+ from typing import Literal, overload
20
+
21
+ from streamlit.errors import MarkdownFormattedException, StreamlitAPIException
22
+
23
+
24
+ def adjust_years(input_date: date, years: int) -> date:
25
+ """Add or subtract years from a date."""
26
+ try:
27
+ # Attempt to directly add/subtract years
28
+ return input_date.replace(year=input_date.year + years)
29
+ except ValueError as err:
30
+ # Handle case for leap year date (February 29) that doesn't exist in the target year
31
+ # by moving the date to February 28
32
+ if input_date.month == 2 and input_date.day == 29:
33
+ return input_date.replace(year=input_date.year + years, month=2, day=28)
34
+
35
+ raise StreamlitAPIException(
36
+ f"Date {input_date} does not exist in the target year {input_date.year + years}. "
37
+ "This should never happen. Please report this bug."
38
+ ) from err
39
+
40
+
41
+ class BadTimeStringError(StreamlitAPIException):
42
+ """Raised when a bad time string argument is passed."""
43
+
44
+ def __init__(self, t: str):
45
+ MarkdownFormattedException.__init__(
46
+ self,
47
+ "Time string doesn't look right. It should be formatted as"
48
+ f"`'1d2h34m'` or `2 days`, for example. Got: {t}",
49
+ )
50
+
51
+
52
+ @overload
53
+ def time_to_seconds(
54
+ t: float | timedelta | str | None, *, coerce_none_to_inf: Literal[False]
55
+ ) -> float | None:
56
+ ...
57
+
58
+
59
+ @overload
60
+ def time_to_seconds(t: float | timedelta | str | None) -> float:
61
+ ...
62
+
63
+
64
+ def time_to_seconds(
65
+ t: float | timedelta | str | None, *, coerce_none_to_inf: bool = True
66
+ ) -> float | None:
67
+ """
68
+ Convert a time string value to a float representing "number of seconds".
69
+ """
70
+ if coerce_none_to_inf and t is None:
71
+ return math.inf
72
+ if isinstance(t, timedelta):
73
+ return t.total_seconds()
74
+ if isinstance(t, str):
75
+ import numpy as np
76
+ import pandas as pd
77
+
78
+ try:
79
+ seconds: float = pd.Timedelta(t).total_seconds()
80
+
81
+ if np.isnan(seconds):
82
+ raise BadTimeStringError(t)
83
+
84
+ return seconds
85
+ except ValueError as ex:
86
+ raise BadTimeStringError(t) from ex
87
+
88
+ return t
@@ -18,6 +18,7 @@ import collections
18
18
  import os
19
19
  import sys
20
20
  import types
21
+ from pathlib import Path
21
22
  from typing import Callable, Final
22
23
 
23
24
  from streamlit import config, file_util
@@ -165,7 +166,7 @@ class LocalSourcesWatcher:
165
166
  for name, paths in module_paths.items():
166
167
  for path in paths:
167
168
  if self._file_should_be_watched(path):
168
- self._register_watcher(path, name)
169
+ self._register_watcher(str(Path(path).resolve()), name)
169
170
 
170
171
  def _exclude_blacklisted_paths(self, paths: set[str]) -> set[str]:
171
172
  return {p for p in paths if not self._folder_black_list.is_blacklisted(p)}
@@ -21,14 +21,14 @@ from typing import Final
21
21
  import tornado.web
22
22
 
23
23
  import streamlit.web.server.routes
24
- from streamlit.components.types.base_component_registry import BaseComponentRegistry
24
+ from streamlit.components.v1.components import ComponentRegistry
25
25
  from streamlit.logger import get_logger
26
26
 
27
27
  _LOGGER: Final = get_logger(__name__)
28
28
 
29
29
 
30
30
  class ComponentRequestHandler(tornado.web.RequestHandler):
31
- def initialize(self, registry: BaseComponentRegistry):
31
+ def initialize(self, registry: ComponentRegistry):
32
32
  self._registry = registry
33
33
 
34
34
  def get(self, path: str) -> None:
@@ -29,6 +29,7 @@ import tornado.websocket
29
29
  from tornado.httpserver import HTTPServer
30
30
 
31
31
  from streamlit import cli_util, config, file_util, source_util, util
32
+ from streamlit.components.v1.components import ComponentRegistry
32
33
  from streamlit.config_option import ConfigOption
33
34
  from streamlit.logger import get_logger
34
35
  from streamlit.runtime import Runtime, RuntimeConfig, RuntimeState
@@ -326,7 +327,7 @@ class Server:
326
327
  (
327
328
  make_url_path_regex(base, "component/(.*)"),
328
329
  ComponentRequestHandler,
329
- dict(registry=self._runtime.component_registry),
330
+ dict(registry=ComponentRegistry.instance()),
330
331
  ),
331
332
  ]
332
333
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: streamlit-nightly
3
- Version: 1.32.3.dev20240325
3
+ Version: 1.32.3.dev20240328
4
4
  Summary: A faster way to build and share data apps
5
5
  Home-page: https://streamlit.io
6
6
  Author: Snowflake Inc
@@ -1,4 +1,4 @@
1
- streamlit/__init__.py,sha256=pkrGESUlD9Er6wQuVEafG574GdO4I4-v3dypzDNPUkk,7811
1
+ streamlit/__init__.py,sha256=0vVKZmo-N_liywFSritkeCYEHWEjRqKUlR2ygyJagOc,7906
2
2
  streamlit/__main__.py,sha256=8vHowjccJfFMwrA22IEe3ynE9F670mkspbo9rYdM0ks,868
3
3
  streamlit/case_converters.py,sha256=PS5S4rFnx1eeKH1-nUNqQ_c1qeoeEIn-1XQPrsG_doU,2468
4
4
  streamlit/cli_util.py,sha256=4W2N-4lP4h9xMoAyHM7bNIQs43VwrNnuUGLGbQaEw2Q,1407
@@ -10,14 +10,14 @@ streamlit/config_option.py,sha256=7kfzt-xhJs3awfyIHsyRaTBSxLpz1RioobDl5uXV37g,11
10
10
  streamlit/config_util.py,sha256=-MGb5eBrsZvNmqywmiBmo27ll1F9OmCDX4toGWglv2c,6015
11
11
  streamlit/constants.py,sha256=KhNjCeooky2bbW7QMX3ijOA5enHIOgj6Xo4TBhtTJNE,798
12
12
  streamlit/cursor.py,sha256=LUDB6o7xyGb1it_8rl5QU_N3MRhFCdtnd9tuTx78abU,6001
13
- streamlit/delta_generator.py,sha256=DGaPvvD-TEeA9GH6xncKjjnX-hcQjz0MdIMQtjOiEpE,32199
13
+ streamlit/delta_generator.py,sha256=ur6cZI51g34ko8nZnUXwl_FhNnK0hQ6Sas65BExw5iM,32326
14
14
  streamlit/deprecation_util.py,sha256=3JxWWS424v1kQ-qOq-9sQNYPQ8_UERH3QpYtkWxLP74,6516
15
15
  streamlit/development.py,sha256=iO-KQc62Do9uSwoa5vV2tfImqz3QPhJ1Md6DETcnHkc,813
16
16
  streamlit/echo.py,sha256=s0tT_IXxh7BLHOapRS8syE5Tnm4Djm3-oKO0J0MY1wI,4077
17
17
  streamlit/emojis.py,sha256=NlcPqVtDyUQmq9eLJVncvPtDQz3L1vYy3vz_vd_f1h0,73749
18
18
  streamlit/env_util.py,sha256=fqea8xmj4ifsuqmLv3Pvlq4t5y6WVTBua4qRpVTbs5Y,1791
19
19
  streamlit/error_util.py,sha256=Xx19JaBKF-MKHleuPY6TX3Xo_1fSd3ZqZuhvSz-B3LM,3598
20
- streamlit/errors.py,sha256=ZWMELNVECRiEaj5VTIqYQaRTydxrVKPWfcOidCRemgQ,4017
20
+ streamlit/errors.py,sha256=RwZ0Dav6aFe2o2RqOWgaBY0rIPLrDepNrOwxk-A7j8Q,3906
21
21
  streamlit/file_util.py,sha256=jwAlXtGNEwy335Ct9l14YHqxMuCWGSwgePesj7vNyLg,7216
22
22
  streamlit/folder_black_list.py,sha256=Ji9UZ4PtrilLxmvb8W57SIEK7AkeLGEqqtqr4y2oscI,2342
23
23
  streamlit/git_util.py,sha256=3zfjPGu8QrqYk3gPONW4Y0pRNPXUfxCo-mErM4tFJcQ,5271
@@ -29,6 +29,7 @@ streamlit/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  streamlit/source_util.py,sha256=21c98etHrDfg_MyLMohG7ByrEC52THuUP-E7pkCcmiE,5749
30
30
  streamlit/string_util.py,sha256=qq_o0K7Raizzsebu_KgfBSm3TiovIlKpdowdpmGB_Kk,4808
31
31
  streamlit/temporary_directory.py,sha256=eBv5q0CR9GApa-itZBaGtqQKMl248H0HojEVKzkS9cc,1627
32
+ streamlit/time_util.py,sha256=IoZTYEqz1qX_vzieLeuyjHhF5fpDmqc49DYFK4Gsy4w,2844
32
33
  streamlit/type_util.py,sha256=LBUBmk3XUEc0RxL3cVnLQl1a7DlrEWYFIGiB0YjduZU,44478
33
34
  streamlit/url_util.py,sha256=iU1lpZhzW4ZjhjBhSdw39OzixnThIsxhXpDP-ZIgUT8,3019
34
35
  streamlit/user_info.py,sha256=dqNEEanUVJDLhn4cTmeFG1iUfSQFDWuMQjjQHmDtE6I,3472
@@ -39,15 +40,9 @@ streamlit/commands/execution_control.py,sha256=YBaX8ikORIJEmlvWKNqTDhDnhz_PPxqAG
39
40
  streamlit/commands/experimental_query_params.py,sha256=hMWuWJPIlebWhlEZbrwPSLtAfSx3gSke8_nU39-EKIc,5042
40
41
  streamlit/commands/page_config.py,sha256=GRgze1GRAfTLf7eR1GWdXtibNDnCjO_RdNT24rfZ9CI,11784
41
42
  streamlit/components/__init__.py,sha256=Vrf1yVMOcTyhUPnYvsfyeL96Vpd5z8KoSV5ZzTcTQgU,616
42
- streamlit/components/lib/__init__.py,sha256=Vrf1yVMOcTyhUPnYvsfyeL96Vpd5z8KoSV5ZzTcTQgU,616
43
- streamlit/components/lib/local_component_registry.py,sha256=qEfGGHH5gFneZBt_oeHuA1T9DFVXRiNwNqJGdCGuzIo,2978
44
- streamlit/components/types/__init__.py,sha256=Vrf1yVMOcTyhUPnYvsfyeL96Vpd5z8KoSV5ZzTcTQgU,616
45
- streamlit/components/types/base_component_registry.py,sha256=EWcLpYUAU25VaGsKxC6gNzxhr_0PvfIznWok8s00mnI,3100
46
- streamlit/components/types/base_custom_component.py,sha256=eQP-N7e0a4RR-Q6zQK19MYig2nEnTQ-SvCT8Ppo31zI,3829
47
- streamlit/components/v1/__init__.py,sha256=nwp5KGubP6w-c_qywHvvabWVxh9S__RqQbuIAjD_VZQ,1781
43
+ streamlit/components/v1/__init__.py,sha256=A0RvuG3JMOfOOFzsmOosfx1UN5NXCoHNWJoKg05kB3k,943
48
44
  streamlit/components/v1/component_arrow.py,sha256=BvqxXmK3tx6zv3Ah0YzVYRNpwJBfh42Yh73VlK-q1PE,4125
49
- streamlit/components/v1/component_registry.py,sha256=akLvKVy1x84j21V4jPPt8icxTCSpWdfxSY8o83T8z8w,3773
50
- streamlit/components/v1/custom_component.py,sha256=Kp584VKN2XCcK5EuuxILGmc9W4H1vOnA5dCuZpWNt78,9073
45
+ streamlit/components/v1/components.py,sha256=SSmZQe4kiep3Q32AYuf1PDWjvgSujR1kf87wSxSRKFQ,13740
51
46
  streamlit/connections/__init__.py,sha256=WSOEtrwhiNYti89iCk3O7I83rurZl8gXoM8tA2d_E-U,1083
52
47
  streamlit/connections/base_connection.py,sha256=8rzoGovDem0o3FzJTikP0IRdL7i3lBqHhyESBnER9no,7465
53
48
  streamlit/connections/snowflake_connection.py,sha256=z8yUWzHnoDOriydUc6KbDQStI5emvmqkEUtGf0c-AFc,12517
@@ -76,7 +71,7 @@ streamlit/elements/json.py,sha256=d1PHLaHDsrgQEv__KspWvwIvcufru_v5L871qEPStWM,33
76
71
  streamlit/elements/layouts.py,sha256=6lW-qzgABWn2uFCAR6mIlHht5xxdT6EkHN1uLcdaNHY,26685
77
72
  streamlit/elements/map.py,sha256=0zwVCZ9FjPUiCk5XfVe7vKg6UiLDbBLUkrHgnJz_Rr0,16299
78
73
  streamlit/elements/markdown.py,sha256=M21cweb9LTdT0XWdTrEibc2xc7qXSATP5BElthqgn1s,9913
79
- streamlit/elements/media.py,sha256=dJQepbbK7SpIeUyFeBb9tgam8wXBivV8e-ybrN2V5fs,21852
74
+ streamlit/elements/media.py,sha256=cPR8an8fSBzQedOLKVd4X-Ejj-0fNYLZpn6oxIdNkUc,23662
80
75
  streamlit/elements/metric.py,sha256=yYg-lAl2apRyBfN3kHNIL__P8jiGHJcF31RxX8wx3io,9897
81
76
  streamlit/elements/plotly_chart.py,sha256=qUr1oB7qD88HuswyPea2cJams-lD_0_E14J8Hw11dMM,8563
82
77
  streamlit/elements/progress.py,sha256=8ke3Q517tK5sLjBjrCs8HcG_ZdQco17NypyXGNxUKoM,5627
@@ -110,7 +105,7 @@ streamlit/elements/widgets/select_slider.py,sha256=vvdxgydswWQXvi4IS3v9nJquFVcX7
110
105
  streamlit/elements/widgets/selectbox.py,sha256=TqXLNCPcL5FnCQSUSf7XjSGeOHuj7sUtAoE6ATsCiPc,11191
111
106
  streamlit/elements/widgets/slider.py,sha256=fOUgyO4QFCHEXlWKkYKxBybWUo2XvYHuJuIO5qORHDA,25992
112
107
  streamlit/elements/widgets/text_widgets.py,sha256=Q9LY60CxW7x1y9dQl0ghw7jXnOHtyoGRwyzVWhivkco,21439
113
- streamlit/elements/widgets/time_widgets.py,sha256=DsTDkaQXi14rZu2TKOpBDLKHnCspo8GIWQQpKJA4ukY,29791
108
+ streamlit/elements/widgets/time_widgets.py,sha256=99lNecnxpPdtoyKIAPuRiW5WhAxB8aNq17BSBD9dBLI,29079
114
109
  streamlit/external/__init__.py,sha256=Vrf1yVMOcTyhUPnYvsfyeL96Vpd5z8KoSV5ZzTcTQgU,616
115
110
  streamlit/external/langchain/__init__.py,sha256=sAzaNf4Cje3cJikPBVvF7pj1sEdEvUfKIEY_Z6Zk8cA,814
116
111
  streamlit/external/langchain/streamlit_callback_handler.py,sha256=kKrusABDJ__KaA_mPnTxumSSYKQjYExaQsoMlELZZGI,15280
@@ -133,6 +128,8 @@ streamlit/proto/Arrow_pb2.py,sha256=KMS20MZK6Ezdlad5s5mJwpTDbrFTILEHBBFvxJekoPo,
133
128
  streamlit/proto/Arrow_pb2.pyi,sha256=IgQYhinD7wbR8kHoSVfxZtREn_yB2BIXM_VSzMfBeXI,5904
134
129
  streamlit/proto/Audio_pb2.py,sha256=kUnzh-foTxOHuz6Hohu7owZVK8TcHJxhtdZJgqps2xA,1312
135
130
  streamlit/proto/Audio_pb2.pyi,sha256=h_X2F_DwZM58VdL1SsS1n_ED3kvjERo8LrSsXk08nS4,1940
131
+ streamlit/proto/AutoRerun_pb2.py,sha256=f7AR5I8RZNbZ1uP2uerS1YPx_UyD3Hq0KC8SRAQYolc,1032
132
+ streamlit/proto/AutoRerun_pb2.pyi,sha256=I71zqhrkhVmN94YvB-i3Grcn3tboz2fpiubdU2H623s,1560
136
133
  streamlit/proto/BackMsg_pb2.py,sha256=TE9JUia6hXI02zm2BhKeydcgkpTM7z2-f6eE4P1CIHM,2090
137
134
  streamlit/proto/BackMsg_pb2.pyi,sha256=5Qp4wUzkmEZskvcNOXbHU2TudiH7gvp_CbuTY1QysNw,5251
138
135
  streamlit/proto/Balloons_pb2.py,sha256=YKSjPhDRPc7M3KyzBpXHAdVWTU2Fb7ub8qD84j68XnU,1175
@@ -149,8 +146,8 @@ streamlit/proto/ChatInput_pb2.py,sha256=EqsTIwYojyS6iVSoLHVbsBUdyc9BpgO_0u-GC7-P
149
146
  streamlit/proto/ChatInput_pb2.pyi,sha256=jCjfe8wlkia_6Ws3o7-go_44HYs9YpptuUw-Qhv-okI,2927
150
147
  streamlit/proto/Checkbox_pb2.py,sha256=tC0e-ShTt8vxVXaX0ZWw00QS528aDWU0KNcbHTDEcHc,1870
151
148
  streamlit/proto/Checkbox_pb2.pyi,sha256=IcHtY7r4EvjLHejfoc0k-XBG4jjcGeLu1e5I8xkDfpc,3504
152
- streamlit/proto/ClientState_pb2.py,sha256=YTJS0Q6mo7P366HVYbDny18HST24bz45C20pzHpDQwI,1434
153
- streamlit/proto/ClientState_pb2.pyi,sha256=AX8kKxRLpefOgW_C-aCr1oTNBb-xmV52EyjpFm-GMeU,2081
149
+ streamlit/proto/ClientState_pb2.py,sha256=PdxQneQ8gwberIhLV7uA1yyGi4pUIkbH-cnuara8_0Y,1485
150
+ streamlit/proto/ClientState_pb2.pyi,sha256=S49W3kOKoF_JmNRoGULsUq3XJclgu-5klrl1g0kM6ME,2226
154
151
  streamlit/proto/Code_pb2.py,sha256=zi3iTypTZiDuA332Kr7Vx802y3mzqE_1gvw4_HHmbCU,1187
155
152
  streamlit/proto/Code_pb2.pyi,sha256=R1Y-GRr7MgZWxZx8yRD25YV_Yo_sKkSjNg8P6FFJHr4,1678
156
153
  streamlit/proto/ColorPicker_pb2.py,sha256=wwkDk-sCLuWANT0G_GNR3WCImqet5OYUl5Brioj_p50,1664
@@ -165,8 +162,8 @@ streamlit/proto/DateInput_pb2.py,sha256=GNrk4tY0vzyILnZ_hSj8bVaqnf_gX_GKEZubuoLE
165
162
  streamlit/proto/DateInput_pb2.pyi,sha256=V0JFW-4PfDfOYvHDqOu5zaXm6E8eL1dAxDI2aCICPiA,3438
166
163
  streamlit/proto/DeckGlJsonChart_pb2.py,sha256=3rHBaueekFvuA4Y3b-Lf9WO4rHSRIucGKcQBHQ69rH4,1358
167
164
  streamlit/proto/DeckGlJsonChart_pb2.pyi,sha256=uy-ehm2q8LoJcioMyjQnQ4Y_82cU8TrNfsQZ0qKc7F8,2281
168
- streamlit/proto/Delta_pb2.py,sha256=ykBVZjerYNxg0J2wH9NfPlMbZPMdHazwpaahhniSheQ,1869
169
- streamlit/proto/Delta_pb2.pyi,sha256=0A0Ohx6a86HWE-poUx1syNFEdtIPYNufQHfLXBGmSJ8,3168
165
+ streamlit/proto/Delta_pb2.py,sha256=AFfKzSb7BMM3J-qLctgL7fSdVbeo3YaWWeZIQEmXjyY,1910
166
+ streamlit/proto/Delta_pb2.pyi,sha256=R144YnVr6BHDlfilrWG9HvZPTwivZAOub-95dhZIK64,3313
170
167
  streamlit/proto/DocString_pb2.py,sha256=-0a9fCwaM7chsdF1695Qjry9mzkoVnt7WTCR0EvfmKA,1609
171
168
  streamlit/proto/DocString_pb2.pyi,sha256=qcZSQ6tbofftddmpdcyonvOFTO0H8Fp3nwGBrzLOFk4,3514
172
169
  streamlit/proto/DownloadButton_pb2.py,sha256=0PDpLED9gzqfDihi2B74HZMz1fC6dOlwsqf1x3Cs3Gk,1498
@@ -181,8 +178,8 @@ streamlit/proto/Favicon_pb2.py,sha256=JyE3MQLWfEVUYGaX-lwYD3qhs0FwP7P2pzL7P6nj4n
181
178
  streamlit/proto/Favicon_pb2.pyi,sha256=_952Zj25kkWqJL8aIHw44bdqG3tBN87UKLtscOgBXCk,1301
182
179
  streamlit/proto/FileUploader_pb2.py,sha256=ipG_ypmjSaUlV1JLUYQ03PQssTDQuwwYMUo0bbYRZAA,1707
183
180
  streamlit/proto/FileUploader_pb2.pyi,sha256=6wboZSzqeuoPnj5jTHEeD08gHlrTF3QoAS0nG0riHkI,3209
184
- streamlit/proto/ForwardMsg_pb2.py,sha256=IVBmzF6495jHiJctPKhMe0m7jhh8rp2RhkByJbxuIEU,4531
185
- streamlit/proto/ForwardMsg_pb2.pyi,sha256=sRya4oEz8gpbAMj243S7eplv_AK11JKaUyUB01ANEyg,11445
181
+ streamlit/proto/ForwardMsg_pb2.py,sha256=SRP65wOvh6Z4O-PdM7x2OD8o1E7SfjowFm1X-JizCp8,4770
182
+ streamlit/proto/ForwardMsg_pb2.pyi,sha256=FzXZYuHIe6r4cNmUmbpqzEU2pQf704ABBD6mGaPCynk,12046
186
183
  streamlit/proto/GitInfo_pb2.py,sha256=jEhSlkF9hPvafOK0a9VlOqMCm2VeyEt1YUJ2E-cvusE,1574
187
184
  streamlit/proto/GitInfo_pb2.pyi,sha256=vDelpGEYEAAHXbcFFeWe30BKBNvmB8xFFByq-lzoSxk,3269
188
185
  streamlit/proto/GraphVizChart_pb2.py,sha256=PBRdJqkEyp9Ol2RJwB255Xdsw1pXZGE_dOfYeuSlkVw,1338
@@ -207,8 +204,8 @@ streamlit/proto/MultiSelect_pb2.py,sha256=HdYv5XM-AwEQak_S4VCutNUp9hTWMHKIuP6nXg
207
204
  streamlit/proto/MultiSelect_pb2.pyi,sha256=0IOWKooO2JC1C-n8BTYuekDyqae1NTXxu6ERB4Qo-C0,3542
208
205
  streamlit/proto/NamedDataSet_pb2.py,sha256=LAx8J9PsxG7Qg9U7M7e3jqz-OzfNmvRC-uu5jiGaHew,1378
209
206
  streamlit/proto/NamedDataSet_pb2.pyi,sha256=A22anWBtsbmnTOTXISh8Ym-MjFzQLPZVxCWZs_hy6D0,2123
210
- streamlit/proto/NewSession_pb2.py,sha256=epunSzwxDkgC6RlXT_473Z922926fsGg2ST4ucS4HMU,5153
211
- streamlit/proto/NewSession_pb2.pyi,sha256=ER9nZBk-bI-o-1oXVM0Wpshc71YxKRMGXwD7djxha_E,17998
207
+ streamlit/proto/NewSession_pb2.py,sha256=h7SmfPt8wiLOCXibakGN4dTs3n43e7aTkK2WfWH9kvg,5205
208
+ streamlit/proto/NewSession_pb2.pyi,sha256=ROYwnQTCZ_G4UFpdmT5QNOqtLWc_r0UnaEtgVNCfhC0,18437
212
209
  streamlit/proto/NumberInput_pb2.py,sha256=FbZBGbEcZMdgnxQ2v0H0Dr7I_xQVRtL_e9Vz2kCojfY,2359
213
210
  streamlit/proto/NumberInput_pb2.pyi,sha256=jbIpxEPSNlN9LZmDcmU7CUDdHz26Ljn2cXpNJIAfQQk,5182
214
211
  streamlit/proto/PageConfig_pb2.py,sha256=R7vneJMgMo-66k65cBtnyJJwU7ObSdVA6y5e3KvuKxA,2117
@@ -219,8 +216,8 @@ streamlit/proto/PageLink_pb2.py,sha256=5mW8sdSY8LfQqlS3TB9Vupym8LjYEx5RZD6yskxRS
219
216
  streamlit/proto/PageLink_pb2.pyi,sha256=IpWHZ1VNohOOcEUeKJ-mKjq4ubM8fINIdrmEk8vgrbs,2679
220
217
  streamlit/proto/PageNotFound_pb2.py,sha256=b-xSBiQseBcuPJO1EDmbkfJwY584Z1VAHluIh9Y-JrQ,1159
221
218
  streamlit/proto/PageNotFound_pb2.pyi,sha256=53E1hi4L2-iZSC0J-WnUNG59pnO5FO_3u40q3LIFuS4,1429
222
- streamlit/proto/PageProfile_pb2.py,sha256=bDr3OlcEKcCLJ5wi54ujBbdGeqliIsKZnGSHL0-gDWI,1911
223
- streamlit/proto/PageProfile_pb2.pyi,sha256=zsvOlgAwSxphu_94vV1-isKGMKccle39gaZEW8iO9BA,4658
219
+ streamlit/proto/PageProfile_pb2.py,sha256=h_bt2EOrPALLqvMmmPUUrjiaclY16jlNx84f9Hrp1-0,1958
220
+ streamlit/proto/PageProfile_pb2.pyi,sha256=UW7KxMW2Fd4G0WUYjluJZrhmw4XURupbQXiUSG3h2AM,4825
224
221
  streamlit/proto/PagesChanged_pb2.py,sha256=-S8uw9j_W3dg-TVM2pXU9angUwEubGnCuxozL0V3qe0,1295
225
222
  streamlit/proto/PagesChanged_pb2.pyi,sha256=CiFcgeVCEteaYuQc4QzVulGCFvJg41Ah-SF6AzxhWE8,1704
226
223
  streamlit/proto/ParentMessage_pb2.py,sha256=L0eDqBp7mH7OsMFGR5J3UlPp7Or2ba0LqvImJdo_fhQ,1164
@@ -267,19 +264,20 @@ streamlit/proto/__init__.py,sha256=tM42Nl1HAphMoWU8F7noymVPJLj3dEnqqIitEQCr2XE,6
267
264
  streamlit/proto/openmetrics_data_model_pb2.py,sha256=cPFvjlswUH9I5Ktoof8XZGlm5v_CHDzq65ZUQKwFEZ0,5938
268
265
  streamlit/proto/openmetrics_data_model_pb2.pyi,sha256=cDrO3xOwEF6iy1BZa-PHqmVKTcv6EXaUkiMHOkYM2-I,20476
269
266
  streamlit/runtime/__init__.py,sha256=Xx5OVY9Nv8Z6ndbYtJBm3lgR2pn83omEOlDaSl9V2dE,1523
270
- streamlit/runtime/app_session.py,sha256=ZuYQX-8Q7fz7WYS1zA6u6DObY36s3uD7ORD-mucyxZ8,34771
267
+ streamlit/runtime/app_session.py,sha256=9HAlhLfE_74aV1tl1QWiPwbkT4inlUmMNJWURszFRKE,36802
271
268
  streamlit/runtime/connection_factory.py,sha256=7ImsODVThE6coSyYmyLGREutcULiZuyR9aw7Py-xGhE,12414
272
269
  streamlit/runtime/credentials.py,sha256=U02X0aRktpvDrU4_RDpWuJjXK2m_UX9t6SIWC4aNH70,11500
273
270
  streamlit/runtime/forward_msg_cache.py,sha256=YjoFV9BsvskZywI67AsyNSHfk-bAY2SjruG7Ks4hKi8,9805
274
271
  streamlit/runtime/forward_msg_queue.py,sha256=gz7_XnoMVJrKLgghbGcmtihi5SM0qVo_qcOQZBj2ZAA,5550
272
+ streamlit/runtime/fragment.py,sha256=r4XjqUrQne99JOYy2UBZJoLQZ4AgxDB0XyR7ODbAgpM,8251
275
273
  streamlit/runtime/media_file_manager.py,sha256=z6qcjWk1YiNbvRj3r9vSFZuoDzRscVr9CpNmTJs2Mgc,8510
276
274
  streamlit/runtime/media_file_storage.py,sha256=hQkMC__XRjshEUD73QCSrX3vrfOOO0U7Vf1Uc6qiP90,4375
277
275
  streamlit/runtime/memory_media_file_storage.py,sha256=voiscKQAwKdhIExlsnCaZDRKrKso2yU7KlA92Cgqu2M,6331
278
276
  streamlit/runtime/memory_session_storage.py,sha256=Tx-_3oUg6i9UokpBUIWvqhpWE0WmjtX764KdOzNvDMs,2940
279
277
  streamlit/runtime/memory_uploaded_file_manager.py,sha256=rCLvdZv2nPlWeCiHnwV8phcVV43mUCgW7BaWkmEXgpM,4422
280
- streamlit/runtime/metrics_util.py,sha256=29DvzbI-c74P3jwrLGPgNXKbx3Hi1Zu2u-OJ5G8wCig,14039
281
- streamlit/runtime/runtime.py,sha256=aeO8Sksr2vAdkC0vHDkNhzZKGLJzU6qZxqEAMFPxP2M,29156
282
- streamlit/runtime/runtime_util.py,sha256=9Z04nAr8b3nQ7jZjcEYo0ExZGtXUYFGIyYhcZcqW_m0,3796
278
+ streamlit/runtime/metrics_util.py,sha256=d1UkSsTK6pOdPS8RSzHM8uHGcmjInTopAhPpMaj4igQ,14265
279
+ streamlit/runtime/runtime.py,sha256=TUlFAC5vGfY8PfJ3sp8gclFtHjgXeWJHg21OsIAiegU,29068
280
+ streamlit/runtime/runtime_util.py,sha256=sXXCUBTsyfTbyM6z9w4Mq1ZhmN_BWsXlXL1y6almV_I,5185
283
281
  streamlit/runtime/script_data.py,sha256=-sBITUF0U7DIDL5LE_nFpXAvjnEfiJ9J3HAnnqML9ds,1749
284
282
  streamlit/runtime/secrets.py,sha256=gc-_twZig0XSoXNvK_asGEPFj8UpnlZ0WWz1Ftkk3pU,12302
285
283
  streamlit/runtime/session_manager.py,sha256=u0grNXRzDoK6Z_4z4dEF1YsICG6D8qUdY5bBG6mr938,13017
@@ -287,11 +285,11 @@ streamlit/runtime/stats.py,sha256=2ldQwWI5DjobZZqXWwwsWgwaj4KWRqWjHmPzgGVXWL8,38
287
285
  streamlit/runtime/uploaded_file_manager.py,sha256=gkCGjX-d1eyrnHPNz4n-CC-fbFM-FGL1f9JK5ODJXME,4784
288
286
  streamlit/runtime/websocket_session_manager.py,sha256=BWxC1ycURgIH9b_f28_UTsBiVWDobMnCG213fW7wMik,6443
289
287
  streamlit/runtime/caching/__init__.py,sha256=EkSPYty4BxOFGFLdziY-IP6jtvOaF8o9SzNHQUwwZkg,5029
290
- streamlit/runtime/caching/cache_data_api.py,sha256=vnx7BHsApOTvjOjZz1ngG0gYJOO32SgsYgwxrVlT-UI,26128
291
- streamlit/runtime/caching/cache_errors.py,sha256=atgsEjxKPi1bIyExiAN3cojJKMf5z7wu3zcFhG5AaF0,6371
292
- streamlit/runtime/caching/cache_resource_api.py,sha256=1Y_A77Qm9fyry4E9wT7Nvt-BmtK-oce-EmqGp0YFeBU,21293
288
+ streamlit/runtime/caching/cache_data_api.py,sha256=gGbAzsV8nZDBOkdoOt1cZDqgaGE12wHD0o8_RHZj0wI,26158
289
+ streamlit/runtime/caching/cache_errors.py,sha256=sIq3uKJ7Qcusqa6BfDhF6rENXARrgQW7OAlXPwObzg0,6017
290
+ streamlit/runtime/caching/cache_resource_api.py,sha256=zZF1M-pRj2kAm4__YGkZb-LelbNYbDesL5KvZG16yjI,21322
293
291
  streamlit/runtime/caching/cache_type.py,sha256=P21JWouFWU0qXQyHbM3y3A1pLZud90ALGeO4bQ5Pvew,1131
294
- streamlit/runtime/caching/cache_utils.py,sha256=pdYb6SZDNJW0YYcwCqwM9khXfh9-L97AsDY7hlFC8GI,17710
292
+ streamlit/runtime/caching/cache_utils.py,sha256=aT7Q3y4pdRB7QfdEdYbpkDfwZ5E7rshVdIfbkmlMAm8,16719
295
293
  streamlit/runtime/caching/cached_message_replay.py,sha256=WsZJej5No7p_qXlohw1ej2IHzMc2Q6bMgohmMrBkEKI,18554
296
294
  streamlit/runtime/caching/hashing.py,sha256=jBITAKAWfWRJizaHB-7y_SgoF4DJnuqpwL-ETGRdPwY,18986
297
295
  streamlit/runtime/caching/storage/__init__.py,sha256=b3JyzTI6Nyc3htcNZAq_f-XP3jMqnW2UNEbK3bm8bVs,965
@@ -306,31 +304,31 @@ streamlit/runtime/scriptrunner/__init__.py,sha256=QpX77DVR8S2lhf7tC_5dcYRyJ2290_
306
304
  streamlit/runtime/scriptrunner/magic.py,sha256=R9cip4qAwb-8jvErueWdXrsumavxFf7Y-4dCeHUD29s,9116
307
305
  streamlit/runtime/scriptrunner/magic_funcs.py,sha256=_npS_w-0riPNr1-dPyOSjqrwTXoeSR-gXWFkChQ5Yjc,1056
308
306
  streamlit/runtime/scriptrunner/script_cache.py,sha256=ZpaB4T50_GYfhMc2dajSMXWCmS3kaUJ_tPHNVt_flBg,2856
309
- streamlit/runtime/scriptrunner/script_requests.py,sha256=wxmxfScxKAw8Tl1yntpzMityA00qOAs3eb0f89tEbUM,7142
310
- streamlit/runtime/scriptrunner/script_run_context.py,sha256=ri3kqR0JJdXvDmJWUlZf8XthlFHmNA1cmZZUbTgVkz8,8072
311
- streamlit/runtime/scriptrunner/script_runner.py,sha256=yeON8dVhpAjdRpCK3TNV7nPw5rZ0bqxpRFUZKcKXMaQ,26812
307
+ streamlit/runtime/scriptrunner/script_requests.py,sha256=oGSvQ12To4eWX3Rp5edbBkWTFcyxKTIa0HPQnh_m-bw,8027
308
+ streamlit/runtime/scriptrunner/script_run_context.py,sha256=cKuIkh1jX095aysJd4zr5SD7OXGelY2vq78HPpXbDjw,8483
309
+ streamlit/runtime/scriptrunner/script_runner.py,sha256=3n8L2sZ16Jd26gFB6EsrMwzvhhxg5S1c4Nr9nG_AOIo,29149
312
310
  streamlit/runtime/state/__init__.py,sha256=UpfNfPrWJ6rVdD-qc0IP_bwZ4MrcNUjyU9wEKDK-eWM,1528
313
- streamlit/runtime/state/common.py,sha256=FXhqxk_kgLd3zeWabRjVpBJ7vE1syiszTpb1fGXRI60,7956
311
+ streamlit/runtime/state/common.py,sha256=RjuB3wNG_XXrkEsqa9eg1f5JLheIqvKiVpxoT3YptUI,7992
314
312
  streamlit/runtime/state/query_params.py,sha256=sAAJns_kevmiekOxE2Hq6ObvkF905SprThLAU1bC_LM,6707
315
313
  streamlit/runtime/state/query_params_proxy.py,sha256=OH7Dz4A9pGNALjEb2RzTN33pwcP3Q9sY6XO9I5iwOu8,4970
316
314
  streamlit/runtime/state/safe_session_state.py,sha256=StGh9V-tm7MCfohgw5FFfwz8tDwwHLeucXAN-lLLObg,5169
317
- streamlit/runtime/state/session_state.py,sha256=IQFb-1z6za9dSpeIWfm_rtk0QpG07UfxohvcHh1yTJY,26197
315
+ streamlit/runtime/state/session_state.py,sha256=JOV9Nb-_nMJ4c6Av5ZeVFAy2qgN_ja00x_TJPSMMhy4,27399
318
316
  streamlit/runtime/state/session_state_proxy.py,sha256=k2JJ9ZX7rMYjpzeGy0WZaBKYaWnXxrbJC5jqdnRQ3jI,5119
319
- streamlit/runtime/state/widgets.py,sha256=dgPawgm1QC_OgH12xWWZ0I1sOvZFx8HrtRW3xwT5qPk,10975
320
- streamlit/static/asset-manifest.json,sha256=XlgxFfSWV_XxdNn0P_nd97EJ7Gyscc6GL7lS_j7siac,14226
317
+ streamlit/runtime/state/widgets.py,sha256=zVSL90_lqQWX81qZSbqfxpC2yxjJOtLndOnn7ehPBNk,11223
318
+ streamlit/static/asset-manifest.json,sha256=vEfEeMTTq2cFBbpGzvKOi5-KB1Dhs-FNaicneXY-DcA,14226
321
319
  streamlit/static/favicon.png,sha256=if5cVgw7azxKOvV5FpGixga7JLn23rfnHcy1CdWI1-E,1019
322
- streamlit/static/index.html,sha256=jqDEUiehbVc5edtgigDRKUZuCeW5ORXwR0_rkHCRYX4,891
320
+ streamlit/static/index.html,sha256=WRI3ANTvFxj3W-Ussa0GNGGUIXeIV71_K3g3jbA3eEg,891
323
321
  streamlit/static/static/css/2411.81b3d18f.chunk.css,sha256=7WxsSsC_REs_rrfQTODJt34QZfNePqEv_fc-KFLcOz4,33375
324
322
  streamlit/static/static/css/3092.f719e2e6.chunk.css,sha256=XSUvuZGRQDz5BRgviGRFNqSmpxmdv3qP28h5wNFlC0I,12145
325
323
  streamlit/static/static/css/43.c24b25fa.chunk.css,sha256=oOQFf_CH_DqXNsgcLiXOIk4uuluqNRMkobp8p6uc3y4,2666
326
324
  streamlit/static/static/css/main.bf304093.css,sha256=EE6RGlzIWBsPsf1itwOP0M-IQxbY44y1OuUALv992WY,29048
327
- streamlit/static/static/js/1074.71719df6.chunk.js,sha256=-Jalstf7v7d3XRcXx4EShFWRzTMKpw2gm8EzI1HKLAQ,5427
325
+ streamlit/static/static/js/1074.73973756.chunk.js,sha256=yYfPwAD3dU5390zR-Bx_1D7daQYbNTWlJLaLS1f-8RQ,5446
328
326
  streamlit/static/static/js/1168.3029456a.chunk.js,sha256=tiFw6qALk7px-8nkg3z-_4R24N1WD3IZ-BHk_8I1lQg,6469
329
327
  streamlit/static/static/js/1307.8ea033f1.chunk.js,sha256=1RsYHRF-URzLz2ZsTxxbosYFhAaFmV_SklhAXb0zWd4,1524
330
- streamlit/static/static/js/1451.e3be1711.chunk.js,sha256=GRYNWlnXrMdd1zdgkSI8PUt5r7swAyLr1klE1ThHE8Y,5005
328
+ streamlit/static/static/js/1451.3b0a3e31.chunk.js,sha256=vRhjwzHQWIfETHeKITj1Y2AjyGFvZDjei7pLxcSicDk,5024
331
329
  streamlit/static/static/js/1479.6709db03.chunk.js,sha256=WiqEhTakao-C6xpgeqCYklaAVvSNA5oQfySGE0MJF44,9618
332
330
  streamlit/static/static/js/178.b5384fd0.chunk.js,sha256=TGeEpwP7r1LavYH47iI2m_Dcw_UhsXeWmDM7BeOELtM,1916
333
- streamlit/static/static/js/1792.16c16498.chunk.js,sha256=ugkpIuQPKezP0y9WEr2sbmWnJQg-xYNhjzpo-aowrDg,725
331
+ streamlit/static/static/js/1792.b8efa879.chunk.js,sha256=AJnLyY2e9pB7aKW-9hHVpJESDvkm_qE5T0FSTs7lMPg,740
334
332
  streamlit/static/static/js/2187.9469f035.chunk.js,sha256=sfHKNps1wTMCQpY-TlOVHeSItUl-UG3P4gOIs015d2E,32468
335
333
  streamlit/static/static/js/2411.b389bf4e.chunk.js,sha256=JhZK66Hc-eUOV9FzVls2N48EconRlDHRTXrfHszTsQw,2090695
336
334
  streamlit/static/static/js/2411.b389bf4e.chunk.js.LICENSE.txt,sha256=Y1fleKS2IHb4F8mxd6qnuz8K71NI0Oazz2iARd0H6uM,498
@@ -338,56 +336,56 @@ streamlit/static/static/js/2469.3e9c3ce9.chunk.js,sha256=G_7zTef5QxvsaJVnShNRGGN
338
336
  streamlit/static/static/js/2736.17fbad1a.chunk.js,sha256=c-eCUZUIC8COfgZIvgVBN8luW0oeoeNmnzg2wsZGZ8M,3612899
339
337
  streamlit/static/static/js/2736.17fbad1a.chunk.js.LICENSE.txt,sha256=tDhUc1uKAxm9xI1Hmk3VIMtA2vpN16iFFomXeLMKUQc,2087
340
338
  streamlit/static/static/js/3053.7e70ec3b.chunk.js,sha256=w__PpwDgSoGYpVF_yvIn0lvww0DjIJeITvXKcYfLwd8,3259
341
- streamlit/static/static/js/3092.3d4df25e.chunk.js,sha256=639WWBFTAOkZX3s20Wobb-EbNUuKaIXF5qPIwb7Faxg,43463
339
+ streamlit/static/static/js/3092.ad569cc8.chunk.js,sha256=F8Hau32uKldAM3r7JHVRqoasiSR9acfwIcGR3rAz7qQ,43481
342
340
  streamlit/static/static/js/3301.1d1b10bb.chunk.js,sha256=TbgR_nsEaMzQT3WmvPZ6hCClKcUGkwd8rytZwnSH-LY,1931
343
- streamlit/static/static/js/3513.57cff89c.chunk.js,sha256=C7zlIbrXqDZTbJfhckOaonaWhQ1P8hGtsOeQzC-yve4,914
341
+ streamlit/static/static/js/3513.e3e7300a.chunk.js,sha256=ybcGq4OZki8ZBq7DcYO1wtXeONq5-OWT-cJzFJnTNIk,929
344
342
  streamlit/static/static/js/3631.be5c35fa.chunk.js,sha256=OzF7d8fqPR2XqRzc2JgG-HilB9pW5XQvav0qNal78lg,5288
345
343
  streamlit/static/static/js/3998.01237fcf.chunk.js,sha256=4HR-SFAoW-qSO9A3exk0V3rCRkfCaIMMaxPcLGB6b74,13223
346
344
  streamlit/static/static/js/4113.1e7eff4d.chunk.js,sha256=x_eO2c8lZi2_SC7PtE4hg29IPueiwJSaLJ_DQ6rPWg8,2559
347
345
  streamlit/static/static/js/4132.49bf3f2c.chunk.js,sha256=7VSP_20CCc0ynooZRtZBcr9g-afnXpGmrqlUpK6c0p8,9226
348
346
  streamlit/static/static/js/4132.49bf3f2c.chunk.js.LICENSE.txt,sha256=igkibNn8txupcmLBAXVBW26Sb88LgmTdgCd4fgTQu-E,487
349
- streamlit/static/static/js/4177.ab9a7aa1.chunk.js,sha256=4zY1cRwLKBVUcmlQi76fnWo0-7D3TdbYmvWuHhEv47M,2159
347
+ streamlit/static/static/js/4177.69f9f18d.chunk.js,sha256=BEIcTqNGD5WEz9IlGOGHKQhCxm1pBaesg0hIlvDvH2w,2178
350
348
  streamlit/static/static/js/4185.78230b2a.chunk.js,sha256=D8MM-8xNn_bjWtAGzeu5M5d-8OoGHC7dhH4tJUToYQs,6420
351
349
  streamlit/static/static/js/4253.749d5244.chunk.js,sha256=UP0ycQ9KIgPv05x2hS57QSrhPDFIQtHa8OgI5V-BiZU,395952
352
350
  streamlit/static/static/js/4253.749d5244.chunk.js.LICENSE.txt,sha256=6s4mSSf8NHGJqUCFAj3VgMXZuNYyAzshKRhvxYZTQoU,281
353
351
  streamlit/static/static/js/43.76c54963.chunk.js,sha256=IJ05jxJgFmsVq3PG-NEYsZQrhWdKmSaDfr6kAuf7LfU,8157
354
- streamlit/static/static/js/4319.213fc321.chunk.js,sha256=aHGW0HyWTEwz55b0PKJj8n99lZQdKPnJK9mMjLdg4mg,2393
355
- streamlit/static/static/js/4477.2555c11a.chunk.js,sha256=0BL08NofHfBWogbfkBPRPBigPSgCGTkAZ_jLaSJurA0,20642
352
+ streamlit/static/static/js/4319.a6745434.chunk.js,sha256=ZL-_6BnEAWrs2XTSIFrnT9m5L28r7BckmDA32EWbnRk,2412
353
+ streamlit/static/static/js/4477.e10e4373.chunk.js,sha256=QrFcTqscFOn0zFUDP8AAVhDCXTwB7lL75O2zq_5840k,20661
356
354
  streamlit/static/static/js/4500.b6f348d1.chunk.js,sha256=-lgkjMD-44gw_WlOjkI7v7Ruq1GV0-ZaN6r59gdBJEk,587
357
- streamlit/static/static/js/4666.99f3abc3.chunk.js,sha256=hpkjggtBv8X2D9f7rCdFBYenI17dp9bUyHo6NfaXiZ8,14660
355
+ streamlit/static/static/js/4666.b694c5a9.chunk.js,sha256=Mfnckt47ce41SjeoWf48H-M97LTAw3NRCoLirlEG3jw,14718
358
356
  streamlit/static/static/js/474.87506447.chunk.js,sha256=53UXid5OtcopEqbX4i70AszYcQruFauTq2NjP-_5fsY,4800
359
- streamlit/static/static/js/5106.22187bfc.chunk.js,sha256=TiIgWIzYEA-emj-p_6hGmGIkqOdpU1Yq6N7xhIXsRU4,7142
357
+ streamlit/static/static/js/5106.44f0ff51.chunk.js,sha256=aAGpqRrzVOlFHqBopYM2GLt9qcZ9h3fRxgFcuJ16nZw,7161
360
358
  streamlit/static/static/js/5117.04bfe5d3.chunk.js,sha256=X9_mcI6Axh7gJ1vHpnWY3WwvrJP4_8RjDj7lf3Sflps,21681
361
359
  streamlit/static/static/js/5345.65c91ee7.chunk.js,sha256=tIPHPVcIHGQMIy3_4CrO5vbHlLjogYqzHZ42Y1p_FEk,8252
362
- streamlit/static/static/js/5379.e466522d.chunk.js,sha256=z5wTgN4ef-RZ5v7FMOjLsCy-AXfPPUmDhERGwcufErU,10855
360
+ streamlit/static/static/js/5379.6571574f.chunk.js,sha256=g19Qe0ubL35F_bDHl42_p7sl_786ddUsysjhbJoERuw,10874
363
361
  streamlit/static/static/js/5791.9a42fb4b.chunk.js,sha256=6j7S1fDfB321ibbChH0lWkP3W2iNCCdJEPhtC-S9STM,107585
364
- streamlit/static/static/js/6013.75c92264.chunk.js,sha256=N5lAwz-0r9tAohXUdCu4ig1M4rQQPYOeXuiFW_F85_0,11405
362
+ streamlit/static/static/js/6013.8e80e091.chunk.js,sha256=AhR6enqcqaWZkHVyhnRS881jbpQ_Gn6SgDQa2yMJlSk,11420
365
363
  streamlit/static/static/js/6150.1294fa0d.chunk.js,sha256=rlAip3PhCfN3vHbez357MDh09Y_0TFiD-DiDbs5OeFo,2249519
366
364
  streamlit/static/static/js/6405.ac5a6f23.chunk.js,sha256=u7b4I7WVspIbm8eKcgMs2L0aTG3f414AHrJtDsHfwSU,13239
367
365
  streamlit/static/static/js/656.ae85f8f1.chunk.js,sha256=L5leEaKef8ZxbZRRulY0mQA0sUBIuYmtueuyvEHkvjw,840843
368
366
  streamlit/static/static/js/656.ae85f8f1.chunk.js.LICENSE.txt,sha256=MFVywCe4fCte7HrHaVpL-jnDWhe9ei9zkyRvRUXQU-4,212
369
- streamlit/static/static/js/6718.97945fc6.chunk.js,sha256=lVYKPsB2DS2B7W_qCuonE2GSAFuaPEOVuwQpyvFv_CA,24475
367
+ streamlit/static/static/js/6718.802da17e.chunk.js,sha256=RhbHOhX-Uk28eSUtfqK_O0TkBhdM0JXUUy8fXc_qmkA,24494
370
368
  streamlit/static/static/js/6853.d999ac75.chunk.js,sha256=4ecKJhKScbgxjCFCrCbqX0cBCo5Hm7kl11oa1xoCUJA,1371
371
369
  streamlit/static/static/js/7142.83028745.chunk.js,sha256=B803yufbyma709LcFo35WRl6umQplzb28w6vW25Enzk,88545
372
- streamlit/static/static/js/7175.8c1b4d38.chunk.js,sha256=e9A3zj1uB_4oo0aaXWFojYbDlgNNOIp2UoSVL-MFUh8,9590
370
+ streamlit/static/static/js/7175.be4076bc.chunk.js,sha256=JfU4QaXURLwBENyoD7Ni7kyUK9metD_5_TePTimI7-w,9607
373
371
  streamlit/static/static/js/7217.d970c074.chunk.js,sha256=n14UUP4VpXCKq04hD3C-Vy-d3VShoGxN-cdd0Y140Ho,65522
374
372
  streamlit/static/static/js/7323.2808d029.chunk.js,sha256=_PwOSrkykxt7cwgyHDsQVTTKZgy47IelPIOo50qO55I,3383788
375
373
  streamlit/static/static/js/7323.2808d029.chunk.js.LICENSE.txt,sha256=eaJYPeiNKQAvVx6lv1DR9gIPG1pFwki2pcDLddtfQHw,5061
376
- streamlit/static/static/js/7602.f0420392.chunk.js,sha256=U6GneJa9i7Le7u6Mt5sQ4umg5RBDuGmtmO6oPJI36zs,13219
374
+ streamlit/static/static/js/7602.6175e969.chunk.js,sha256=ar3OMl7qkZPzYN5OcF6R1IkSWjwhpHVKqJ5z0_fKTvM,13275
377
375
  streamlit/static/static/js/7805.51638fbc.chunk.js,sha256=oUqnzsn7iKgtE6g3j9TSNXSs3owN1FejwzCp4V-Rnrk,1069
378
376
  streamlit/static/static/js/8005.43974a35.chunk.js,sha256=0WJomUw6UcQmH5JyhRJbaTUPk52drggGHoau5qKzxoQ,3358
379
377
  streamlit/static/static/js/8427.44d27448.chunk.js,sha256=36XQ3ovcoI4W6ZNJwrKY7I-97-EvBpVf-2xpLn_WhMw,2611
380
378
  streamlit/static/static/js/8477.e948c092.chunk.js,sha256=e6TOGFicjbf4RlBewEjpWgjYCVWrgE8i5EF6ByhGfgo,1888
381
- streamlit/static/static/js/8492.e6dab83f.chunk.js,sha256=M19OrQJ30Tr33IYV8Ssp7HNJUpJ7pB__ganzyqdk7Ks,15473
379
+ streamlit/static/static/js/8492.f56c9d4c.chunk.js,sha256=BGxb-rpcmqElG8IqOUY7sYaMyshQZoT3T5YZfKw-ukQ,15492
382
380
  streamlit/static/static/js/8570.6de19120.chunk.js,sha256=Dxg1jh1yRSXs21gOKvtU19QLvk7BSJRbaj7HC5D8odM,12214
383
- streamlit/static/static/js/8691.24a5792f.chunk.js,sha256=K01YBy36crrzvRYLZBtXD5f3395xk24zCkuVQXhoXLM,10449
381
+ streamlit/static/static/js/8691.9ccf7f89.chunk.js,sha256=Z6tDbwCCJIgs_oWUCGdhRJQ7b0Q39HwSiaJOWD67gIU,10471
384
382
  streamlit/static/static/js/9330.d29313d4.chunk.js,sha256=dwvwBzODEQg33uv5vFMCNTPw9tuw1J2CKGuAE13dYlk,1141
385
383
  streamlit/static/static/js/9336.2d95d840.chunk.js,sha256=6nGdXfPdjgSauDXzdPVqijnQB2ErTgkzwfoinHGt484,13482
386
384
  streamlit/static/static/js/9656.8c935274.chunk.js,sha256=3VB6NT0EQErJUX2SYLQpmNAp19sWI45AbNOQLVjcvII,22113
387
385
  streamlit/static/static/js/9758.6e6d8662.chunk.js,sha256=3Gtwgkru2xQTl1mCxFjILQ_Ppb8DMKySHY5YVhm9ihY,2119
388
386
  streamlit/static/static/js/9865.fd93213d.chunk.js,sha256=Ul2N951ZrAXpJOWo4SV4AKlymjMMNPJxpea3uRt8B_Y,4011
389
- streamlit/static/static/js/main.7fde7092.js,sha256=DYTmavf6jqNtTXuSGEjWdfCe2sTiMUCqlz2e2JbDcjo,4373356
390
- streamlit/static/static/js/main.7fde7092.js.LICENSE.txt,sha256=YTeqT7R6idssTgnyi3gf0tRiq18-LiPeDOpsWcnbi34,3184
387
+ streamlit/static/static/js/main.722453f0.js,sha256=af3GM3iTWmChDBNt61Ms7LkudY1Cujvkt_FqF2QdOVg,4379769
388
+ streamlit/static/static/js/main.722453f0.js.LICENSE.txt,sha256=YTeqT7R6idssTgnyi3gf0tRiq18-LiPeDOpsWcnbi34,3184
391
389
  streamlit/static/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2,sha256=DN04fJWQoan5eUVgAi27WWVKfYbxh6oMgUla1C06cwg,28076
392
390
  streamlit/static/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf,sha256=aFNIQLz90r_7bw6N60hoTdAefwTqKBMmdXevuQbeHRM,63632
393
391
  streamlit/static/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff,sha256=MNqR6EyJP4deJSaJ-uvcWQsocRReitx_mp1NvYzgslE,33516
@@ -477,7 +475,7 @@ streamlit/testing/__init__.py,sha256=Vrf1yVMOcTyhUPnYvsfyeL96Vpd5z8KoSV5ZzTcTQgU
477
475
  streamlit/testing/v1/__init__.py,sha256=XGxNOq4VfmwlVj9K6vXB8dAH1YbI_8AIsvw_vbzQoNA,690
478
476
  streamlit/testing/v1/app_test.py,sha256=rpZ9SWNRznHBmsVMI0x_lIM-Tz1mf4ikafcipPEZ9rY,36323
479
477
  streamlit/testing/v1/element_tree.py,sha256=3Z6ZcuJ_BxNwqaI2AAyj08-BMrn_71EBfxsSYiSZQbg,59526
480
- streamlit/testing/v1/local_script_runner.py,sha256=ZIS3rcnsxcjL7EvbV2t9jGwkZzgW-JvQ6Bu9bgUe6aU,6300
478
+ streamlit/testing/v1/local_script_runner.py,sha256=lMBs2G5xQ1s6RTm08CE8rDjyHYra_uc6YdW3NoIqsqU,6415
481
479
  streamlit/testing/v1/util.py,sha256=IwxXIlGsVNtC1RmtmgdeBHmJYPjK0wiqNL4HMW6IJZI,1791
482
480
  streamlit/vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
483
481
  streamlit/vendor/ipython/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -486,7 +484,7 @@ streamlit/vendor/pympler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
486
484
  streamlit/vendor/pympler/asizeof.py,sha256=noLIqizkYzTkYtA4k8fyvKeiIh8fW9ipW27YP56kQ6o,87925
487
485
  streamlit/watcher/__init__.py,sha256=Tn9E295dBAPIF38TAiWdfIoCsJWXU6rgY1FlxNmLqUU,915
488
486
  streamlit/watcher/event_based_path_watcher.py,sha256=B9vv6PAsWRscChXT7XugFvb6GBMc7qgjFVHNSMKsMXw,13980
489
- streamlit/watcher/local_sources_watcher.py,sha256=WpMCzDRyp9YItOcVeS5382GHvKntRT6IhRvcDdWCHEY,8192
487
+ streamlit/watcher/local_sources_watcher.py,sha256=ETv8G-5px8durCqZ3SLQp6ASwXJ_UktTgVCYAFVW6cw,8238
490
488
  streamlit/watcher/path_watcher.py,sha256=hFc_6FhLHsdbgVRFNJiyelJX3bX_rPvN-PQcgEZ7ZEc,5654
491
489
  streamlit/watcher/polling_path_watcher.py,sha256=VwQ06abbvHSIuvR66YpFDx9ANhrzTmoQylKqSjUosFE,3822
492
490
  streamlit/watcher/util.py,sha256=uDsWPxQ8WLNQ4U_MCqWm38H7BEjSrBpPsIZj1ySK8KM,5203
@@ -497,17 +495,17 @@ streamlit/web/cli.py,sha256=3r4ZMQSQnqk9X4guReFXl5i9lS62L4v8TGT9lFgkuEE,11321
497
495
  streamlit/web/server/__init__.py,sha256=w4TFcV0OjM5zx8ej7oThRIyB6gq3kqdt45XBk1zkRWo,1080
498
496
  streamlit/web/server/app_static_file_handler.py,sha256=2f3uxDsLYztJhDHFUYCX4qEWjPEKtPxb-Zxaae4VsmA,3076
499
497
  streamlit/web/server/browser_websocket_handler.py,sha256=YcP0f4uVc6SQm8fq3c6aHwYRFGrM0cFnqJtkDFsRD7M,7803
500
- streamlit/web/server/component_request_handler.py,sha256=Xuy8laIcgpCecllCL2_tkz4bYtCMP3FOpmCvUhEfuOE,4120
498
+ streamlit/web/server/component_request_handler.py,sha256=SXfikA46GXy8xWaMI5DNKWCbLEHDkhSrYxyNPlRBT9M,4096
501
499
  streamlit/web/server/media_file_handler.py,sha256=2KfzPnMN1RstMtI4fs0PD0vFiFrWMyKL0q7LfWJLYZ4,5270
502
500
  streamlit/web/server/routes.py,sha256=GL41HusnbVxLZE9qLmBujiX0VpwWCXlSAb9w87ol3nE,9922
503
- streamlit/web/server/server.py,sha256=ay5af9h2a-ei4t3X44qXKIs-YHhXSrkMheOaYbev4h8,14834
501
+ streamlit/web/server/server.py,sha256=a0-gVZv3U31SOeupKUx8fETTvyWR4z7yvdlSCG07wpY,14895
504
502
  streamlit/web/server/server_util.py,sha256=FptUF-CjFh78VjeTQDi3R78m7E64MDe3wcklgnWXHh0,4158
505
503
  streamlit/web/server/stats_request_handler.py,sha256=cL__KbJFIhdhf1Zt6skbLehUqT-jo56x1HARxogZDOI,3680
506
504
  streamlit/web/server/upload_file_request_handler.py,sha256=YPDmKWUnaGH9d4QNcMEsY5k1YIz_q-xW1K5fmgHaDzc,4966
507
505
  streamlit/web/server/websocket_headers.py,sha256=07SkWLcOxbyldl7UcBzrMKY9ZojypCQACiKoh5FcH7Y,1870
508
- streamlit_nightly-1.32.3.dev20240325.data/scripts/streamlit.cmd,sha256=ZEYM3vBJSp-k7vwSJ3ba5NzEk9-qHdSeLvGYAAe1mMw,676
509
- streamlit_nightly-1.32.3.dev20240325.dist-info/METADATA,sha256=eThhA0PpwVJpmHml8hKHvTg7zXRFqwwA4uYwgb-tQqI,8528
510
- streamlit_nightly-1.32.3.dev20240325.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
511
- streamlit_nightly-1.32.3.dev20240325.dist-info/entry_points.txt,sha256=uNJ4DwGNXEhOK0USwSNanjkYyR-Bk7eYQbJFDrWyOgY,53
512
- streamlit_nightly-1.32.3.dev20240325.dist-info/top_level.txt,sha256=V3FhKbm7G2LnR0s4SytavrjIPNIhvcsAGXfYHAwtQzw,10
513
- streamlit_nightly-1.32.3.dev20240325.dist-info/RECORD,,
506
+ streamlit_nightly-1.32.3.dev20240328.data/scripts/streamlit.cmd,sha256=ZEYM3vBJSp-k7vwSJ3ba5NzEk9-qHdSeLvGYAAe1mMw,676
507
+ streamlit_nightly-1.32.3.dev20240328.dist-info/METADATA,sha256=hUid7_FlIi_zPzlDdPClr_NoXm_nd_vV_Sc0kPY8DLg,8528
508
+ streamlit_nightly-1.32.3.dev20240328.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
509
+ streamlit_nightly-1.32.3.dev20240328.dist-info/entry_points.txt,sha256=uNJ4DwGNXEhOK0USwSNanjkYyR-Bk7eYQbJFDrWyOgY,53
510
+ streamlit_nightly-1.32.3.dev20240328.dist-info/top_level.txt,sha256=V3FhKbm7G2LnR0s4SytavrjIPNIhvcsAGXfYHAwtQzw,10
511
+ streamlit_nightly-1.32.3.dev20240328.dist-info/RECORD,,
@@ -1,13 +0,0 @@
1
- # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2024)
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.
@@ -1,82 +0,0 @@
1
- # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2024)
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
- import os
18
- import threading
19
- from typing import Final
20
-
21
- from streamlit import util
22
- from streamlit.components.types.base_component_registry import BaseComponentRegistry
23
- from streamlit.components.types.base_custom_component import BaseCustomComponent
24
- from streamlit.errors import StreamlitAPIException
25
- from streamlit.logger import get_logger
26
-
27
- _LOGGER: Final = get_logger(__name__)
28
-
29
-
30
- class LocalComponentRegistry(BaseComponentRegistry):
31
- def __init__(self) -> None:
32
- self._components: dict[str, BaseCustomComponent] = {}
33
- self._lock = threading.Lock()
34
-
35
- def __repr__(self) -> str:
36
- return util.repr_(self)
37
-
38
- def register_component(self, component: BaseCustomComponent) -> None:
39
- """Register a CustomComponent.
40
-
41
- Parameters
42
- ----------
43
- component : BaseCustomComponent
44
- The component to register.
45
- """
46
-
47
- # Validate the component's path
48
- abspath = component.abspath
49
- if abspath is not None and not os.path.isdir(abspath):
50
- raise StreamlitAPIException(f"No such component directory: '{abspath}'")
51
-
52
- with self._lock:
53
- existing = self._components.get(component.name)
54
- self._components[component.name] = component
55
-
56
- if existing is not None and component != existing:
57
- _LOGGER.warning(
58
- "%s overriding previously-registered %s",
59
- component,
60
- existing,
61
- )
62
-
63
- _LOGGER.debug("Registered component %s", component)
64
-
65
- def get_component_path(self, name: str) -> str | None:
66
- """Return the filesystem path for the component with the given name.
67
-
68
- If no such component is registered, or if the component exists but is
69
- being served from a URL, return None instead.
70
- """
71
- component = self._components.get(name, None)
72
- return component.abspath if component is not None else None
73
-
74
- def get_module_name(self, name: str) -> str | None:
75
- component = self._components.get(name, None)
76
- return component.module_name if component is not None else None
77
-
78
- def get_component(self, name: str) -> BaseCustomComponent | None:
79
- return self._components.get(name, None)
80
-
81
- def get_components(self) -> list[BaseCustomComponent]:
82
- return list(self._components.values())
@@ -1,13 +0,0 @@
1
- # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2024)
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.