streamlit-nightly 1.45.1.dev20250510__py3-none-any.whl → 1.45.2.dev20250512__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.
- streamlit/commands/experimental_query_params.py +1 -1
- streamlit/commands/navigation.py +1 -4
- streamlit/commands/page_config.py +6 -26
- streamlit/config.py +9 -11
- streamlit/config_util.py +1 -1
- streamlit/connections/sql_connection.py +1 -1
- streamlit/dataframe_util.py +50 -51
- streamlit/elements/arrow.py +1 -1
- streamlit/elements/deck_gl_json_chart.py +1 -4
- streamlit/elements/doc_string.py +1 -4
- streamlit/elements/exception.py +5 -7
- streamlit/elements/layouts.py +4 -3
- streamlit/elements/lib/built_in_chart_utils.py +9 -14
- streamlit/elements/lib/pandas_styler_utils.py +6 -8
- streamlit/elements/map.py +2 -8
- streamlit/elements/markdown.py +1 -4
- streamlit/elements/media.py +50 -2
- streamlit/elements/metric.py +9 -10
- streamlit/elements/widgets/audio_input.py +1 -4
- streamlit/elements/widgets/camera_input.py +1 -4
- streamlit/elements/widgets/chat.py +52 -5
- streamlit/elements/widgets/data_editor.py +1 -1
- streamlit/elements/widgets/slider.py +3 -4
- streamlit/elements/widgets/time_widgets.py +1 -4
- streamlit/env_util.py +2 -7
- streamlit/errors.py +1 -14
- streamlit/logger.py +4 -5
- streamlit/proto/Audio_pb2.py +4 -3
- streamlit/proto/Audio_pb2.pyi +8 -1
- streamlit/proto/Block_pb2.py +5 -5
- streamlit/proto/Block_pb2.pyi +7 -1
- streamlit/proto/ChatInput_pb2.py +8 -7
- streamlit/proto/ChatInput_pb2.pyi +10 -1
- streamlit/proto/PageConfig_pb2.py +7 -7
- streamlit/proto/PageConfig_pb2.pyi +5 -1
- streamlit/proto/Video_pb2.py +8 -7
- streamlit/proto/Video_pb2.pyi +8 -1
- streamlit/runtime/app_session.py +1 -1
- streamlit/runtime/caching/hashing.py +8 -8
- streamlit/runtime/credentials.py +5 -4
- streamlit/runtime/memory_media_file_storage.py +5 -4
- streamlit/runtime/metrics_util.py +1 -1
- streamlit/runtime/scriptrunner/script_runner.py +1 -1
- streamlit/runtime/scriptrunner_utils/script_run_context.py +0 -15
- streamlit/runtime/state/query_params.py +2 -4
- streamlit/runtime/state/session_state.py +15 -15
- streamlit/static/index.html +1 -1
- streamlit/static/static/js/{ErrorOutline.esm.BewaDzzJ.js → ErrorOutline.esm.Cfhrjz42.js} +1 -1
- streamlit/static/static/js/{FileDownload.esm.D6ilL7v-.js → FileDownload.esm.BN5DkI-d.js} +1 -1
- streamlit/static/static/js/{FileHelper.q7erXtkb.js → FileHelper.BWWhRdUs.js} +1 -1
- streamlit/static/static/js/{FormClearHelper.Dd0v0IXt.js → FormClearHelper.CHPGUkGG.js} +1 -1
- streamlit/static/static/js/{Hooks.CchmJZGs.js → Hooks.DjxyUmgD.js} +1 -1
- streamlit/static/static/js/{InputInstructions.DI9h4PJ7.js → InputInstructions.Bkai2tFZ.js} +1 -1
- streamlit/static/static/js/{ProgressBar.DfcVR_JA.js → ProgressBar.DFiqS51i.js} +1 -1
- streamlit/static/static/js/{RenderInPortalIfExists.BAkT-LV5.js → RenderInPortalIfExists.DWTzV71R.js} +1 -1
- streamlit/static/static/js/{Toolbar.CNzefYiX.js → Toolbar.Dk2A3VxL.js} +1 -1
- streamlit/static/static/js/{base-input.BmA1ZV9Y.js → base-input.DfiT3r4p.js} +1 -1
- streamlit/static/static/js/{checkbox.mT4TKcAG.js → checkbox.DLXFjls2.js} +1 -1
- streamlit/static/static/js/{createSuper.Duo43uhY.js → createSuper.n2DV0o-4.js} +1 -1
- streamlit/static/static/js/{data-grid-overlay-editor.CY3l_gmP.js → data-grid-overlay-editor.v1LF25Ml.js} +1 -1
- streamlit/static/static/js/{downloader.CM5asV91.js → downloader.CI8EFE9Y.js} +1 -1
- streamlit/static/static/js/{es6.uiOeU51e.js → es6.CH6Tf3Uw.js} +2 -2
- streamlit/static/static/js/{iframeResizer.contentWindow.ClkMmI3q.js → iframeResizer.contentWindow.VCjyiSg6.js} +1 -1
- streamlit/static/static/js/{index.wiodyGjO.js → index.7XN_jSTW.js} +1 -1
- streamlit/static/static/js/{index.JA6OF_5t.js → index.9p279joF.js} +1 -1
- streamlit/static/static/js/{index.D56z-_rt.js → index.B-Q1qQil.js} +1 -1
- streamlit/static/static/js/{index.3d64wPzr.js → index.B1j5m20t.js} +1 -1
- streamlit/static/static/js/{index.BWubePhz.js → index.BEE4v1Vc.js} +1 -1
- streamlit/static/static/js/{index.C6tuB1Tp.js → index.BFEA8ufN.js} +1 -1
- streamlit/static/static/js/{index.BPK3aPVr.js → index.BROoC18J.js} +1 -1
- streamlit/static/static/js/{index.BnmoQ0mJ.js → index.BWVpiUBA.js} +1 -1
- streamlit/static/static/js/{index.DLO5_tVd.js → index.BgY_Js0s.js} +1 -1
- streamlit/static/static/js/{index.DAEzs_UL.js → index.C1P3O0oI.js} +1 -1
- streamlit/static/static/js/index.C1TEsRV0.js +779 -0
- streamlit/static/static/js/{index.DLyB6OQM.js → index.C9ORVZvA.js} +1 -1
- streamlit/static/static/js/{index.IqYlA3jn.js → index.CR4eM0Q3.js} +1 -1
- streamlit/static/static/js/{index.DeLPvnoy.js → index.CXpQxU0G.js} +1 -1
- streamlit/static/static/js/{index.Dhu_cVNQ.js → index.Cdsxte9t.js} +1 -1
- streamlit/static/static/js/{index.CB8SwV8L.js → index.CmsMgepL.js} +1 -1
- streamlit/static/static/js/{index.D6AKDy4z.js → index.D1An7GDs.js} +1 -1
- streamlit/static/static/js/{index.WlA_Ju7i.js → index.D1DxKfIm.js} +1 -1
- streamlit/static/static/js/{index.DNWXtL99.js → index.DKsDSPTo.js} +1 -1
- streamlit/static/static/js/{index.C1_voZpt.js → index.DMDjQhhk.js} +1 -1
- streamlit/static/static/js/{index.D9lEoddJ.js → index.DM_jnlWC.js} +1 -1
- streamlit/static/static/js/{index.Dj8nqcpI.js → index.DUU38l7N.js} +1 -1
- streamlit/static/static/js/{index.blwBIOHe.js → index.DXDmqevk.js} +1 -1
- streamlit/static/static/js/{index.DeeFVG0Y.js → index.D_Bv6KD1.js} +1 -1
- streamlit/static/static/js/{index.B2EfQ-qM.js → index.DcH46Eo2.js} +1 -1
- streamlit/static/static/js/{index.SW3uv22k.js → index.DgeyRl4J.js} +1 -1
- streamlit/static/static/js/{index.B6y8ns6u.js → index.DoM9A12Z.js} +1 -1
- streamlit/static/static/js/{index.BArkjssT.js → index.LqvX_Kr6.js} +1 -1
- streamlit/static/static/js/{index.CXmZFP__.js → index.Ovig-AMR.js} +62 -62
- streamlit/static/static/js/{index.BmBUBll0.js → index.SPkHHODG.js} +1 -1
- streamlit/static/static/js/{index.DbgE46VI.js → index.STF1QdPr.js} +1 -1
- streamlit/static/static/js/{index.B-oXGsp7.js → index.ZuW7Olhm.js} +1 -1
- streamlit/static/static/js/{index.CYAmxIg2.js → index.hFB9saa3.js} +1 -1
- streamlit/static/static/js/{index.D-zMZsin.js → index.jZkr87Ly.js} +1 -1
- streamlit/static/static/js/{index.B5wTpdet.js → index.nmbrjghZ.js} +1 -1
- streamlit/static/static/js/{index.1tDlzcmX.js → index.uN3TP5oq.js} +1 -1
- streamlit/static/static/js/{index.DpWg6flp.js → index.uhNJX5pn.js} +1 -1
- streamlit/static/static/js/{input.B3uNJm6d.js → input.BAfiLByr.js} +1 -1
- streamlit/static/static/js/{memory.BWtwV556.js → memory.CvD1KGKJ.js} +1 -1
- streamlit/static/static/js/{mergeWith.BeTmYGS_.js → mergeWith.Dy4BuY-h.js} +1 -1
- streamlit/static/static/js/{number-overlay-editor.MW9-6kFx.js → number-overlay-editor.Bl84FLfp.js} +1 -1
- streamlit/static/static/js/{possibleConstructorReturn.ZgHiGHSO.js → possibleConstructorReturn.gffiKeDQ.js} +1 -1
- streamlit/static/static/js/{sandbox.BZyTt4zT.js → sandbox.BXw8ya9t.js} +1 -1
- streamlit/static/static/js/{textarea.CgvEg9Xi.js → textarea.DNNNKi6n.js} +1 -1
- streamlit/static/static/js/{timepicker.CHPC9KOb.js → timepicker.CgHlrhoy.js} +1 -1
- streamlit/static/static/js/{toConsumableArray.6GvveewD.js → toConsumableArray.MtZ-3vir.js} +1 -1
- streamlit/static/static/js/{uniqueId.BV5h1uCx.js → uniqueId.CFcd6g0d.js} +1 -1
- streamlit/static/static/js/{useBasicWidgetState.DzE2MsN8.js → useBasicWidgetState.DadZUraL.js} +1 -1
- streamlit/static/static/js/{useOnInputChange.sGAnyCSU.js → useOnInputChange.V6d5TCFH.js} +1 -1
- streamlit/static/static/js/{withFullScreenWrapper.Bh08pTH8.js → withFullScreenWrapper.8qpius26.js} +1 -1
- streamlit/string_util.py +1 -4
- streamlit/testing/v1/element_tree.py +5 -4
- streamlit/testing/v1/local_script_runner.py +1 -4
- streamlit/type_util.py +2 -5
- streamlit/watcher/path_watcher.py +2 -5
- streamlit/watcher/polling_path_watcher.py +7 -6
- {streamlit_nightly-1.45.1.dev20250510.dist-info → streamlit_nightly-1.45.2.dev20250512.dist-info}/METADATA +1 -1
- {streamlit_nightly-1.45.1.dev20250510.dist-info → streamlit_nightly-1.45.2.dev20250512.dist-info}/RECORD +125 -125
- streamlit/static/static/js/index.PoIwzrI7.js +0 -779
- {streamlit_nightly-1.45.1.dev20250510.data → streamlit_nightly-1.45.2.dev20250512.data}/scripts/streamlit.cmd +0 -0
- {streamlit_nightly-1.45.1.dev20250510.dist-info → streamlit_nightly-1.45.2.dev20250512.dist-info}/WHEEL +0 -0
- {streamlit_nightly-1.45.1.dev20250510.dist-info → streamlit_nightly-1.45.2.dev20250512.dist-info}/entry_points.txt +0 -0
- {streamlit_nightly-1.45.1.dev20250510.dist-info → streamlit_nightly-1.45.2.dev20250512.dist-info}/top_level.txt +0 -0
streamlit/proto/ChatInput_pb2.py
CHANGED
@@ -12,9 +12,10 @@ from google.protobuf.internal import builder as _builder
|
|
12
12
|
_sym_db = _symbol_database.Default()
|
13
13
|
|
14
14
|
|
15
|
+
from streamlit.proto import WidthConfig_pb2 as streamlit_dot_proto_dot_WidthConfig__pb2
|
15
16
|
|
16
17
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fstreamlit/proto/ChatInput.proto\"\
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fstreamlit/proto/ChatInput.proto\x1a!streamlit/proto/WidthConfig.proto\"\x94\x03\n\tChatInput\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bplaceholder\x18\x02 \x01(\t\x12\x11\n\tmax_chars\x18\x03 \x01(\r\x12\x10\n\x08\x64isabled\x18\x04 \x01(\x08\x12\r\n\x05value\x18\x05 \x01(\t\x12\x11\n\tset_value\x18\x06 \x01(\x08\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x07 \x01(\t\x12%\n\x08position\x18\x08 \x01(\x0e\x32\x13.ChatInput.Position\x12*\n\x0b\x61\x63\x63\x65pt_file\x18\t \x01(\x0e\x32\x15.ChatInput.AcceptFile\x12\x11\n\tfile_type\x18\n \x03(\t\x12\x1a\n\x12max_upload_size_mb\x18\x0b \x01(\x05\x12\x31\n\x0cwidth_config\x18\x0c \x01(\x0b\x32\x16.streamlit.WidthConfigH\x00\x88\x01\x01\"\x16\n\x08Position\x12\n\n\x06\x42OTTOM\x10\x00\"0\n\nAcceptFile\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06SINGLE\x10\x01\x12\x0c\n\x08MULTIPLE\x10\x02\x42\x0f\n\r_width_configB.\n\x1c\x63om.snowflake.apps.streamlitB\x0e\x43hatInputProtob\x06proto3')
|
18
19
|
|
19
20
|
_globals = globals()
|
20
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -22,10 +23,10 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.ChatInput_p
|
|
22
23
|
if not _descriptor._USE_C_DESCRIPTORS:
|
23
24
|
_globals['DESCRIPTOR']._loaded_options = None
|
24
25
|
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\016ChatInputProto'
|
25
|
-
_globals['_CHATINPUT']._serialized_start=
|
26
|
-
_globals['_CHATINPUT']._serialized_end=
|
27
|
-
_globals['_CHATINPUT_POSITION']._serialized_start=
|
28
|
-
_globals['_CHATINPUT_POSITION']._serialized_end=
|
29
|
-
_globals['_CHATINPUT_ACCEPTFILE']._serialized_start=
|
30
|
-
_globals['_CHATINPUT_ACCEPTFILE']._serialized_end=
|
26
|
+
_globals['_CHATINPUT']._serialized_start=71
|
27
|
+
_globals['_CHATINPUT']._serialized_end=475
|
28
|
+
_globals['_CHATINPUT_POSITION']._serialized_start=386
|
29
|
+
_globals['_CHATINPUT_POSITION']._serialized_end=408
|
30
|
+
_globals['_CHATINPUT_ACCEPTFILE']._serialized_start=410
|
31
|
+
_globals['_CHATINPUT_ACCEPTFILE']._serialized_end=458
|
31
32
|
# @@protoc_insertion_point(module_scope)
|
@@ -23,6 +23,7 @@ import google.protobuf.descriptor
|
|
23
23
|
import google.protobuf.internal.containers
|
24
24
|
import google.protobuf.internal.enum_type_wrapper
|
25
25
|
import google.protobuf.message
|
26
|
+
import streamlit.proto.WidthConfig_pb2
|
26
27
|
import sys
|
27
28
|
import typing
|
28
29
|
|
@@ -76,6 +77,7 @@ class ChatInput(google.protobuf.message.Message):
|
|
76
77
|
ACCEPT_FILE_FIELD_NUMBER: builtins.int
|
77
78
|
FILE_TYPE_FIELD_NUMBER: builtins.int
|
78
79
|
MAX_UPLOAD_SIZE_MB_FIELD_NUMBER: builtins.int
|
80
|
+
WIDTH_CONFIG_FIELD_NUMBER: builtins.int
|
79
81
|
id: builtins.str
|
80
82
|
placeholder: builtins.str
|
81
83
|
max_chars: builtins.int
|
@@ -91,6 +93,10 @@ class ChatInput(google.protobuf.message.Message):
|
|
91
93
|
def file_type(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
92
94
|
"""Supported file types: For example: ["png","jpg","img"]"""
|
93
95
|
|
96
|
+
@property
|
97
|
+
def width_config(self) -> streamlit.proto.WidthConfig_pb2.WidthConfig:
|
98
|
+
"""Optional width configuration for the ChatInput"""
|
99
|
+
|
94
100
|
def __init__(
|
95
101
|
self,
|
96
102
|
*,
|
@@ -105,7 +111,10 @@ class ChatInput(google.protobuf.message.Message):
|
|
105
111
|
accept_file: global___ChatInput.AcceptFile.ValueType = ...,
|
106
112
|
file_type: collections.abc.Iterable[builtins.str] | None = ...,
|
107
113
|
max_upload_size_mb: builtins.int = ...,
|
114
|
+
width_config: streamlit.proto.WidthConfig_pb2.WidthConfig | None = ...,
|
108
115
|
) -> None: ...
|
109
|
-
def
|
116
|
+
def HasField(self, field_name: typing.Literal["_width_config", b"_width_config", "width_config", b"width_config"]) -> builtins.bool: ...
|
117
|
+
def ClearField(self, field_name: typing.Literal["_width_config", b"_width_config", "accept_file", b"accept_file", "default", b"default", "disabled", b"disabled", "file_type", b"file_type", "id", b"id", "max_chars", b"max_chars", "max_upload_size_mb", b"max_upload_size_mb", "placeholder", b"placeholder", "position", b"position", "set_value", b"set_value", "value", b"value", "width_config", b"width_config"]) -> None: ...
|
118
|
+
def WhichOneof(self, oneof_group: typing.Literal["_width_config", b"_width_config"]) -> typing.Literal["width_config"] | None: ...
|
110
119
|
|
111
120
|
global___ChatInput = ChatInput
|
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n streamlit/proto/PageConfig.proto\"\
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n streamlit/proto/PageConfig.proto\"\xaf\x03\n\nPageConfig\x12\r\n\x05title\x18\x01 \x01(\t\x12\x0f\n\x07\x66\x61vicon\x18\x02 \x01(\t\x12\"\n\x06layout\x18\x03 \x01(\x0e\x32\x12.PageConfig.Layout\x12\x37\n\x15initial_sidebar_state\x18\x04 \x01(\x0e\x32\x18.PageConfig.SidebarState\x12)\n\nmenu_items\x18\x05 \x01(\x0b\x32\x15.PageConfig.MenuItems\x1a\x9f\x01\n\tMenuItems\x12\x14\n\x0cget_help_url\x18\x01 \x01(\t\x12\x15\n\rhide_get_help\x18\x02 \x01(\x08\x12\x18\n\x10report_a_bug_url\x18\x03 \x01(\t\x12\x19\n\x11hide_report_a_bug\x18\x04 \x01(\x08\x12\x18\n\x10\x61\x62out_section_md\x18\x05 \x01(\t\x12\x16\n\x0e\x63lear_about_md\x18\x06 \x01(\x08\" \n\x06Layout\x12\x0c\n\x08\x43\x45NTERED\x10\x00\x12\x08\n\x04WIDE\x10\x01\"5\n\x0cSidebarState\x12\x08\n\x04\x41UTO\x10\x00\x12\x0c\n\x08\x45XPANDED\x10\x01\x12\r\n\tCOLLAPSED\x10\x02\x42/\n\x1c\x63om.snowflake.apps.streamlitB\x0fPageConfigProtob\x06proto3')
|
18
18
|
|
19
19
|
_globals = globals()
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -23,11 +23,11 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
23
23
|
_globals['DESCRIPTOR']._loaded_options = None
|
24
24
|
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\017PageConfigProto'
|
25
25
|
_globals['_PAGECONFIG']._serialized_start=37
|
26
|
-
_globals['_PAGECONFIG']._serialized_end=
|
26
|
+
_globals['_PAGECONFIG']._serialized_end=468
|
27
27
|
_globals['_PAGECONFIG_MENUITEMS']._serialized_start=220
|
28
|
-
_globals['_PAGECONFIG_MENUITEMS']._serialized_end=
|
29
|
-
_globals['_PAGECONFIG_LAYOUT']._serialized_start=
|
30
|
-
_globals['_PAGECONFIG_LAYOUT']._serialized_end=
|
31
|
-
_globals['_PAGECONFIG_SIDEBARSTATE']._serialized_start=
|
32
|
-
_globals['_PAGECONFIG_SIDEBARSTATE']._serialized_end=
|
28
|
+
_globals['_PAGECONFIG_MENUITEMS']._serialized_end=379
|
29
|
+
_globals['_PAGECONFIG_LAYOUT']._serialized_start=381
|
30
|
+
_globals['_PAGECONFIG_LAYOUT']._serialized_end=413
|
31
|
+
_globals['_PAGECONFIG_SIDEBARSTATE']._serialized_start=415
|
32
|
+
_globals['_PAGECONFIG_SIDEBARSTATE']._serialized_end=468
|
33
33
|
# @@protoc_insertion_point(module_scope)
|
@@ -84,11 +84,14 @@ class PageConfig(google.protobuf.message.Message):
|
|
84
84
|
REPORT_A_BUG_URL_FIELD_NUMBER: builtins.int
|
85
85
|
HIDE_REPORT_A_BUG_FIELD_NUMBER: builtins.int
|
86
86
|
ABOUT_SECTION_MD_FIELD_NUMBER: builtins.int
|
87
|
+
CLEAR_ABOUT_MD_FIELD_NUMBER: builtins.int
|
87
88
|
get_help_url: builtins.str
|
88
89
|
hide_get_help: builtins.bool
|
89
90
|
report_a_bug_url: builtins.str
|
90
91
|
hide_report_a_bug: builtins.bool
|
91
92
|
about_section_md: builtins.str
|
93
|
+
clear_about_md: builtins.bool
|
94
|
+
"""For multiple calls to set_page_config, clears set about markdown"""
|
92
95
|
def __init__(
|
93
96
|
self,
|
94
97
|
*,
|
@@ -97,8 +100,9 @@ class PageConfig(google.protobuf.message.Message):
|
|
97
100
|
report_a_bug_url: builtins.str = ...,
|
98
101
|
hide_report_a_bug: builtins.bool = ...,
|
99
102
|
about_section_md: builtins.str = ...,
|
103
|
+
clear_about_md: builtins.bool = ...,
|
100
104
|
) -> None: ...
|
101
|
-
def ClearField(self, field_name: typing.Literal["about_section_md", b"about_section_md", "get_help_url", b"get_help_url", "hide_get_help", b"hide_get_help", "hide_report_a_bug", b"hide_report_a_bug", "report_a_bug_url", b"report_a_bug_url"]) -> None: ...
|
105
|
+
def ClearField(self, field_name: typing.Literal["about_section_md", b"about_section_md", "clear_about_md", b"clear_about_md", "get_help_url", b"get_help_url", "hide_get_help", b"hide_get_help", "hide_report_a_bug", b"hide_report_a_bug", "report_a_bug_url", b"report_a_bug_url"]) -> None: ...
|
102
106
|
|
103
107
|
TITLE_FIELD_NUMBER: builtins.int
|
104
108
|
FAVICON_FIELD_NUMBER: builtins.int
|
streamlit/proto/Video_pb2.py
CHANGED
@@ -12,9 +12,10 @@ from google.protobuf.internal import builder as _builder
|
|
12
12
|
_sym_db = _symbol_database.Default()
|
13
13
|
|
14
14
|
|
15
|
+
from streamlit.proto import WidthConfig_pb2 as streamlit_dot_proto_dot_WidthConfig__pb2
|
15
16
|
|
16
17
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Video.proto\"+\n\rSubtitleTrack\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"\
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Video.proto\x1a!streamlit/proto/WidthConfig.proto\"+\n\rSubtitleTrack\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"\xcb\x02\n\x05Video\x12\x0b\n\x03url\x18\x06 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x05\x12\x19\n\x04type\x18\x05 \x01(\x0e\x32\x0b.Video.Type\x12!\n\tsubtitles\x18\x07 \x03(\x0b\x32\x0e.SubtitleTrack\x12\x10\n\x08\x65nd_time\x18\x08 \x01(\x05\x12\x0c\n\x04loop\x18\t \x01(\x08\x12\x10\n\x08\x61utoplay\x18\n \x01(\x08\x12\r\n\x05muted\x18\x0b \x01(\x08\x12\n\n\x02id\x18\x0c \x01(\t\x12\x31\n\x0cwidth_config\x18\r \x01(\x0b\x32\x16.streamlit.WidthConfigH\x00\x88\x01\x01\"2\n\x04Type\x12\n\n\x06UNUSED\x10\x00\x12\n\n\x06NATIVE\x10\x01\x12\x12\n\x0eYOUTUBE_IFRAME\x10\x02\x42\x0f\n\r_width_configJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05R\x06\x66ormatR\x04\x64\x61taB*\n\x1c\x63om.snowflake.apps.streamlitB\nVideoProtob\x06proto3')
|
18
19
|
|
19
20
|
_globals = globals()
|
20
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -22,10 +23,10 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Video_pb2',
|
|
22
23
|
if not _descriptor._USE_C_DESCRIPTORS:
|
23
24
|
_globals['DESCRIPTOR']._loaded_options = None
|
24
25
|
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\nVideoProto'
|
25
|
-
_globals['_SUBTITLETRACK']._serialized_start=
|
26
|
-
_globals['_SUBTITLETRACK']._serialized_end=
|
27
|
-
_globals['_VIDEO']._serialized_start=
|
28
|
-
_globals['_VIDEO']._serialized_end=
|
29
|
-
_globals['_VIDEO_TYPE']._serialized_start=
|
30
|
-
_globals['_VIDEO_TYPE']._serialized_end=
|
26
|
+
_globals['_SUBTITLETRACK']._serialized_start=66
|
27
|
+
_globals['_SUBTITLETRACK']._serialized_end=109
|
28
|
+
_globals['_VIDEO']._serialized_start=112
|
29
|
+
_globals['_VIDEO']._serialized_end=443
|
30
|
+
_globals['_VIDEO_TYPE']._serialized_start=344
|
31
|
+
_globals['_VIDEO_TYPE']._serialized_end=394
|
31
32
|
# @@protoc_insertion_point(module_scope)
|
streamlit/proto/Video_pb2.pyi
CHANGED
@@ -23,6 +23,7 @@ import google.protobuf.descriptor
|
|
23
23
|
import google.protobuf.internal.containers
|
24
24
|
import google.protobuf.internal.enum_type_wrapper
|
25
25
|
import google.protobuf.message
|
26
|
+
import streamlit.proto.WidthConfig_pb2
|
26
27
|
import sys
|
27
28
|
import typing
|
28
29
|
|
@@ -82,6 +83,7 @@ class Video(google.protobuf.message.Message):
|
|
82
83
|
AUTOPLAY_FIELD_NUMBER: builtins.int
|
83
84
|
MUTED_FIELD_NUMBER: builtins.int
|
84
85
|
ID_FIELD_NUMBER: builtins.int
|
86
|
+
WIDTH_CONFIG_FIELD_NUMBER: builtins.int
|
85
87
|
url: builtins.str
|
86
88
|
"""A url pointing to a video file"""
|
87
89
|
start_time: builtins.int
|
@@ -99,6 +101,8 @@ class Video(google.protobuf.message.Message):
|
|
99
101
|
def subtitles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SubtitleTrack]:
|
100
102
|
"""Repeated field for subtitle tracks"""
|
101
103
|
|
104
|
+
@property
|
105
|
+
def width_config(self) -> streamlit.proto.WidthConfig_pb2.WidthConfig: ...
|
102
106
|
def __init__(
|
103
107
|
self,
|
104
108
|
*,
|
@@ -111,7 +115,10 @@ class Video(google.protobuf.message.Message):
|
|
111
115
|
autoplay: builtins.bool = ...,
|
112
116
|
muted: builtins.bool = ...,
|
113
117
|
id: builtins.str = ...,
|
118
|
+
width_config: streamlit.proto.WidthConfig_pb2.WidthConfig | None = ...,
|
114
119
|
) -> None: ...
|
115
|
-
def
|
120
|
+
def HasField(self, field_name: typing.Literal["_width_config", b"_width_config", "width_config", b"width_config"]) -> builtins.bool: ...
|
121
|
+
def ClearField(self, field_name: typing.Literal["_width_config", b"_width_config", "autoplay", b"autoplay", "end_time", b"end_time", "id", b"id", "loop", b"loop", "muted", b"muted", "start_time", b"start_time", "subtitles", b"subtitles", "type", b"type", "url", b"url", "width_config", b"width_config"]) -> None: ...
|
122
|
+
def WhichOneof(self, oneof_group: typing.Literal["_width_config", b"_width_config"]) -> typing.Literal["width_config"] | None: ...
|
116
123
|
|
117
124
|
global___Video = Video
|
streamlit/runtime/app_session.py
CHANGED
@@ -905,7 +905,7 @@ def _get_toolbar_mode() -> Config.ToolbarMode.ValueType:
|
|
905
905
|
Config.ToolbarMode, config_value.upper()
|
906
906
|
)
|
907
907
|
if enum_value is None:
|
908
|
-
allowed_values = ", ".join(k.lower() for k in Config.ToolbarMode.keys())
|
908
|
+
allowed_values = ", ".join(k.lower() for k in Config.ToolbarMode.keys()) # noqa: SIM118
|
909
909
|
raise ValueError(
|
910
910
|
f"Config {config_key!r} expects to have one of "
|
911
911
|
f"the following values: {allowed_values}. "
|
@@ -136,10 +136,11 @@ If you think this is actually a Streamlit bug, please
|
|
136
136
|
elif self.cache_type is CacheType.DATA:
|
137
137
|
decorator_name = "@st.cache_data"
|
138
138
|
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
139
|
+
hash_func_name = (
|
140
|
+
f"`{self.hash_func.__name__}()`"
|
141
|
+
if hasattr(self.hash_func, "__name__")
|
142
|
+
else "a function"
|
143
|
+
)
|
143
144
|
|
144
145
|
return {
|
145
146
|
"orig_exception_desc": str(orig_exc),
|
@@ -313,9 +314,8 @@ class _CacheFuncHasher:
|
|
313
314
|
key = (tname, _key(obj))
|
314
315
|
|
315
316
|
# Memoize if possible.
|
316
|
-
if key[1] is not NoResult:
|
317
|
-
|
318
|
-
return self._hashes[key]
|
317
|
+
if key[1] is not NoResult and key in self._hashes:
|
318
|
+
return self._hashes[key]
|
319
319
|
|
320
320
|
# Break recursive cycles.
|
321
321
|
if obj in hash_stacks.current:
|
@@ -362,7 +362,7 @@ class _CacheFuncHasher:
|
|
362
362
|
# deep, so we don't try to hash them at all.
|
363
363
|
return self.to_bytes(id(obj))
|
364
364
|
|
365
|
-
if isinstance(obj, bytes
|
365
|
+
if isinstance(obj, (bytes, bytearray)):
|
366
366
|
return obj
|
367
367
|
|
368
368
|
if type_util.get_fqn_type(obj) in self._hash_funcs:
|
streamlit/runtime/credentials.py
CHANGED
@@ -29,10 +29,11 @@ from streamlit.logger import get_logger
|
|
29
29
|
_LOGGER: Final = get_logger(__name__)
|
30
30
|
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
_CONFIG_FILE_PATH = (
|
33
|
+
r"%userprofile%/.streamlit/config.toml"
|
34
|
+
if env_util.IS_WINDOWS
|
35
|
+
else "~/.streamlit/config.toml"
|
36
|
+
)
|
36
37
|
|
37
38
|
|
38
39
|
class _Activation(NamedTuple):
|
@@ -110,10 +110,11 @@ class MemoryMediaFileStorage(MediaFileStorage, CacheStatsProvider):
|
|
110
110
|
) -> str:
|
111
111
|
"""Add a file to the manager and return its ID."""
|
112
112
|
file_data: bytes
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
113
|
+
file_data = (
|
114
|
+
self._read_file(path_or_data)
|
115
|
+
if isinstance(path_or_data, str)
|
116
|
+
else path_or_data
|
117
|
+
)
|
117
118
|
|
118
119
|
# Because our file_ids are stable, if we already have a file with the
|
119
120
|
# given ID, we don't need to create a new one.
|
@@ -487,7 +487,7 @@ def create_page_profile_message(
|
|
487
487
|
# Collect all config options that have been manually set
|
488
488
|
config_options: set[str] = set()
|
489
489
|
if config._config_options:
|
490
|
-
for option_name in config._config_options
|
490
|
+
for option_name in config._config_options:
|
491
491
|
if not config.is_manually_set(option_name):
|
492
492
|
# We only care about manually defined options
|
493
493
|
continue
|
@@ -33,7 +33,6 @@ from typing_extensions import TypeAlias
|
|
33
33
|
from streamlit.errors import (
|
34
34
|
NoSessionContext,
|
35
35
|
StreamlitAPIException,
|
36
|
-
StreamlitSetPageConfigMustBeFirstCommandError,
|
37
36
|
)
|
38
37
|
from streamlit.logger import get_logger
|
39
38
|
from streamlit.runtime.forward_msg_cache import (
|
@@ -98,7 +97,6 @@ class ScriptRunContext:
|
|
98
97
|
command_tracking_deactivated: bool = False
|
99
98
|
tracked_commands: list[Command] = field(default_factory=list)
|
100
99
|
tracked_commands_counter: Counter[str] = field(default_factory=collections.Counter)
|
101
|
-
_set_page_config_allowed: bool = True
|
102
100
|
_has_script_started: bool = False
|
103
101
|
widget_ids_this_run: set[str] = field(default_factory=set)
|
104
102
|
widget_user_keys_this_run: set[str] = field(default_factory=set)
|
@@ -159,8 +157,6 @@ class ScriptRunContext:
|
|
159
157
|
self.context_info = context_info
|
160
158
|
self.pages_manager.set_current_page_script_hash(page_script_hash)
|
161
159
|
self._active_script_hash = self.pages_manager.main_script_hash
|
162
|
-
# Permit set_page_config when the ScriptRunContext is reused on a rerun
|
163
|
-
self._set_page_config_allowed = True
|
164
160
|
self._has_script_started = False
|
165
161
|
self.command_tracking_deactivated: bool = False
|
166
162
|
self.tracked_commands = []
|
@@ -190,17 +186,6 @@ class ScriptRunContext:
|
|
190
186
|
|
191
187
|
def enqueue(self, msg: ForwardMsg) -> None:
|
192
188
|
"""Enqueue a ForwardMsg for this context's session."""
|
193
|
-
if msg.HasField("page_config_changed") and not self._set_page_config_allowed:
|
194
|
-
raise StreamlitSetPageConfigMustBeFirstCommandError()
|
195
|
-
|
196
|
-
# We want to disallow set_page config if one of the following occurs:
|
197
|
-
# - set_page_config was called on this message
|
198
|
-
# - The script has already started and a different st call occurs (a delta)
|
199
|
-
if msg.HasField("page_config_changed") or (
|
200
|
-
msg.HasField("delta") and self._has_script_started
|
201
|
-
):
|
202
|
-
self._set_page_config_allowed = False
|
203
|
-
|
204
189
|
msg.metadata.active_script_hash = self.active_script_hash
|
205
190
|
|
206
191
|
# We populate the hash and cacheable field for all messages.
|
@@ -47,9 +47,7 @@ class QueryParams(MutableMapping[str, str]):
|
|
47
47
|
self._ensure_single_query_api_used()
|
48
48
|
|
49
49
|
return iter(
|
50
|
-
key
|
51
|
-
for key in self._query_params.keys()
|
52
|
-
if key not in EMBED_QUERY_PARAMS_KEYS
|
50
|
+
key for key in self._query_params if key not in EMBED_QUERY_PARAMS_KEYS
|
53
51
|
)
|
54
52
|
|
55
53
|
def __getitem__(self, key: str) -> str:
|
@@ -116,7 +114,7 @@ class QueryParams(MutableMapping[str, str]):
|
|
116
114
|
# to ensure only one one ForwardMsg is sent.
|
117
115
|
self._ensure_single_query_api_used()
|
118
116
|
if hasattr(other, "keys") and hasattr(other, "__getitem__"):
|
119
|
-
for key in other.keys():
|
117
|
+
for key in other.keys(): # noqa: SIM118
|
120
118
|
self.__set_item_internal(key, other[key])
|
121
119
|
else:
|
122
120
|
for key, value in other:
|
@@ -249,7 +249,7 @@ class WStates(MutableMapping[str, Any]):
|
|
249
249
|
"""Return a list of serialized widget values for each widget with a value."""
|
250
250
|
states = [
|
251
251
|
self.get_serialized(widget_id)
|
252
|
-
for widget_id in self.states
|
252
|
+
for widget_id in self.states
|
253
253
|
if self.get_serialized(widget_id)
|
254
254
|
]
|
255
255
|
states = cast("list[WidgetStateProto]", states)
|
@@ -429,10 +429,10 @@ class SessionState:
|
|
429
429
|
for widgets that don't have user_keys defined, and which aren't
|
430
430
|
exposed to user code).
|
431
431
|
"""
|
432
|
-
old_keys = {self._get_widget_id(k) for k in self._old_state
|
432
|
+
old_keys = {self._get_widget_id(k) for k in self._old_state}
|
433
433
|
new_widget_keys = set(self._new_widget_state.keys())
|
434
434
|
new_session_state_keys = {
|
435
|
-
self._get_widget_id(k) for k in self._new_session_state
|
435
|
+
self._get_widget_id(k) for k in self._new_session_state
|
436
436
|
}
|
437
437
|
return old_keys | new_widget_keys | new_session_state_keys
|
438
438
|
|
@@ -729,19 +729,19 @@ class SessionState:
|
|
729
729
|
We use pickleability as the metric for serializability, and test for
|
730
730
|
pickleability by just trying it.
|
731
731
|
"""
|
732
|
-
|
733
|
-
|
732
|
+
for k in self:
|
733
|
+
try:
|
734
734
|
pickle.dumps(self[k])
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
735
|
+
except Exception as e: # noqa: PERF203
|
736
|
+
err_msg = (
|
737
|
+
f"Cannot serialize the value (of type `{type(self[k])}`) of '{k}' in "
|
738
|
+
"st.session_state. Streamlit has been configured to use "
|
739
|
+
"[pickle](https://docs.python.org/3/library/pickle.html) to "
|
740
|
+
"serialize session_state values. Please convert the value to a "
|
741
|
+
"pickle-serializable type. To learn more about this behavior, "
|
742
|
+
"see [our docs](https://docs.streamlit.io/knowledge-base/using-streamlit/serializable-session-state)."
|
743
|
+
)
|
744
|
+
raise UnserializableSessionStateError(err_msg) from e
|
745
745
|
|
746
746
|
def maybe_check_serializable(self) -> None:
|
747
747
|
"""Verify that session state can be serialized, if the relevant config
|
streamlit/static/index.html
CHANGED
@@ -51,7 +51,7 @@
|
|
51
51
|
<script>
|
52
52
|
window.prerenderReady = false
|
53
53
|
</script>
|
54
|
-
<script type="module" crossorigin src="./static/js/index.
|
54
|
+
<script type="module" crossorigin src="./static/js/index.C1TEsRV0.js"></script>
|
55
55
|
<link rel="stylesheet" crossorigin href="./static/css/index.C6rq3aMZ.css">
|
56
56
|
</head>
|
57
57
|
<body>
|
@@ -1 +1 @@
|
|
1
|
-
import{r,E as a,_ as n}from"./index.
|
1
|
+
import{r,E as a,_ as n}from"./index.C1TEsRV0.js";var i=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(a,n({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{d:"M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}))});i.displayName="ErrorOutline";export{i as E};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as e,E as n,_ as a}from"./index.
|
1
|
+
import{r as e,E as n,_ as a}from"./index.C1TEsRV0.js";var o=e.forwardRef(function(t,r){var l={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return e.createElement(n,a({iconAttrs:l,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:r}),e.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),e.createElement("path",{d:"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"}))});o.displayName="Delete";var i=e.forwardRef(function(t,r){var l={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return e.createElement(n,a({iconAttrs:l,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:r}),e.createElement("rect",{width:24,height:24,fill:"none"}),e.createElement("path",{d:"M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zm-1-4l-1.41-1.41L13 12.17V4h-2v8.17L8.41 9.59 7 11l5 5 5-5z"}))});i.displayName="FileDownload";export{o as D,i as F};
|