streamlit-nightly 1.45.2.dev20250526__py3-none-any.whl → 1.45.2.dev20250528__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 (48) hide show
  1. streamlit/auth_util.py +3 -3
  2. streamlit/config.py +12 -11
  3. streamlit/config_option.py +2 -4
  4. streamlit/connections/snowflake_connection.py +4 -3
  5. streamlit/elements/arrow.py +1 -0
  6. streamlit/elements/deck_gl_json_chart.py +1 -0
  7. streamlit/elements/lib/streamlit_plotly_theme.py +54 -53
  8. streamlit/elements/lib/utils.py +15 -0
  9. streamlit/elements/plotly_chart.py +1 -0
  10. streamlit/elements/spinner.py +5 -4
  11. streamlit/elements/vega_charts.py +1 -0
  12. streamlit/elements/widgets/audio_input.py +1 -0
  13. streamlit/elements/widgets/button.py +2 -0
  14. streamlit/elements/widgets/button_group.py +1 -0
  15. streamlit/elements/widgets/camera_input.py +1 -0
  16. streamlit/elements/widgets/chat.py +2 -1
  17. streamlit/elements/widgets/checkbox.py +1 -0
  18. streamlit/elements/widgets/color_picker.py +1 -0
  19. streamlit/elements/widgets/data_editor.py +3 -2
  20. streamlit/elements/widgets/file_uploader.py +1 -0
  21. streamlit/elements/widgets/multiselect.py +1 -0
  22. streamlit/elements/widgets/number_input.py +1 -0
  23. streamlit/elements/widgets/radio.py +1 -0
  24. streamlit/elements/widgets/select_slider.py +1 -0
  25. streamlit/elements/widgets/selectbox.py +1 -0
  26. streamlit/elements/widgets/slider.py +15 -14
  27. streamlit/elements/widgets/text_widgets.py +2 -0
  28. streamlit/elements/widgets/time_widgets.py +2 -0
  29. streamlit/hello/animation_demo.py +8 -8
  30. streamlit/hello/dataframe_demo.py +2 -2
  31. streamlit/hello/mapping_demo.py +2 -2
  32. streamlit/runtime/app_session.py +11 -8
  33. streamlit/runtime/caching/storage/local_disk_cache_storage.py +3 -3
  34. streamlit/runtime/connection_factory.py +12 -12
  35. streamlit/runtime/credentials.py +5 -5
  36. streamlit/runtime/runtime_util.py +2 -2
  37. streamlit/runtime/scriptrunner/script_runner.py +8 -7
  38. streamlit/watcher/local_sources_watcher.py +1 -1
  39. streamlit/web/cli.py +5 -5
  40. streamlit/web/server/authlib_tornado_integration.py +3 -3
  41. streamlit/web/server/oauth_authlib_routes.py +4 -2
  42. streamlit/web/server/oidc_mixin.py +6 -5
  43. {streamlit_nightly-1.45.2.dev20250526.dist-info → streamlit_nightly-1.45.2.dev20250528.dist-info}/METADATA +1 -1
  44. {streamlit_nightly-1.45.2.dev20250526.dist-info → streamlit_nightly-1.45.2.dev20250528.dist-info}/RECORD +48 -48
  45. {streamlit_nightly-1.45.2.dev20250526.data → streamlit_nightly-1.45.2.dev20250528.data}/scripts/streamlit.cmd +0 -0
  46. {streamlit_nightly-1.45.2.dev20250526.dist-info → streamlit_nightly-1.45.2.dev20250528.dist-info}/WHEEL +0 -0
  47. {streamlit_nightly-1.45.2.dev20250526.dist-info → streamlit_nightly-1.45.2.dev20250528.dist-info}/entry_points.txt +0 -0
  48. {streamlit_nightly-1.45.2.dev20250526.dist-info → streamlit_nightly-1.45.2.dev20250528.dist-info}/top_level.txt +0 -0
@@ -24,8 +24,8 @@ from streamlit.hello.utils import show_code
24
24
  def data_frame_demo() -> None:
25
25
  @st.cache_data
26
26
  def get_un_data() -> pd.DataFrame:
27
- AWS_BUCKET_URL = "https://streamlit-demo-data.s3-us-west-2.amazonaws.com"
28
- df = pd.read_csv(AWS_BUCKET_URL + "/agri.csv.gz")
27
+ aws_bucket_url = "https://streamlit-demo-data.s3-us-west-2.amazonaws.com"
28
+ df = pd.read_csv(aws_bucket_url + "/agri.csv.gz")
29
29
  return df.set_index("Region")
30
30
 
31
31
  try:
@@ -31,7 +31,7 @@ def mapping_demo() -> None:
31
31
  return pd.read_json(url)
32
32
 
33
33
  try:
34
- ALL_LAYERS = {
34
+ all_layers = {
35
35
  "Bike rentals": pdk.Layer(
36
36
  "HexagonLayer",
37
37
  data=from_data_file("bike_rental_stats.json"),
@@ -75,7 +75,7 @@ def mapping_demo() -> None:
75
75
  st.sidebar.subheader("Map layers")
76
76
  selected_layers = [
77
77
  layer
78
- for layer_name, layer in ALL_LAYERS.items()
78
+ for layer_name, layer in all_layers.items()
79
79
  if st.sidebar.checkbox(layer_name, True)
80
80
  ]
81
81
  if selected_layers:
@@ -375,8 +375,9 @@ class AppSession:
375
375
  # sometimes stays open.
376
376
  if fragment_id and not self._fragment_storage.contains(fragment_id):
377
377
  _LOGGER.info(
378
- f"The fragment with id {fragment_id} does not exist anymore - "
379
- "it might have been removed during a preceding full-app rerun."
378
+ "The fragment with id %s does not exist anymore - "
379
+ "it might have been removed during a preceding full-app rerun.",
380
+ fragment_id,
380
381
  )
381
382
  return
382
383
 
@@ -954,9 +955,10 @@ def _populate_theme_msg(msg: CustomThemeConfig, section: str = "theme") -> None:
954
955
  if base is not None:
955
956
  if base not in base_map:
956
957
  _LOGGER.warning(
957
- f'"{base}" is an invalid value for theme.base.'
958
- f" Allowed values include {list(base_map.keys())}."
959
- ' Setting theme.base to "light".'
958
+ '"%s" is an invalid value for theme.base. Allowed values include %s. '
959
+ 'Setting theme.base to "light".',
960
+ base,
961
+ list(base_map.keys()),
960
962
  )
961
963
  else:
962
964
  msg.base = base_map[base]
@@ -976,8 +978,8 @@ def _populate_theme_msg(msg: CustomThemeConfig, section: str = "theme") -> None:
976
978
  font_faces = json.loads(font_faces)
977
979
  except Exception as e:
978
980
  _LOGGER.warning(
979
- "Failed to parse the theme.fontFaces config option with json.loads: "
980
- f"{font_faces}.",
981
+ "Failed to parse the theme.fontFaces config option with json.loads: %s.",
982
+ font_faces,
981
983
  exc_info=e,
982
984
  )
983
985
  font_faces = None
@@ -988,7 +990,8 @@ def _populate_theme_msg(msg: CustomThemeConfig, section: str = "theme") -> None:
988
990
  msg.font_faces.append(ParseDict(font_face, FontFace()))
989
991
  except Exception as e: # noqa: PERF203
990
992
  _LOGGER.warning(
991
- f"Failed to parse the theme.fontFaces config option: {font_face}.",
993
+ "Failed to parse the theme.fontFaces config option: %s.",
994
+ font_face,
992
995
  exc_info=e,
993
996
  )
994
997
 
@@ -109,9 +109,9 @@ class LocalDiskCacheStorageManager(CacheStorageManager):
109
109
  and not math.isinf(context.ttl_seconds)
110
110
  ):
111
111
  _LOGGER.warning(
112
- f"The cached function '{context.function_display_name}' has a TTL "
113
- "that will be ignored. Persistent cached functions currently don't "
114
- "support TTL."
112
+ "The cached function '%s' has a TTL that will be ignored. "
113
+ "Persistent cached functions currently don't support TTL.",
114
+ context.function_display_name,
115
115
  )
116
116
 
117
117
 
@@ -38,13 +38,13 @@ if TYPE_CHECKING:
38
38
  # 2. Writing two new @overloads for connection_factory (one for the case where the
39
39
  # only the connection name is specified and another when both name and type are).
40
40
  # 3. Updating test_get_first_party_connection_helper in connection_factory_test.py.
41
- FIRST_PARTY_CONNECTIONS: Final[dict[str, type[BaseConnection[Any]]]] = {
41
+ _FIRST_PARTY_CONNECTIONS: Final[dict[str, type[BaseConnection[Any]]]] = {
42
42
  "snowflake": SnowflakeConnection,
43
43
  "snowpark": SnowparkConnection,
44
44
  "sql": SQLConnection,
45
45
  }
46
- MODULE_EXTRACTION_REGEX = re.compile(r"No module named \'(.+)\'")
47
- MODULES_TO_PYPI_PACKAGES: Final[dict[str, str]] = {
46
+ _MODULE_EXTRACTION_REGEX = re.compile(r"No module named \'(.+)\'")
47
+ _MODULES_TO_PYPI_PACKAGES: Final[dict[str, str]] = {
48
48
  "MySQLdb": "mysqlclient",
49
49
  "psycopg2": "psycopg2-binary",
50
50
  "sqlalchemy": "sqlalchemy",
@@ -52,6 +52,7 @@ MODULES_TO_PYPI_PACKAGES: Final[dict[str, str]] = {
52
52
  "snowflake.connector": "snowflake-connector-python",
53
53
  "snowflake.snowpark": "snowflake-snowpark-python",
54
54
  }
55
+ _USE_ENV_PREFIX: Final = "env:"
55
56
 
56
57
  # The BaseConnection bound is parameterized to `Any` below as subclasses of
57
58
  # BaseConnection are responsible for binding the type parameter of BaseConnection to a
@@ -104,12 +105,12 @@ def _create_connection(
104
105
 
105
106
 
106
107
  def _get_first_party_connection(connection_class: str) -> type[BaseConnection[Any]]:
107
- if connection_class in FIRST_PARTY_CONNECTIONS:
108
- return FIRST_PARTY_CONNECTIONS[connection_class]
108
+ if connection_class in _FIRST_PARTY_CONNECTIONS:
109
+ return _FIRST_PARTY_CONNECTIONS[connection_class]
109
110
 
110
111
  raise StreamlitAPIException(
111
112
  f"Invalid connection '{connection_class}'. "
112
- f"Supported connection classes: {FIRST_PARTY_CONNECTIONS}"
113
+ f"Supported connection classes: {_FIRST_PARTY_CONNECTIONS}"
113
114
  )
114
115
 
115
116
 
@@ -366,12 +367,11 @@ def connection_factory( # type: ignore
366
367
  >>> conn = st.connection("my_sql_connection", type=SQLConnection)
367
368
 
368
369
  """
369
- USE_ENV_PREFIX = "env:"
370
370
 
371
- if name.startswith(USE_ENV_PREFIX):
371
+ if name.startswith(_USE_ENV_PREFIX):
372
372
  # It'd be nice to use str.removeprefix() here, but we won't be able to do that
373
373
  # until the minimum Python version we support is 3.9.
374
- envvar_name = name[len(USE_ENV_PREFIX) :]
374
+ envvar_name = name[len(_USE_ENV_PREFIX) :]
375
375
  name = os.environ[envvar_name]
376
376
 
377
377
  # type is a nice kwarg name for the st.connection user but is annoying to work with
@@ -380,7 +380,7 @@ def connection_factory( # type: ignore
380
380
  connection_class = type
381
381
 
382
382
  if connection_class is None:
383
- if name in FIRST_PARTY_CONNECTIONS:
383
+ if name in _FIRST_PARTY_CONNECTIONS:
384
384
  # We allow users to simply write `st.connection("sql")` instead of
385
385
  # `st.connection("sql", type="sql")`.
386
386
  connection_class = _get_first_party_connection(name)
@@ -424,11 +424,11 @@ def connection_factory( # type: ignore
424
424
  return conn
425
425
  except ModuleNotFoundError as e:
426
426
  err_string = str(e)
427
- missing_module = re.search(MODULE_EXTRACTION_REGEX, err_string)
427
+ missing_module = re.search(_MODULE_EXTRACTION_REGEX, err_string)
428
428
 
429
429
  extra_info = "You may be missing a dependency required to use this connection."
430
430
  if missing_module:
431
- pypi_package = MODULES_TO_PYPI_PACKAGES.get(missing_module.group(1))
431
+ pypi_package = _MODULES_TO_PYPI_PACKAGES.get(missing_module.group(1))
432
432
  if pypi_package:
433
433
  extra_info = f"You need to install the '{pypi_package}' package to use this connection."
434
434
 
@@ -29,7 +29,7 @@ from streamlit.logger import get_logger
29
29
  _LOGGER: Final = get_logger(__name__)
30
30
 
31
31
 
32
- _CONFIG_FILE_PATH = (
32
+ _CONFIG_FILE_PATH: Final = (
33
33
  r"%userprofile%/.streamlit/config.toml"
34
34
  if env_util.IS_WINDOWS
35
35
  else "~/.streamlit/config.toml"
@@ -263,7 +263,7 @@ class Credentials:
263
263
  if self.activation.is_valid:
264
264
  self.save()
265
265
  # IMPORTANT: Break the text below at 80 chars.
266
- TELEMETRY_TEXT = f"""
266
+ telemetry_text = f"""
267
267
  You can find our privacy policy at {cli_util.style_for_cli("https://streamlit.io/privacy-policy", underline=True)}
268
268
 
269
269
  Summary:
@@ -278,15 +278,15 @@ class Credentials:
278
278
  gatherUsageStats = false
279
279
  """
280
280
 
281
- cli_util.print_to_cli(TELEMETRY_TEXT)
281
+ cli_util.print_to_cli(telemetry_text)
282
282
  if show_instructions:
283
283
  # IMPORTANT: Break the text below at 80 chars.
284
- INSTRUCTIONS_TEXT = f"""
284
+ instructions_text = f"""
285
285
  {cli_util.style_for_cli("Get started by typing:", fg="blue", bold=True)}
286
286
  {cli_util.style_for_cli("$", fg="blue")} {cli_util.style_for_cli("streamlit hello", bold=True)}
287
287
  """
288
288
 
289
- cli_util.print_to_cli(INSTRUCTIONS_TEXT)
289
+ cli_util.print_to_cli(instructions_text)
290
290
  activated = True
291
291
  else: # pragma: nocover
292
292
  _LOGGER.error("Please try again.")
@@ -79,8 +79,8 @@ def serialize_forward_msg(msg: ForwardMsg) -> bytes:
79
79
 
80
80
  msg_size_error = MessageSizeError(msg_str)
81
81
  _LOGGER.warning(
82
- "Websocket message size limit exceeded. "
83
- f"Showing error to the user: {msg_size_error}"
82
+ "Websocket message size limit exceeded. Showing error to the user: %s",
83
+ msg_size_error,
84
84
  )
85
85
  exception.marshall(msg.delta.new_element.exception, msg_size_error)
86
86
  # Deactivate caching for this error message:
@@ -130,14 +130,14 @@ def _mpa_v1(main_script_path: str) -> None:
130
130
  from streamlit.navigation.page import StreamlitPage
131
131
 
132
132
  # Select the folder that should be used for the pages:
133
- MAIN_SCRIPT_PATH = Path(main_script_path).resolve()
134
- PAGES_FOLDER = MAIN_SCRIPT_PATH.parent / "pages"
133
+ resolved_main_script_path: Final = Path(main_script_path).resolve()
134
+ pages_folder: Final = resolved_main_script_path.parent / "pages"
135
135
 
136
136
  # Read out the my_pages folder and create a page for every script:
137
137
  pages = sorted(
138
138
  [
139
139
  page
140
- for page in PAGES_FOLDER.glob("*.py")
140
+ for page in pages_folder.glob("*.py")
141
141
  if page.name.endswith(".py")
142
142
  and not page.name.startswith(".")
143
143
  and page.name != "__init__.py"
@@ -146,9 +146,9 @@ def _mpa_v1(main_script_path: str) -> None:
146
146
  )
147
147
 
148
148
  # Use this script as the main page and
149
- main_page = StreamlitPage(MAIN_SCRIPT_PATH, default=True)
149
+ main_page = StreamlitPage(resolved_main_script_path, default=True)
150
150
  all_pages = [main_page] + [
151
- StreamlitPage(PAGES_FOLDER / page.name) for page in pages
151
+ StreamlitPage(pages_folder / page.name) for page in pages
152
152
  ]
153
153
  # Initialize the navigation with all the pages:
154
154
  position: Literal["sidebar", "hidden"] = (
@@ -639,13 +639,14 @@ class ScriptRunner:
639
639
  # (see https://github.com/streamlit/streamlit/issues/9080).
640
640
  if not rerun_data.is_auto_rerun:
641
641
  _LOGGER.warning(
642
- f"Couldn't find fragment with id {fragment_id}."
642
+ "Couldn't find fragment with id %s."
643
643
  " This can happen if the fragment does not"
644
644
  " exist anymore when this request is processed,"
645
645
  " for example because a full app rerun happened"
646
646
  " that did not register the fragment."
647
647
  " Usually this doesn't happen or no action is"
648
- " required, so its mainly for debugging."
648
+ " required, so its mainly for debugging.",
649
+ fragment_id,
649
650
  )
650
651
  except (RerunException, StopException):
651
652
  # The wrapped_fragment function is executed
@@ -258,7 +258,7 @@ def get_module_paths(module: ModuleType) -> set[str]:
258
258
  pass
259
259
  except Exception:
260
260
  _LOGGER.warning(
261
- f"Examining the path of {module.__name__} raised:", exc_info=True
261
+ "Examining the path of %s raised:", module.__name__, exc_info=True
262
262
  )
263
263
 
264
264
  all_paths.update(
streamlit/web/cli.py CHANGED
@@ -18,7 +18,7 @@ from __future__ import annotations
18
18
 
19
19
  import os
20
20
  import sys
21
- from typing import TYPE_CHECKING, Any, Callable, TypeVar
21
+ from typing import TYPE_CHECKING, Any, Callable, Final, TypeVar
22
22
 
23
23
  # We cannot lazy-load click here because its used via decorators.
24
24
  import click
@@ -105,8 +105,8 @@ def configurator_options(func: F) -> F:
105
105
  help=parsed_parameter["description"],
106
106
  type=parsed_parameter["type"],
107
107
  multiple=parsed_parameter["multiple"],
108
- **click_option_kwargs,
109
- ) # type: ignore
108
+ **click_option_kwargs, # type: ignore
109
+ )
110
110
  func = config_option(func)
111
111
  return func
112
112
 
@@ -140,8 +140,8 @@ def main(log_level: str = "info") -> None:
140
140
  if log_level:
141
141
  from streamlit.logger import get_logger
142
142
 
143
- LOGGER = get_logger(__name__)
144
- LOGGER.warning(
143
+ logger: Final = get_logger(__name__)
144
+ logger.warning(
145
145
  "Setting the log level using the --log_level flag is unsupported."
146
146
  "\nUse the --logger.level flag (after your streamlit command) instead."
147
147
  )
@@ -16,7 +16,7 @@ from __future__ import annotations
16
16
 
17
17
  from typing import TYPE_CHECKING, Any
18
18
 
19
- from authlib.integrations.base_client import ( # type: ignore[import-untyped]
19
+ from authlib.integrations.base_client import (
20
20
  FrameworkIntegration,
21
21
  )
22
22
 
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
28
28
  from streamlit.web.server.oidc_mixin import TornadoOAuth
29
29
 
30
30
 
31
- class TornadoIntegration(FrameworkIntegration): # type: ignore[misc]
31
+ class TornadoIntegration(FrameworkIntegration):
32
32
  def update_token(
33
33
  self,
34
34
  token: dict[str, Any],
@@ -41,7 +41,7 @@ class TornadoIntegration(FrameworkIntegration): # type: ignore[misc]
41
41
  """
42
42
 
43
43
  @staticmethod
44
- def load_config(
44
+ def load_config( # type: ignore[override]
45
45
  oauth: TornadoOAuth, name: str, params: Sequence[str]
46
46
  ) -> dict[str, Any]:
47
47
  """Configure Authlib integration with provider parameters
@@ -60,7 +60,7 @@ def create_oauth_client(provider: str) -> tuple[TornadoOAuth2App, str]:
60
60
 
61
61
  oauth = TornadoOAuth(config, cache=auth_cache)
62
62
  oauth.register(provider)
63
- return oauth.create_client(provider), redirect_uri
63
+ return oauth.create_client(provider), redirect_uri # type: ignore[no-untyped-call]
64
64
 
65
65
 
66
66
  class AuthHandlerMixin(tornado.web.RequestHandler):
@@ -154,7 +154,9 @@ class AuthCallbackHandler(AuthHandlerMixin, tornado.web.RequestHandler):
154
154
  else None
155
155
  )
156
156
  _LOGGER.error(
157
- f"""Error during authentication: {sanitized_error}. Error description: {sanitized_error_description}""",
157
+ "Error during authentication: %s. Error description: %s",
158
+ sanitized_error,
159
+ sanitized_error_description,
158
160
  )
159
161
  self.redirect_to_base()
160
162
  return
@@ -12,20 +12,21 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # mypy: disable-error-code="no-untyped-call"
15
16
  # ruff: noqa: ANN201
16
17
 
17
18
  from __future__ import annotations
18
19
 
19
20
  from typing import TYPE_CHECKING, Any, Callable, cast
20
21
 
21
- from authlib.integrations.base_client import ( # type: ignore[import-untyped]
22
+ from authlib.integrations.base_client import (
22
23
  BaseApp,
23
24
  BaseOAuth,
24
25
  OAuth2Mixin,
25
26
  OAuthError,
26
27
  OpenIDMixin,
27
28
  )
28
- from authlib.integrations.requests_client import ( # type: ignore[import-untyped]
29
+ from authlib.integrations.requests_client import (
29
30
  OAuth2Session,
30
31
  )
31
32
 
@@ -37,7 +38,7 @@ if TYPE_CHECKING:
37
38
  from streamlit.auth_util import AuthCache
38
39
 
39
40
 
40
- class TornadoOAuth2App(OAuth2Mixin, OpenIDMixin, BaseApp): # type: ignore[misc]
41
+ class TornadoOAuth2App(OAuth2Mixin, OpenIDMixin, BaseApp):
41
42
  client_cls = OAuth2Session
42
43
 
43
44
  def load_server_metadata(self) -> dict[str, Any]:
@@ -86,7 +87,7 @@ class TornadoOAuth2App(OAuth2Mixin, OpenIDMixin, BaseApp): # type: ignore[misc]
86
87
  claims_options = kwargs.pop("claims_options", None)
87
88
  state_data = self.framework.get_state_data(session, params.get("state"))
88
89
  self.framework.clear_state_data(session, params.get("state"))
89
- params = self._format_state_params(state_data, params)
90
+ params = self._format_state_params(state_data, params) # type: ignore[attr-defined]
90
91
  token = self.fetch_access_token(**params, **kwargs)
91
92
 
92
93
  if "id_token" in token and "nonce" in state_data:
@@ -108,7 +109,7 @@ class TornadoOAuth2App(OAuth2Mixin, OpenIDMixin, BaseApp): # type: ignore[misc]
108
109
  raise RuntimeError("Missing state value")
109
110
 
110
111
 
111
- class TornadoOAuth(BaseOAuth): # type: ignore[misc]
112
+ class TornadoOAuth(BaseOAuth):
112
113
  oauth2_client_cls = TornadoOAuth2App
113
114
  framework_integration_cls = TornadoIntegration
114
115
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: streamlit-nightly
3
- Version: 1.45.2.dev20250526
3
+ Version: 1.45.2.dev20250528
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,10 +1,10 @@
1
1
  streamlit/__init__.py,sha256=kYLV7MIpCOkTPMKCczqiBeSCRqA4dVzQv7eQwanNwl0,9866
2
2
  streamlit/__main__.py,sha256=G3Ka6wgeICpC1gI872L7jGQhY4ukAFo3lgnYIqtoBIo,868
3
- streamlit/auth_util.py,sha256=7iN1fK70SHqBmP9HngEvWvbMNHj9Pvbr0vC2uIaH-rs,8658
3
+ streamlit/auth_util.py,sha256=7vSNghbdg6q4A8cecdOtiVF-MGTbqOuySUSKEz_PgWY,8627
4
4
  streamlit/cli_util.py,sha256=SHOTfCD27ib4R09nkq9l31hOdPlhoEguX2c0SMuhczs,3430
5
5
  streamlit/column_config.py,sha256=qRgJoO0k-iRWTCNDjnzNjd2krIiCJVSEEDTVRy83RRU,1449
6
- streamlit/config.py,sha256=PzH8236dcnc65PHcrwhoGV14sNz1PPPIWpvaHVcMClw,51278
7
- streamlit/config_option.py,sha256=zF3SdrFP9L5KGvYAP1u2CEHwW87uWyiqTeT8VLqa2ww,11725
6
+ streamlit/config.py,sha256=iDWf27zwOw6GswQ4zTNrKQWBwuLMFEZVvbsPmVcdAek,51321
7
+ streamlit/config_option.py,sha256=T1n6qTCesaMvpTZmT4RyaMSVjOPvqFdiYtBJ07noO0w,11661
8
8
  streamlit/config_util.py,sha256=yXkELy2CyzBguADHw5zpY3PYmKrvxRaW94y38deuSsg,6251
9
9
  streamlit/cursor.py,sha256=ej36w8lrhmHcuSDe-BKJ40TathM7xz1TGiomv9Ov-7M,6062
10
10
  streamlit/dataframe_util.py,sha256=7Vcr-78xTX9uU3Zc4nkIC8h3oR6_8ShbR9ullPmrjuc,48609
@@ -52,17 +52,17 @@ streamlit/components/v1/components.py,sha256=t1DXfj9Clf6lPOuyT76Df_m4hTp4YnkV4t3
52
52
  streamlit/components/v1/custom_component.py,sha256=AMd0ixF-Ng051qjNQ7N9e3E4f1HzaK_0Y4nk1TeCIdE,10227
53
53
  streamlit/connections/__init__.py,sha256=r5ZPPc8vPbuHXktFVK54clcECQwFeSKEATGEaifk8Ns,1083
54
54
  streamlit/connections/base_connection.py,sha256=fv3qJneWfD3IJbCxqXV_yqgM_e_G6rDpFXWy7Mo8cbA,6748
55
- streamlit/connections/snowflake_connection.py,sha256=cIglVq8fIeUBVd8rDsOE6LCW3tTrTf6dfik92RQq0Bo,22823
55
+ streamlit/connections/snowflake_connection.py,sha256=MtPj9VbgUMBNx3uZyyP6vb23o3c6k2DvYAwuEy6V1HQ,22816
56
56
  streamlit/connections/snowpark_connection.py,sha256=VWKGseIEM6qVas2Nfn2P0d09ynvX3pyR2MgYXdzcarA,8114
57
57
  streamlit/connections/sql_connection.py,sha256=IHqmBhoXEVBqUCfwi9A6S5Avt2EQnPIhqkxJQ5CLLn4,16129
58
58
  streamlit/connections/util.py,sha256=-GqWu3Iufkw_-eTiQrs8VBE7WKxL-AmYws2n0H-6VqE,3085
59
59
  streamlit/elements/__init__.py,sha256=M4sIyiinWL04bSC-QUcfYDB8Gr-h0uXGjTmL6o2v8jc,616
60
60
  streamlit/elements/alert.py,sha256=5nQJGlFT2dJGvppY7iPFcXFL58VhnoF9UxH8qzJRszM,12224
61
- streamlit/elements/arrow.py,sha256=Z4MqxVERfILe20nYEeJ2foQhPIQAuxuEX1Y1PF5pJe4,37684
61
+ streamlit/elements/arrow.py,sha256=Q-F65rWoACfbZrbrrWrpUlXlcgHr3g6k_niHP5noFdc,37712
62
62
  streamlit/elements/balloons.py,sha256=788879T0Zb_sy5XNGtLPY3vgfsmFmEdol5E_yD64b-o,1482
63
63
  streamlit/elements/bokeh_chart.py,sha256=EcPOoFOVh4uINN1oYsiYzz14sqsFWi8q8GAdpzM0tbs,4660
64
64
  streamlit/elements/code.py,sha256=EuYEMG4rGAhJHv-sxVq8SBqs7p0bJxE4k7CYkrE-ovY,4756
65
- streamlit/elements/deck_gl_json_chart.py,sha256=GBsNtDRICf08UU1vFdTmbhCqVRoBHi_KMjaKl1i5S1k,20762
65
+ streamlit/elements/deck_gl_json_chart.py,sha256=TNrjuzs1iUjD4_x1Yutr97yviILBNbaVXcy81XOSxYU,20790
66
66
  streamlit/elements/dialog_decorator.py,sha256=z-3DDvDkvbGC95zGkII3qYJ4y0c7afDjJzFVQmQti7Y,10042
67
67
  streamlit/elements/doc_string.py,sha256=8O3yD7VoLgC7--Tv0HW98IVpBFEA77kvkjaySvlTDgA,17036
68
68
  streamlit/elements/empty.py,sha256=pi7Tzv_96pTAjkMR0RuNpdPSwnVE9Bt5-cR4DeG7XzU,4615
@@ -79,14 +79,14 @@ streamlit/elements/map.py,sha256=RBf4H3CWsCUeklSY99fp7DIlc7LAUz-MLAvMJzgX_wQ,172
79
79
  streamlit/elements/markdown.py,sha256=Ap67aqRNzISrwWUr4mlBc-s_GHSfI_7GWaiS_abVblg,14799
80
80
  streamlit/elements/media.py,sha256=w3Ga4J7tSIKmkzGP3yqhQxbR943Q2K-_qb4xxyppBGQ,33588
81
81
  streamlit/elements/metric.py,sha256=SIjfhm5gWcT1G4KQTxRcwdp8FDKg3J4j9g-zS22woWM,10931
82
- streamlit/elements/plotly_chart.py,sha256=L_c6I8iq3Wx4Gs5dGS_pMyg9Cm2sEEz2iY_kaoCaygA,19632
82
+ streamlit/elements/plotly_chart.py,sha256=3tmNMbbC1lf_pyWhAiR02-qlfIXomsD5DtZGbSvLAJw,19656
83
83
  streamlit/elements/progress.py,sha256=_8kTEqN-7a0oMkp6mcNZDySzjNLHINRRofmM62zfa4U,5978
84
84
  streamlit/elements/pyplot.py,sha256=C2rLv8gljG5mUBcNQL2EEQskh-ZtNgA_2n_JvSsm7lM,6475
85
85
  streamlit/elements/snow.py,sha256=iP2HHz9Oljf-3s76flzK7C_bU1QdNkOCpYym-LSdQjw,1439
86
- streamlit/elements/spinner.py,sha256=6_6ucr1r2Y7pWH8XOlbsI1K6UU66JsLwzP88EHyRQFU,3944
86
+ streamlit/elements/spinner.py,sha256=j_tWw6NMojjv7jRcBbH5cVgTebp4liApxC8FS3urtfc,3947
87
87
  streamlit/elements/text.py,sha256=Zc7kYznALyW5V_T8xL2QsUMJUi1VudGvqbK7gGfrXtI,2418
88
88
  streamlit/elements/toast.py,sha256=aHpWN-YwRmaYKSA8DKkYJebo2jWzSlYaIUOpKnnDgQE,3694
89
- streamlit/elements/vega_charts.py,sha256=PDd7751Wwan9dzTo2X1c3Aw5QsBgjmb7RCtlVFKRNhE,79315
89
+ streamlit/elements/vega_charts.py,sha256=yzXbvJV6NWOg2YSDOfdIegzYVedNdu4MCZqpjcg90YQ,79343
90
90
  streamlit/elements/write.py,sha256=yACATf8JN1SJ8sxWIII-H2B-IDQs2qrHPWoRA9bqIKk,22394
91
91
  streamlit/elements/lib/__init__.py,sha256=M4sIyiinWL04bSC-QUcfYDB8Gr-h0uXGjTmL6o2v8jc,616
92
92
  streamlit/elements/lib/built_in_chart_utils.py,sha256=pGE51J1FbYBpkffsL4_-llfJt3PKVzsbSiXf3MfL1ro,39398
@@ -105,35 +105,35 @@ streamlit/elements/lib/mutable_status_container.py,sha256=8RU8egZElD3F3TxNEP4bZl
105
105
  streamlit/elements/lib/options_selector_utils.py,sha256=P5mL0wIVtXIlu5ym_-8RtSVXaJb9rPQYECCK4Csd3vs,10044
106
106
  streamlit/elements/lib/pandas_styler_utils.py,sha256=9hDEutthYCwDB4MRlL6kgev9TNG_tefJ4U_cHJR44ac,8097
107
107
  streamlit/elements/lib/policies.py,sha256=iwywfWrS4sVJC0kXn55-sOSSYMUzFJNaLWGtowSr-7Y,6877
108
- streamlit/elements/lib/streamlit_plotly_theme.py,sha256=bPqrFdm1V2d7ooEsmwZ-ywL6AKalHvY8w9w4uvReazY,8307
108
+ streamlit/elements/lib/streamlit_plotly_theme.py,sha256=IhF5l7Ur8TLNVqJaEbdxf5tKuq8PByu1dfkT9ASnFOM,8221
109
109
  streamlit/elements/lib/subtitle_utils.py,sha256=aRkbUWinloC9kUu1Lj_1wBuRZF1R_AyXGQ2KGGdq6jA,6216
110
- streamlit/elements/lib/utils.py,sha256=Ta2mP2tEH2AmpSvPQESrURvqbJ-eXhZ4IhvZHiJ6e-E,8240
110
+ streamlit/elements/lib/utils.py,sha256=8ZMKep0Gf46DF65s4FU8UgbjjS30-J3DM4ir23pCLq0,8942
111
111
  streamlit/elements/widgets/__init__.py,sha256=M4sIyiinWL04bSC-QUcfYDB8Gr-h0uXGjTmL6o2v8jc,616
112
- streamlit/elements/widgets/audio_input.py,sha256=EA4sHW2g1DQjdWO6ckxOXthq8JAgLc53FWqaAU65WoQ,10410
113
- streamlit/elements/widgets/button.py,sha256=Zq3R7Qw7MJu1p8zV5_KKq8mWYDr58AOcTVy8YNby1FA,42846
114
- streamlit/elements/widgets/button_group.py,sha256=-wop3ji3yl2oNCylMPleCMdlWO_WESsfUIdJjAprMgg,38670
115
- streamlit/elements/widgets/camera_input.py,sha256=gQyC6q8vXOQ4tZ7Wypeva-ddMz7d_ThYZzpRVMZuYg4,10113
116
- streamlit/elements/widgets/chat.py,sha256=6C6ZqNU7cTEZwjUfmljQiz2B5_HEXOdhKRf4ExA6psI,24961
117
- streamlit/elements/widgets/checkbox.py,sha256=QMO6egLQyI3ZSDeLysm3DqiJPFnBbpCsIxHCQf7gdkg,12169
118
- streamlit/elements/widgets/color_picker.py,sha256=rsvJYITUjdxkctboZ1n8RjocMiPYWq1r-2HddyvtAYI,8634
119
- streamlit/elements/widgets/data_editor.py,sha256=neLzGbs5l7SMfkA79yPQ1SCDG2XW6iJ2cYN59h-atFc,37994
120
- streamlit/elements/widgets/file_uploader.py,sha256=okqCtoBpBt6_XpnYXXP3ftEYW9sOzW7_XSgQdryqR80,18755
121
- streamlit/elements/widgets/multiselect.py,sha256=ExtSuvsuXY2O6Wv4zy1HD9WRNCwo1LDmvWav2A6lW5o,18600
122
- streamlit/elements/widgets/number_input.py,sha256=Enem8SaJ0FRFipHugcYTZiLrkQ-Q2ploO9Mp9TU3e4s,24780
123
- streamlit/elements/widgets/radio.py,sha256=XHKFF_4TbPiWDuVEQRxGNJzzUL3TEvumcH3GXT4f1y8,14601
124
- streamlit/elements/widgets/select_slider.py,sha256=S9gXshzSMZ8ibxhlSGGMNA7lTJyy9AuiV0R0g3QnXsY,15673
125
- streamlit/elements/widgets/selectbox.py,sha256=2Dbo4tJnuQ7FVAOl6Nnvr_r3wGFylsHbFByZNpeMyWU,21508
126
- streamlit/elements/widgets/slider.py,sha256=Z-jkqTxOj9sly3KUZggRiFALGE5AlaSigA5DDcU-bck,36490
127
- streamlit/elements/widgets/text_widgets.py,sha256=WfCStsUsdClFDgUi11oFC4EPSSQ3P5FcflsSzSUczRI,24839
128
- streamlit/elements/widgets/time_widgets.py,sha256=1EaztOCE_6IXhK5Z78jI-h_F5xGXvb1aUmYnoqz3gPo,36149
112
+ streamlit/elements/widgets/audio_input.py,sha256=_lvNHCtx_0DwSCRnAFSZDbW1bs-Z3ZeC8WVemOULAtk,10434
113
+ streamlit/elements/widgets/button.py,sha256=mDZoC_IpQhp4qJC4CU_8DYu6iNsiOgFzay_fzsjOYrA,42894
114
+ streamlit/elements/widgets/button_group.py,sha256=8-ueSiqvvq430KuDWE69bcdGPa_4gaJBvCuwqLS0oWo,38694
115
+ streamlit/elements/widgets/camera_input.py,sha256=cYkHWwoIM7y4nfZHl6QuqbIbEVTvGln-cUz8uo60wjo,10137
116
+ streamlit/elements/widgets/chat.py,sha256=cf4EF0KCCYngF-PmnH-zl9NF2oi6bD6cLipXiKZa06g,24999
117
+ streamlit/elements/widgets/checkbox.py,sha256=lugPzbRwKz_DL3HlR0_j36Cmg9KbpwsId8J0S3ZxVbo,12193
118
+ streamlit/elements/widgets/color_picker.py,sha256=VSATJk8r1LBYdXjRqmKW4Jn0ia2t_16qP0THY7cv66s,8658
119
+ streamlit/elements/widgets/data_editor.py,sha256=sxTsrn6TXvAuefk83j6z6UBk6CF1cCr7K-WNsTuiFHI,38017
120
+ streamlit/elements/widgets/file_uploader.py,sha256=O8ldR8uh2QEHa_QTzkj92vqlG9Tt_WvYr3CpzyxIvF4,18779
121
+ streamlit/elements/widgets/multiselect.py,sha256=ZqFyCyU1PI2l_008cFSEJt9BEwb5EFDYCMrVCF13B6c,18624
122
+ streamlit/elements/widgets/number_input.py,sha256=uyLKTfUr2Lmg_wl9qLrauLn4uea-3uEmETU6Gd7uu48,24804
123
+ streamlit/elements/widgets/radio.py,sha256=1bw4l1pzeejyzJXPJcVh2NVZaYMKHkhyjpKbFR9tKHY,14625
124
+ streamlit/elements/widgets/select_slider.py,sha256=kjMkU9n1KAaxMtMvY9jV6lxEOVlCKDFIKucgTVs1Hp8,15697
125
+ streamlit/elements/widgets/selectbox.py,sha256=B7Rlv-CitD-mtgTDcCxSjumy8ZF6bHHkffkvStJ60ws,21532
126
+ streamlit/elements/widgets/slider.py,sha256=nlSDzKrPY41wA9scQ00PwnqtHvxQuB0I9geiUTCG9bQ,36471
127
+ streamlit/elements/widgets/text_widgets.py,sha256=97tVQgHk0xkx1l7ggdRJxHz1Ps8HmR18fJvBsRunbsI,24887
128
+ streamlit/elements/widgets/time_widgets.py,sha256=ArfpBgqhDu-Jbt4u3ogvVYXwXhT7ItQaVyQ7S4Gnx9E,36197
129
129
  streamlit/external/__init__.py,sha256=M4sIyiinWL04bSC-QUcfYDB8Gr-h0uXGjTmL6o2v8jc,616
130
130
  streamlit/external/langchain/__init__.py,sha256=0Iqs-M7arkKHfwzhNAEey9V1UK6Bhh2LYyq9rlPBXpc,814
131
131
  streamlit/external/langchain/streamlit_callback_handler.py,sha256=NIDD3SoiBUxE41WSC3NJWU-KcQfTmbvPf05p76WQZWE,15639
132
132
  streamlit/hello/__init__.py,sha256=M4sIyiinWL04bSC-QUcfYDB8Gr-h0uXGjTmL6o2v8jc,616
133
- streamlit/hello/animation_demo.py,sha256=wM9PErR2BZp5ubl9fVUX003Y-hFvqgPFnY-ZsI2pD4w,2940
134
- streamlit/hello/dataframe_demo.py,sha256=hU4ks_xpadOEZwsks3EIWI5B-3oQXWq1yMw8FmLOLfU,2484
133
+ streamlit/hello/animation_demo.py,sha256=pcNOtxg8qHsTFPIl9_F8z6Ae4AaEqFlPXdlhSOhV-qc,3031
134
+ streamlit/hello/dataframe_demo.py,sha256=THWSyQoaO0kvY6hM3_A0fPSU1pLMIoGQBQBdQigGI98,2484
135
135
  streamlit/hello/hello.py,sha256=PyqTLTOFlnjEE2DXmIp_NP7NWVHkefSnfcKDCbrsmhc,1490
136
- streamlit/hello/mapping_demo.py,sha256=AZTXBSkKHVCHMB3e9uZxIs9gthWkSYKumN70HaIJM30,3744
136
+ streamlit/hello/mapping_demo.py,sha256=fRDwDN5NH0HGToHmO9KZJr62AHXM0AlEDQgBRf3m9Qc,3744
137
137
  streamlit/hello/plotting_demo.py,sha256=wLtsi8OlWii0JKmkLp-Bu8Q8ipud8hj0wogZDVRXF6o,1772
138
138
  streamlit/hello/streamlit_app.py,sha256=7AeQN-IXrkI4-ruPYpsQ1bOuv40L784xTEBQ7fAwA1A,1691
139
139
  streamlit/hello/utils.py,sha256=kELvfKtNH4zL5UgJZUZMCX5veu1vCt-Jhj0kSQ49Mcc,1053
@@ -307,11 +307,11 @@ streamlit/proto/__init__.py,sha256=WJu86eq4nAb-pIORVP6xRkKHJwAJQcekPW2dRflPl-c,6
307
307
  streamlit/proto/openmetrics_data_model_pb2.py,sha256=dWlhXENjgvIGCMnAumDVQkLA4TQQzP77G5pncI6oP9I,6424
308
308
  streamlit/proto/openmetrics_data_model_pb2.pyi,sha256=dmABrepaNR5S9kA1UPfQGXqY_ARAUuLmQBqG1Xn_HUY,20319
309
309
  streamlit/runtime/__init__.py,sha256=DmWO_2apg01B7DZ2toddxjdVXnAjtn28819TpJlgkbQ,1523
310
- streamlit/runtime/app_session.py,sha256=l8hOKepyMt1MUiLD9FzHYkXGLYFQoBZdXPuXTUZGdNQ,40484
311
- streamlit/runtime/connection_factory.py,sha256=Gpm4Fu-pT9PdII012uZLVcLf3VMQESKUIbklbrSeeUk,15655
310
+ streamlit/runtime/app_session.py,sha256=mvTjvcyD0UpA86aRqpM50BObI4vPargu2daflFm8U60,40541
311
+ streamlit/runtime/connection_factory.py,sha256=VGLPo8dlfa5fJT74XXfl4G0GFz3qjZ9uxTVH_mB-gwo,15670
312
312
  streamlit/runtime/context.py,sha256=MV06tMUesm6-IJgnEdZpwtHE2XLek0p_1LjuYE8YM4U,13168
313
313
  streamlit/runtime/context_util.py,sha256=14e8xt_0eevyd41CD6y3UVcX4kQk0BFIU5SvBsHrFD8,1702
314
- streamlit/runtime/credentials.py,sha256=ANuI41Qf0wglKIbC59yniSLidjiddfmN6PvbSIpRLVw,10909
314
+ streamlit/runtime/credentials.py,sha256=c8CXKr6NGtdzE03gCmn37OOTUAYtMblRv7-eiZUVF00,10916
315
315
  streamlit/runtime/forward_msg_cache.py,sha256=gbUejY2Ce85QfZL9sCoCz6KurKGrqty1Sq3b_9AhzIU,3684
316
316
  streamlit/runtime/forward_msg_queue.py,sha256=nu0VwZIrjXS4SWQL3cosvm9it8RchwNTaGoXM5UIwgA,10514
317
317
  streamlit/runtime/fragment.py,sha256=nljYnVmwXQp2KsQ6uD6ezxJuDcdfSQRnquuXrVASCks,18933
@@ -323,7 +323,7 @@ streamlit/runtime/memory_uploaded_file_manager.py,sha256=pBiykbp5ZgzAp97SBWeZEYC
323
323
  streamlit/runtime/metrics_util.py,sha256=tPRMbIYKCZ5tvriLANWwjYoStNiWt37hTenbETEdPuU,16201
324
324
  streamlit/runtime/pages_manager.py,sha256=UTSPl7sybLOHKVPwnO6kEUTJvTG8L3kE0Lu6h6fnSWs,6190
325
325
  streamlit/runtime/runtime.py,sha256=0XND3vSk2gzJ4zAdAK1H_NwXoYwLBKIi4vUKMLd2UEA,27371
326
- streamlit/runtime/runtime_util.py,sha256=h78ONDf1LuQdk2c8AN3R25AfvmKWoIBcNmotA5ZorlI,3998
326
+ streamlit/runtime/runtime_util.py,sha256=igvz2j_yFRY6vDx35CZoG0vIv6q7o5Ebc1Pu_zgV3Vc,3997
327
327
  streamlit/runtime/script_data.py,sha256=Suw_A7tgbc-Yu0rffPSvkrY_CHutAx5s-sfldn04URA,1749
328
328
  streamlit/runtime/secrets.py,sha256=ie0D1C8C8nYJttQJrJ97Enz3cOeUZhTo_0mQA3LFIxA,20025
329
329
  streamlit/runtime/session_manager.py,sha256=YPQklhNmXnXYJyJqzVWIo5kwCW6mkCx7dqCo83daWi0,13240
@@ -343,13 +343,13 @@ streamlit/runtime/caching/storage/__init__.py,sha256=Lz1UND817VuT6vdBhQbNu2SQIfv
343
343
  streamlit/runtime/caching/storage/cache_storage_protocol.py,sha256=4BSFlzMDfzVfp418U_UXrxJv6JA1BhZIdkyDtl6zhKM,8932
344
344
  streamlit/runtime/caching/storage/dummy_cache_storage.py,sha256=YXYO02vW2eGqfEX2L0JCvQCUBCHx_NZN7OGoqUmPcQA,1963
345
345
  streamlit/runtime/caching/storage/in_memory_cache_storage_wrapper.py,sha256=dcsBR-HDg28tLbljgpukOGly66OSnh-8EZ1vKGvjjpE,5320
346
- streamlit/runtime/caching/storage/local_disk_cache_storage.py,sha256=4MldSXWhqOk0Fpu1rwLcyZ7oY4oAZZ7684qp_mAySyc,9395
346
+ streamlit/runtime/caching/storage/local_disk_cache_storage.py,sha256=Xi0Jgc6BippovrPx-IFvZJE-FPcFRw46ySudVF4SX1U,9394
347
347
  streamlit/runtime/scriptrunner/__init__.py,sha256=StWxzmfzcjqErUjLbiVXZbTByzjezA4oUiyC-llLl2w,1266
348
348
  streamlit/runtime/scriptrunner/exec_code.py,sha256=drArOOd3FyINEzjXO03qcRixdIJNPh8mzLstM16q4CA,5768
349
349
  streamlit/runtime/scriptrunner/magic.py,sha256=ataz1-yZQlGg2m0gZzNtSjoJ4QIZHqNlLiumrmBYh04,9267
350
350
  streamlit/runtime/scriptrunner/magic_funcs.py,sha256=nDmNTiiRQlDGHJMw0lQv_qVK8SZsn5_Z1xq7tLhZCBk,1056
351
351
  streamlit/runtime/scriptrunner/script_cache.py,sha256=zrp79H7StPYPyDre33bSpGbxE-x_7hzORE8kP1XyDW4,2864
352
- streamlit/runtime/scriptrunner/script_runner.py,sha256=0xXZrQ2g8YFmfxcs9GsrywCRHv2w7_aAUrb6AwW4F8w,31860
352
+ streamlit/runtime/scriptrunner/script_runner.py,sha256=m3nCXdA1_VA63kGRQw0tFTrEzC0Qw0VENI8rbuxr2BI,31943
353
353
  streamlit/runtime/scriptrunner_utils/__init__.py,sha256=JPxE7lIKT4SyeaC4Q6pIvhZa6Jvu8TcQqvh-S9w-Vy0,840
354
354
  streamlit/runtime/scriptrunner_utils/exceptions.py,sha256=bKcagYCIHDU4M6pQZJisFUBaZ1V2_PrMLiNyMzO4Z8k,1563
355
355
  streamlit/runtime/scriptrunner_utils/script_requests.py,sha256=UxAEAijQk86DPbR4rvJw5FAWP2IDn_d_XqZzXSdhYoA,12776
@@ -541,31 +541,31 @@ streamlit/vendor/pympler/asizeof.py,sha256=w2CZbunNoG7Wj8mT0fpIfXMLpCYvAR7RQh8D4
541
541
  streamlit/watcher/__init__.py,sha256=kFrqZ4dBc-qAcHJbp7DGs3mK_fFRDZNVyfF9Qys0bWs,915
542
542
  streamlit/watcher/event_based_path_watcher.py,sha256=Iv2fwnIUQzVVRf3CCTgdN5oe3hMGPZrcoQlVK375hiE,15596
543
543
  streamlit/watcher/folder_black_list.py,sha256=m8Z3CoSEf75mJTNWmJ0CiK4Gn1tlUOX_a_Yq8DgjPD0,2392
544
- streamlit/watcher/local_sources_watcher.py,sha256=-uq2iW_wveNja6kIK5IrDR_doUmyhUDTKlOGgsYYM6M,10517
544
+ streamlit/watcher/local_sources_watcher.py,sha256=o9j5UEh3PQS-f-3MpWA_5s8fz6c4Wv_Nn3NmEIG4YT4,10518
545
545
  streamlit/watcher/path_watcher.py,sha256=x9jbF-iUvqINch7ojPJaZ5x7GB8r_gI7YdMwuD2kPEA,5640
546
546
  streamlit/watcher/polling_path_watcher.py,sha256=GCSCM5ZYVnuxGHfWOteMuXa84atvgZhv-Q3BeCY9GqU,3913
547
547
  streamlit/watcher/util.py,sha256=603RyiIGfpb1RDrsSQgzr62hET8s_ZutRuOOU0CtLJQ,6835
548
548
  streamlit/web/__init__.py,sha256=M4sIyiinWL04bSC-QUcfYDB8Gr-h0uXGjTmL6o2v8jc,616
549
549
  streamlit/web/bootstrap.py,sha256=ZahDA0ZEfRAJsg_NNnHz-L1r-hXhRMe6pFvCOlpq-YE,13198
550
550
  streamlit/web/cache_storage_manager_config.py,sha256=rdqrbEX0tRnlUAiqJWOn3i-0ZXrNPejg5e5L_mrr8II,1216
551
- streamlit/web/cli.py,sha256=IoSZy15uqfwX951o5vuL2rcklrlg1Hdq0vZkvQDG3Fw,12988
551
+ streamlit/web/cli.py,sha256=yCbJcq_CKZZFi8i8J9nN2xsqnahyTrwzNSpZUSgCzQY,13002
552
552
  streamlit/web/server/__init__.py,sha256=asjQHAKdEIg-5gtWUUyJOYgo70i8Iul3R2W4XvUmA5g,1145
553
553
  streamlit/web/server/app_static_file_handler.py,sha256=5_arD5lfRJvPcPSKOlLL_k30F2ejI4RU1h-H0TBcLu0,3224
554
- streamlit/web/server/authlib_tornado_integration.py,sha256=Do6vvTv0ZJ358NH_g0s7QOTxx6GjyAoHd-Ch1NhsLE8,2346
554
+ streamlit/web/server/authlib_tornado_integration.py,sha256=CVE0h6dpC8kp7oxmOIWO62GpISuf2bTSB8p87fvrkkY,2318
555
555
  streamlit/web/server/browser_websocket_handler.py,sha256=N9Idk_ImvKuMfjYftYrxtUYo9eihBt1Zo-UavVJOiyg,10175
556
556
  streamlit/web/server/component_request_handler.py,sha256=1ulLJ-_kujQs0VPaxOPsrpiMmRHxR4ILVKbJa-1MKV4,4435
557
557
  streamlit/web/server/media_file_handler.py,sha256=qjtzVmb3LNCLQSZUlfL5bzO5i4Ok4BB-xWlD8LQ8dGc,5562
558
- streamlit/web/server/oauth_authlib_routes.py,sha256=Y3skGu43MYRjrYiV4jZlp8Dx6YMm9AQb2QkeHhf-GIs,7383
559
- streamlit/web/server/oidc_mixin.py,sha256=1yGBfLLEZvagWDoB8cpfoUNtFyXo9pT8veyv_A4LnZ4,4663
558
+ streamlit/web/server/oauth_authlib_routes.py,sha256=2meaJrHonsAT47f80u6SdJShJOJtdpOxmns_98O090U,7447
559
+ streamlit/web/server/oidc_mixin.py,sha256=cUFYPMDWYWbOIWf58RocMdMDno4YQyNKU88ejlpHbEk,4630
560
560
  streamlit/web/server/routes.py,sha256=PDkAYLmUA0cO-__FLdai7A6PjqA24UuXBFRnxRB1gV4,9059
561
561
  streamlit/web/server/server.py,sha256=Gz5Ufw3DI8UUQ_Vy7Kn0aPn6zi1juMirvlFoewhOtEg,17391
562
562
  streamlit/web/server/server_util.py,sha256=mhrY04CBvrvKtyUSHR4eu-h4GQYfvB_TfCvda-EhLnU,5595
563
563
  streamlit/web/server/stats_request_handler.py,sha256=M1g40mgy78f316gP7_W8I__Q4e9x0NoNjiNLQdH58ds,3848
564
564
  streamlit/web/server/upload_file_request_handler.py,sha256=A-wgVOk6TCxf_KU-lQhawygSBKk5fwrD3Zkrz375Yj4,5269
565
565
  streamlit/web/server/websocket_headers.py,sha256=2OHv6G9hLJ0UX8oHDG3UJ86_KK4SJJD8FXOCsZjCKek,2229
566
- streamlit_nightly-1.45.2.dev20250526.data/scripts/streamlit.cmd,sha256=k9768SaQCkiYAPaTp7JtkhAHEHflNQfu6fAM4pri6zo,676
567
- streamlit_nightly-1.45.2.dev20250526.dist-info/METADATA,sha256=TRa94bppTAmRRH5s0M0wSxprLlcLijWtIzGCZ17yqyI,8973
568
- streamlit_nightly-1.45.2.dev20250526.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
569
- streamlit_nightly-1.45.2.dev20250526.dist-info/entry_points.txt,sha256=uNJ4DwGNXEhOK0USwSNanjkYyR-Bk7eYQbJFDrWyOgY,53
570
- streamlit_nightly-1.45.2.dev20250526.dist-info/top_level.txt,sha256=V3FhKbm7G2LnR0s4SytavrjIPNIhvcsAGXfYHAwtQzw,10
571
- streamlit_nightly-1.45.2.dev20250526.dist-info/RECORD,,
566
+ streamlit_nightly-1.45.2.dev20250528.data/scripts/streamlit.cmd,sha256=k9768SaQCkiYAPaTp7JtkhAHEHflNQfu6fAM4pri6zo,676
567
+ streamlit_nightly-1.45.2.dev20250528.dist-info/METADATA,sha256=ehQHRoeji5XWMw86Tsdet47Zc73XiGMvl-dZOA_SAu4,8973
568
+ streamlit_nightly-1.45.2.dev20250528.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
569
+ streamlit_nightly-1.45.2.dev20250528.dist-info/entry_points.txt,sha256=uNJ4DwGNXEhOK0USwSNanjkYyR-Bk7eYQbJFDrWyOgY,53
570
+ streamlit_nightly-1.45.2.dev20250528.dist-info/top_level.txt,sha256=V3FhKbm7G2LnR0s4SytavrjIPNIhvcsAGXfYHAwtQzw,10
571
+ streamlit_nightly-1.45.2.dev20250528.dist-info/RECORD,,