streamlit-nightly 1.41.2.dev20250201__py2.py3-none-any.whl → 1.42.1.dev20250204__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 (183) hide show
  1. streamlit/auth_util.py +2 -1
  2. streamlit/commands/echo.py +4 -1
  3. streamlit/commands/execution_control.py +3 -1
  4. streamlit/commands/page_config.py +2 -1
  5. streamlit/config.py +56 -25
  6. streamlit/config_option.py +3 -3
  7. streamlit/connections/snowflake_connection.py +22 -10
  8. streamlit/connections/snowpark_connection.py +2 -1
  9. streamlit/connections/util.py +4 -1
  10. streamlit/dataframe_util.py +3 -8
  11. streamlit/delta_generator.py +1 -1
  12. streamlit/elements/alert.py +32 -4
  13. streamlit/elements/arrow.py +28 -15
  14. streamlit/elements/code.py +4 -3
  15. streamlit/elements/deck_gl_json_chart.py +3 -4
  16. streamlit/elements/form.py +22 -4
  17. streamlit/elements/heading.py +21 -6
  18. streamlit/elements/image.py +12 -3
  19. streamlit/elements/layouts.py +9 -4
  20. streamlit/elements/lib/built_in_chart_utils.py +1 -3
  21. streamlit/elements/lib/color_util.py +7 -6
  22. streamlit/elements/lib/column_config_utils.py +4 -3
  23. streamlit/elements/lib/column_types.py +100 -33
  24. streamlit/elements/lib/dicttools.py +4 -1
  25. streamlit/elements/lib/event_utils.py +2 -2
  26. streamlit/elements/lib/file_uploader_utils.py +4 -1
  27. streamlit/elements/lib/image_utils.py +5 -4
  28. streamlit/elements/lib/options_selector_utils.py +4 -1
  29. streamlit/elements/lib/pandas_styler_utils.py +2 -1
  30. streamlit/elements/lib/policies.py +3 -1
  31. streamlit/elements/lib/utils.py +1 -1
  32. streamlit/elements/map.py +3 -1
  33. streamlit/elements/markdown.py +21 -7
  34. streamlit/elements/media.py +2 -2
  35. streamlit/elements/metric.py +8 -4
  36. streamlit/elements/plotly_chart.py +4 -5
  37. streamlit/elements/spinner.py +25 -3
  38. streamlit/elements/text.py +7 -2
  39. streamlit/elements/vega_charts.py +26 -22
  40. streamlit/elements/widgets/audio_input.py +8 -4
  41. streamlit/elements/widgets/button.py +29 -12
  42. streamlit/elements/widgets/button_group.py +29 -13
  43. streamlit/elements/widgets/camera_input.py +8 -4
  44. streamlit/elements/widgets/chat.py +1 -3
  45. streamlit/elements/widgets/checkbox.py +16 -8
  46. streamlit/elements/widgets/color_picker.py +8 -4
  47. streamlit/elements/widgets/data_editor.py +10 -14
  48. streamlit/elements/widgets/file_uploader.py +12 -6
  49. streamlit/elements/widgets/multiselect.py +10 -5
  50. streamlit/elements/widgets/number_input.py +8 -4
  51. streamlit/elements/widgets/radio.py +11 -5
  52. streamlit/elements/widgets/select_slider.py +12 -8
  53. streamlit/elements/widgets/selectbox.py +11 -5
  54. streamlit/elements/widgets/slider.py +19 -17
  55. streamlit/elements/widgets/text_widgets.py +16 -8
  56. streamlit/elements/widgets/time_widgets.py +21 -15
  57. streamlit/elements/write.py +60 -43
  58. streamlit/errors.py +1 -2
  59. streamlit/external/langchain/streamlit_callback_handler.py +3 -3
  60. streamlit/hello/animation_demo.py +1 -1
  61. streamlit/material_icon_names.py +1 -1
  62. streamlit/proto/NewSession_pb2.py +16 -16
  63. streamlit/proto/NewSession_pb2.pyi +30 -3
  64. streamlit/runtime/app_session.py +15 -15
  65. streamlit/runtime/caching/cached_message_replay.py +2 -1
  66. streamlit/runtime/caching/hashing.py +3 -2
  67. streamlit/runtime/context.py +2 -1
  68. streamlit/runtime/forward_msg_cache.py +3 -1
  69. streamlit/runtime/memory_session_storage.py +4 -1
  70. streamlit/runtime/memory_uploaded_file_manager.py +4 -1
  71. streamlit/runtime/runtime.py +6 -4
  72. streamlit/runtime/scriptrunner/script_runner.py +4 -3
  73. streamlit/runtime/scriptrunner_utils/script_run_context.py +2 -3
  74. streamlit/runtime/secrets.py +1 -5
  75. streamlit/runtime/state/common.py +2 -4
  76. streamlit/runtime/state/query_params.py +2 -1
  77. streamlit/runtime/state/query_params_proxy.py +2 -1
  78. streamlit/runtime/state/safe_session_state.py +3 -1
  79. streamlit/runtime/state/session_state.py +2 -5
  80. streamlit/runtime/state/session_state_proxy.py +2 -1
  81. streamlit/runtime/uploaded_file_manager.py +3 -1
  82. streamlit/runtime/websocket_session_manager.py +8 -8
  83. streamlit/static/index.html +2 -2
  84. streamlit/static/static/css/{index.mUTQuMqR.css → index.DpJG_94W.css} +1 -1
  85. streamlit/static/static/js/{FileDownload.esm.Cf3bITtP.js → FileDownload.esm.CuayiK6T.js} +1 -1
  86. streamlit/static/static/js/FileDropzone.CvXoxIUm.js +5 -0
  87. streamlit/static/static/js/{FormClearHelper.BgwPD1tD.js → FormClearHelper.DpwWkrvV.js} +1 -1
  88. streamlit/static/static/js/{Hooks.BMaXaj11.js → Hooks.BQiFiHd5.js} +1 -1
  89. streamlit/static/static/js/{InputInstructions.qlsk9gvt.js → InputInstructions.CypmdrYz.js} +1 -1
  90. streamlit/static/static/js/ProgressBar.DfR4HyQR.js +2 -0
  91. streamlit/static/static/js/{RenderInPortalIfExists.Blpdplqk.js → RenderInPortalIfExists.D6u3szcn.js} +1 -1
  92. streamlit/static/static/js/{Toolbar.DMhyNpv2.js → Toolbar.D6p42Hno.js} +1 -1
  93. streamlit/static/static/js/axios.upsvKRUO.js +6 -0
  94. streamlit/static/static/js/{base-input.DyTEaESI.js → base-input.B5AcLp6p.js} +4 -4
  95. streamlit/static/static/js/{createSuper.B3rIhdpQ.js → createSuper.DNzaJgi-.js} +1 -1
  96. streamlit/static/static/js/{data-grid-overlay-editor.C9Q9Gy4e.js → data-grid-overlay-editor.CKACfVZL.js} +1 -1
  97. streamlit/static/static/js/{downloader.BAMiKd1n.js → downloader.D6HV3a60.js} +1 -1
  98. streamlit/static/static/js/{es6.D82pr6dy.js → es6.UQDWlCyE.js} +2 -2
  99. streamlit/static/static/js/{iframeResizer.contentWindow.CJwxqR7x.js → iframeResizer.contentWindow.DQ-TFrBp.js} +1 -1
  100. streamlit/static/static/js/{index.B7J6suR-.js → index.2EE80u0h.js} +200 -200
  101. streamlit/static/static/js/{index.CoE1gpPQ.js → index.B96fHK2A.js} +1 -1
  102. streamlit/static/static/js/index.BAFGiIHm.js +1 -0
  103. streamlit/static/static/js/index.BPNlEjgz.js +1 -0
  104. streamlit/static/static/js/{index.C4kPuKr4.js → index.BPmrb-47.js} +1 -1
  105. streamlit/static/static/js/{index.BM_J1KkD.js → index.BQEIBi4n.js} +1 -1
  106. streamlit/static/static/js/index.BUGQmWUV.js +3 -0
  107. streamlit/static/static/js/index.BXmBj7MJ.js +1 -0
  108. streamlit/static/static/js/{index.5JFTbX2J.js → index.BY8YeKF1.js} +1 -1
  109. streamlit/static/static/js/{index.CF4stbIZ.js → index.BdVr8Tta.js} +1 -1
  110. streamlit/static/static/js/{index.CjFbbEE0.js → index.BghvoEVe.js} +1 -1
  111. streamlit/static/static/js/{index.8Q56Jjmk.js → index.BiMrOUpK.js} +1 -1
  112. streamlit/static/static/js/{index.yp4f0OMe.js → index.BiybRa0I.js} +2 -2
  113. streamlit/static/static/js/index.Bm7Vkuba.js +73 -0
  114. streamlit/static/static/js/{index.BZvQkTCS.js → index.BuyK2IsW.js} +1 -1
  115. streamlit/static/static/js/index.ByH1pn5_.js +1 -0
  116. streamlit/static/static/js/{index.zlHOKWDA.js → index.C8zZSMvD.js} +1 -1
  117. streamlit/static/static/js/index.CAuJtYES.js +1 -0
  118. streamlit/static/static/js/{index.Y84nTPW2.js → index.CEdHQ1ob.js} +1 -1
  119. streamlit/static/static/js/{index.CqGcWpm5.js → index.CJ-t5S6T.js} +2 -2
  120. streamlit/static/static/js/{index.BdlaxG49.js → index.CKOdbWxq.js} +1 -1
  121. streamlit/static/static/js/index.CSgG8OVN.js +1 -0
  122. streamlit/static/static/js/index.CX9gqq2L.js +1 -0
  123. streamlit/static/static/js/{index.TPHsScPF.js → index.CgVoYKAP.js} +1 -1
  124. streamlit/static/static/js/{index.D9yF6cxC.js → index.ChrjN8GY.js} +1 -1
  125. streamlit/static/static/js/{index.NbimJbgq.js → index.CrMtUJsu.js} +6 -6
  126. streamlit/static/static/js/index.D4SMJhY1.js +1 -0
  127. streamlit/static/static/js/index.D7BxtE4u.js +1 -0
  128. streamlit/static/static/js/{index.P5kx9um8.js → index.DB_dBVfZ.js} +5 -5
  129. streamlit/static/static/js/{index.BLCqXxIG.js → index.DMKXUbO6.js} +1 -1
  130. streamlit/static/static/js/index.DaoBv396.js +1 -0
  131. streamlit/static/static/js/{index.B3Wxz7wG.js → index.DkV6k6Ng.js} +1 -1
  132. streamlit/static/static/js/{index.BcAjRRAZ.js → index.DqZZoWyt.js} +1 -1
  133. streamlit/static/static/js/index.Dr6DSYcq.js +1 -0
  134. streamlit/static/static/js/{index.BdEYCAFh.js → index.Epl2r08f.js} +1 -1
  135. streamlit/static/static/js/{index.CC5oiyoV.js → index.ndVWhafL.js} +2 -2
  136. streamlit/static/static/js/{index.DiZyaYeV.js → index.wW-pPvtW.js} +3 -3
  137. streamlit/static/static/js/{input.DRyjjTTH.js → input.CxqdG-sh.js} +2 -2
  138. streamlit/static/static/js/{memory.C98yjNkk.js → memory.DuSk7Eex.js} +1 -1
  139. streamlit/static/static/js/{mergeWith.CLihEflw.js → mergeWith.DrxB1Sj4.js} +1 -1
  140. streamlit/static/static/js/{number-overlay-editor.DozQhDJj.js → number-overlay-editor.DBc0yndt.js} +1 -1
  141. streamlit/static/static/js/{possibleConstructorReturn.DJ7-JsJc.js → possibleConstructorReturn.ZdYWHeG3.js} +1 -1
  142. streamlit/static/static/js/{sandbox.0Tj4C46D.js → sandbox.D3L4CYjG.js} +1 -1
  143. streamlit/static/static/js/{textarea.CUrV8-V3.js → textarea.CSafh28v.js} +2 -2
  144. streamlit/static/static/js/{timepicker.DEu3fwJe.js → timepicker.C-pwkiaT.js} +4 -4
  145. streamlit/static/static/js/{toConsumableArray.C71OtXzK.js → toConsumableArray.DyCVskz5.js} +1 -1
  146. streamlit/static/static/js/{uniqueId.CndDhnid.js → uniqueId.BODM2vTk.js} +1 -1
  147. streamlit/static/static/js/useBasicWidgetState.DQUiM2dz.js +1 -0
  148. streamlit/static/static/js/{useOnInputChange.CvHbHWmy.js → useOnInputChange.Ccjd55xn.js} +1 -1
  149. streamlit/static/static/js/{withFullScreenWrapper.BLLyDFUF.js → withFullScreenWrapper.CneUoXNE.js} +1 -1
  150. streamlit/static/static/media/MaterialSymbols-Rounded.DcZbplWk.woff2 +0 -0
  151. streamlit/testing/v1/app_test.py +3 -1
  152. streamlit/testing/v1/element_tree.py +3 -4
  153. streamlit/testing/v1/local_script_runner.py +3 -3
  154. streamlit/type_util.py +11 -8
  155. streamlit/user_info.py +2 -3
  156. streamlit/watcher/path_watcher.py +4 -4
  157. streamlit/web/server/authlib_tornado_integration.py +3 -1
  158. streamlit/web/server/browser_websocket_handler.py +3 -1
  159. streamlit/web/server/routes.py +4 -1
  160. streamlit/web/server/server.py +2 -1
  161. {streamlit_nightly-1.41.2.dev20250201.dist-info → streamlit_nightly-1.42.1.dev20250204.dist-info}/METADATA +1 -2
  162. {streamlit_nightly-1.41.2.dev20250201.dist-info → streamlit_nightly-1.42.1.dev20250204.dist-info}/RECORD +166 -165
  163. streamlit/static/static/js/FileDropzone.B8wCqKiM.js +0 -5
  164. streamlit/static/static/js/ProgressBar.Di2oT-20.js +0 -2
  165. streamlit/static/static/js/index.B79cf7gS.js +0 -1
  166. streamlit/static/static/js/index.BBPZ3wsr.js +0 -1
  167. streamlit/static/static/js/index.BKahTKEx.js +0 -3
  168. streamlit/static/static/js/index.CSGfgCnQ.js +0 -1
  169. streamlit/static/static/js/index.CYMgsYSm.js +0 -1
  170. streamlit/static/static/js/index.CZjnqbcd.js +0 -73
  171. streamlit/static/static/js/index.C_4BuzGH.js +0 -1
  172. streamlit/static/static/js/index.CjiPq39N.js +0 -1
  173. streamlit/static/static/js/index.CjuTYYFG.js +0 -1
  174. streamlit/static/static/js/index.CuH7mftz.js +0 -1
  175. streamlit/static/static/js/index.DFJg1zHB.js +0 -1
  176. streamlit/static/static/js/index.Dm3nmdhh.js +0 -1
  177. streamlit/static/static/js/index.rrDohWOh.js +0 -1
  178. streamlit/static/static/js/useBasicWidgetState.DXLMTaiS.js +0 -1
  179. streamlit/static/static/media/MaterialSymbols-Rounded.DzyB5T7Y.woff2 +0 -0
  180. {streamlit_nightly-1.41.2.dev20250201.data → streamlit_nightly-1.42.1.dev20250204.data}/scripts/streamlit.cmd +0 -0
  181. {streamlit_nightly-1.41.2.dev20250201.dist-info → streamlit_nightly-1.42.1.dev20250204.dist-info}/WHEEL +0 -0
  182. {streamlit_nightly-1.41.2.dev20250201.dist-info → streamlit_nightly-1.42.1.dev20250204.dist-info}/entry_points.txt +0 -0
  183. {streamlit_nightly-1.41.2.dev20250201.dist-info → streamlit_nightly-1.42.1.dev20250204.dist-info}/top_level.txt +0 -0
@@ -15,6 +15,7 @@ from __future__ import annotations
15
15
 
16
16
  import textwrap
17
17
  from abc import ABC, abstractmethod
18
+ from collections.abc import Sequence
18
19
  from dataclasses import dataclass, field, fields, is_dataclass
19
20
  from datetime import date, datetime, time, timedelta
20
21
  from typing import (
@@ -22,8 +23,6 @@ from typing import (
22
23
  Any,
23
24
  Callable,
24
25
  Generic,
25
- List,
26
- Sequence,
27
26
  TypeVar,
28
27
  Union,
29
28
  cast,
@@ -728,7 +727,7 @@ class ButtonGroup(Widget, Generic[T]):
728
727
  else:
729
728
  state = self.root.session_state
730
729
  assert state
731
- return cast(List[T], state[self.id])
730
+ return cast(list[T], state[self.id])
732
731
 
733
732
  @property
734
733
  def indices(self) -> Sequence[int]:
@@ -816,7 +815,7 @@ class Multiselect(Widget, Generic[T]):
816
815
  else:
817
816
  state = self.root.session_state
818
817
  assert state
819
- return cast(List[T], state[self.id])
818
+ return cast(list[T], state[self.id])
820
819
 
821
820
  @property
822
821
  def indices(self) -> Sequence[int]:
@@ -77,9 +77,9 @@ class LocalScriptRunner(ScriptRunner):
77
77
  ) -> None:
78
78
  # Assert that we're not getting unexpected `sender` params
79
79
  # from ScriptRunner.on_event
80
- assert (
81
- sender is None or sender == self
82
- ), "Unexpected ScriptRunnerEvent sender!"
80
+ assert sender is None or sender == self, (
81
+ "Unexpected ScriptRunnerEvent sender!"
82
+ )
83
83
 
84
84
  self.events.append(event)
85
85
  self.event_data.append(kwargs)
streamlit/type_util.py CHANGED
@@ -20,21 +20,24 @@ import dataclasses
20
20
  import re
21
21
  import types
22
22
  from collections import UserList, deque
23
- from collections.abc import ItemsView, KeysView, ValuesView
23
+ from collections.abc import (
24
+ AsyncGenerator,
25
+ Generator,
26
+ ItemsView,
27
+ Iterable,
28
+ KeysView,
29
+ Mapping,
30
+ Sequence,
31
+ ValuesView,
32
+ )
24
33
  from enum import EnumMeta
25
34
  from typing import (
26
35
  TYPE_CHECKING,
27
36
  Any,
28
- AsyncGenerator,
29
37
  Final,
30
- Generator,
31
- Iterable,
32
38
  Literal,
33
- Mapping,
34
39
  NamedTuple,
35
40
  Protocol,
36
- Sequence,
37
- Tuple,
38
41
  TypeVar,
39
42
  Union,
40
43
  overload,
@@ -56,7 +59,7 @@ T = TypeVar("T")
56
59
 
57
60
  # we define our own type here because mypy doesn't seem to support the shape type and
58
61
  # reports unreachable code. When mypy supports it, we can remove this custom type.
59
- NumpyShape: TypeAlias = Tuple[int, ...]
62
+ NumpyShape: TypeAlias = tuple[int, ...]
60
63
 
61
64
 
62
65
  class SupportsStr(Protocol):
streamlit/user_info.py CHANGED
@@ -14,11 +14,10 @@
14
14
 
15
15
  from __future__ import annotations
16
16
 
17
+ from collections.abc import Iterator, Mapping
17
18
  from typing import (
18
19
  TYPE_CHECKING,
19
20
  Final,
20
- Iterator,
21
- Mapping,
22
21
  NoReturn,
23
22
  Union,
24
23
  )
@@ -370,7 +369,7 @@ def _get_user_info() -> UserInfo:
370
369
 
371
370
  class UserInfoProxy(Mapping[str, Union[str, bool, None]]):
372
371
  """
373
- A read-only, dict-like object for accessing information about the current
372
+ A read-only, dict-like object for accessing information about the current\
374
373
  user.
375
374
 
376
375
  ``st.experimental_user`` is dependent on the host platform running your
@@ -15,7 +15,7 @@
15
15
  from __future__ import annotations
16
16
 
17
17
  import os
18
- from typing import Callable, Type, Union
18
+ from typing import Callable, Union
19
19
 
20
20
  import streamlit.watcher
21
21
  from streamlit import cli_util, config, env_util
@@ -46,9 +46,9 @@ class NoOpPathWatcher:
46
46
  # implementation if its import failed (due to missing watchdog module),
47
47
  # so we can't reference it directly in this type.
48
48
  PathWatcherType = Union[
49
- Type["streamlit.watcher.event_based_path_watcher.EventBasedPathWatcher"],
50
- Type[PollingPathWatcher],
51
- Type[NoOpPathWatcher],
49
+ type["streamlit.watcher.event_based_path_watcher.EventBasedPathWatcher"],
50
+ type[PollingPathWatcher],
51
+ type[NoOpPathWatcher],
52
52
  ]
53
53
 
54
54
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  from __future__ import annotations
16
16
 
17
- from typing import TYPE_CHECKING, Any, Sequence
17
+ from typing import TYPE_CHECKING, Any
18
18
 
19
19
  from authlib.integrations.base_client import ( # type: ignore[import-untyped]
20
20
  FrameworkIntegration,
@@ -23,6 +23,8 @@ from authlib.integrations.base_client import ( # type: ignore[import-untyped]
23
23
  from streamlit.runtime.secrets import AttrDict
24
24
 
25
25
  if TYPE_CHECKING:
26
+ from collections.abc import Sequence
27
+
26
28
  from streamlit.web.server.oidc_mixin import TornadoOAuth
27
29
 
28
30
 
@@ -16,7 +16,7 @@ from __future__ import annotations
16
16
 
17
17
  import hmac
18
18
  import json
19
- from typing import TYPE_CHECKING, Any, Awaitable, Final
19
+ from typing import TYPE_CHECKING, Any, Final
20
20
  from urllib.parse import urlparse
21
21
 
22
22
  import tornado.concurrent
@@ -39,6 +39,8 @@ from streamlit.web.server.server_util import (
39
39
  )
40
40
 
41
41
  if TYPE_CHECKING:
42
+ from collections.abc import Awaitable
43
+
42
44
  from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
43
45
 
44
46
  _LOGGER: Final = get_logger(__name__)
@@ -15,7 +15,7 @@
15
15
  from __future__ import annotations
16
16
 
17
17
  import os
18
- from typing import Final, Sequence
18
+ from typing import TYPE_CHECKING, Final
19
19
 
20
20
  import tornado.web
21
21
 
@@ -27,6 +27,9 @@ from streamlit.web.server.server_util import (
27
27
  is_xsrf_enabled,
28
28
  )
29
29
 
30
+ if TYPE_CHECKING:
31
+ from collections.abc import Sequence
32
+
30
33
  _LOGGER: Final = get_logger(__name__)
31
34
 
32
35
 
@@ -20,7 +20,7 @@ import mimetypes
20
20
  import os
21
21
  import sys
22
22
  from pathlib import Path
23
- from typing import TYPE_CHECKING, Any, Awaitable, Final
23
+ from typing import TYPE_CHECKING, Any, Final
24
24
 
25
25
  import tornado.concurrent
26
26
  import tornado.locks
@@ -63,6 +63,7 @@ from streamlit.web.server.stats_request_handler import StatsRequestHandler
63
63
  from streamlit.web.server.upload_file_request_handler import UploadFileRequestHandler
64
64
 
65
65
  if TYPE_CHECKING:
66
+ from collections.abc import Awaitable
66
67
  from ssl import SSLContext
67
68
 
68
69
  _LOGGER: Final = get_logger(__name__)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: streamlit-nightly
3
- Version: 1.41.2.dev20250201
3
+ Version: 1.42.1.dev20250204
4
4
  Summary: A faster way to build and share data apps
5
5
  Home-page: https://streamlit.io
6
6
  Author: Snowflake Inc
@@ -42,7 +42,6 @@ Requires-Dist: pillow<12,>=7.1.0
42
42
  Requires-Dist: protobuf<6,>=3.20
43
43
  Requires-Dist: pyarrow>=7.0
44
44
  Requires-Dist: requests<3,>=2.27
45
- Requires-Dist: rich<14,>=10.14.0
46
45
  Requires-Dist: tenacity<10,>=8.1.0
47
46
  Requires-Dist: toml<2,>=0.10.1
48
47
  Requires-Dist: typing-extensions<5,>=4.4.0