streamlit-nightly 1.53.2.dev20260128__py3-none-any.whl → 1.53.2.dev20260131__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/config.py +3 -2
- streamlit/config_util.py +63 -8
- streamlit/elements/deck_gl_json_chart.py +5 -1
- streamlit/elements/lib/built_in_chart_utils.py +24 -4
- streamlit/elements/lib/color_util.py +20 -1
- streamlit/elements/vega_charts.py +24 -4
- streamlit/proto/Alert_pb2.py +2 -3
- streamlit/proto/AppPage_pb2.py +2 -3
- streamlit/proto/ArrowData_pb2.py +2 -3
- streamlit/proto/ArrowNamedDataSet_pb2.py +2 -3
- streamlit/proto/ArrowVegaLiteChart_pb2.py +2 -3
- streamlit/proto/Arrow_pb2.py +11 -18
- streamlit/proto/Arrow_pb2.pyi +1 -42
- streamlit/proto/AudioInput_pb2.py +2 -3
- streamlit/proto/Audio_pb2.py +2 -3
- streamlit/proto/AuthRedirect_pb2.py +2 -3
- streamlit/proto/AutoRerun_pb2.py +2 -3
- streamlit/proto/BackMsg_pb2.py +2 -3
- streamlit/proto/Balloons_pb2.py +2 -3
- streamlit/proto/BidiComponent_pb2.py +2 -3
- streamlit/proto/Block_pb2.py +36 -43
- streamlit/proto/Block_pb2.pyi +3 -48
- streamlit/proto/BokehChart_pb2.py +2 -3
- streamlit/proto/ButtonGroup_pb2.py +2 -3
- streamlit/proto/ButtonLikeIconPosition_pb2.py +2 -3
- streamlit/proto/Button_pb2.py +3 -6
- streamlit/proto/Button_pb2.pyi +1 -18
- streamlit/proto/CameraInput_pb2.py +2 -3
- streamlit/proto/ChatInput_pb2.py +5 -8
- streamlit/proto/ChatInput_pb2.pyi +1 -17
- streamlit/proto/Checkbox_pb2.py +2 -3
- streamlit/proto/ClientState_pb2.py +2 -3
- streamlit/proto/Code_pb2.py +3 -6
- streamlit/proto/Code_pb2.pyi +1 -18
- streamlit/proto/ColorPicker_pb2.py +2 -3
- streamlit/proto/Common_pb2.py +7 -8
- streamlit/proto/Common_pb2.pyi +2 -10
- streamlit/proto/Components_pb2.py +2 -3
- streamlit/proto/DateInput_pb2.py +2 -3
- streamlit/proto/DateTimeInput_pb2.py +2 -3
- streamlit/proto/DeckGlJsonChart_pb2.py +5 -12
- streamlit/proto/DeckGlJsonChart_pb2.pyi +1 -54
- streamlit/proto/Delta_pb2.py +4 -6
- streamlit/proto/Delta_pb2.pyi +5 -14
- streamlit/proto/DocString_pb2.py +2 -3
- streamlit/proto/DownloadButton_pb2.py +2 -3
- streamlit/proto/Element_pb2.py +4 -7
- streamlit/proto/Element_pb2.pyi +3 -23
- streamlit/proto/Empty_pb2.py +2 -3
- streamlit/proto/Exception_pb2.py +2 -3
- streamlit/proto/Favicon_pb2.py +2 -3
- streamlit/proto/FileUploader_pb2.py +2 -3
- streamlit/proto/ForwardMsg_pb2.py +12 -18
- streamlit/proto/ForwardMsg_pb2.pyi +4 -48
- streamlit/proto/GapSize_pb2.py +2 -3
- streamlit/proto/GitInfo_pb2.py +2 -3
- streamlit/proto/GraphVizChart_pb2.py +3 -6
- streamlit/proto/GraphVizChart_pb2.pyi +1 -18
- streamlit/proto/Heading_pb2.py +2 -3
- streamlit/proto/HeightConfig_pb2.py +2 -3
- streamlit/proto/Html_pb2.py +2 -3
- streamlit/proto/IFrame_pb2.py +3 -10
- streamlit/proto/IFrame_pb2.pyi +1 -42
- streamlit/proto/Image_pb2.py +3 -6
- streamlit/proto/Image_pb2.pyi +1 -18
- streamlit/proto/Json_pb2.py +2 -3
- streamlit/proto/LabelVisibilityMessage_pb2.py +2 -3
- streamlit/proto/LinkButton_pb2.py +2 -3
- streamlit/proto/Logo_pb2.py +2 -3
- streamlit/proto/Markdown_pb2.py +2 -3
- streamlit/proto/Metric_pb2.py +2 -3
- streamlit/proto/MetricsEvent_pb2.py +2 -3
- streamlit/proto/MultiSelect_pb2.py +3 -6
- streamlit/proto/MultiSelect_pb2.pyi +1 -11
- streamlit/proto/Navigation_pb2.py +2 -3
- streamlit/proto/NewSession_pb2.py +27 -28
- streamlit/proto/NewSession_pb2.pyi +2 -12
- streamlit/proto/NumberInput_pb2.py +2 -3
- streamlit/proto/PageConfig_pb2.py +2 -3
- streamlit/proto/PageInfo_pb2.py +2 -3
- streamlit/proto/PageLink_pb2.py +2 -3
- streamlit/proto/PageNotFound_pb2.py +2 -3
- streamlit/proto/PageProfile_pb2.py +2 -3
- streamlit/proto/ParentMessage_pb2.py +2 -3
- streamlit/proto/PlotlyChart_pb2.py +5 -10
- streamlit/proto/PlotlyChart_pb2.pyi +1 -58
- streamlit/proto/Progress_pb2.py +2 -3
- streamlit/proto/Radio_pb2.py +3 -6
- streamlit/proto/Radio_pb2.pyi +2 -19
- streamlit/proto/RootContainer_pb2.py +2 -3
- streamlit/proto/Selectbox_pb2.py +3 -6
- streamlit/proto/Selectbox_pb2.pyi +2 -19
- streamlit/proto/SessionEvent_pb2.py +2 -3
- streamlit/proto/SessionStatus_pb2.py +2 -3
- streamlit/proto/Skeleton_pb2.py +2 -3
- streamlit/proto/Slider_pb2.py +2 -3
- streamlit/proto/Snow_pb2.py +2 -3
- streamlit/proto/Space_pb2.py +2 -3
- streamlit/proto/Spinner_pb2.py +2 -3
- streamlit/proto/TextAlignmentConfig_pb2.py +2 -3
- streamlit/proto/TextArea_pb2.py +3 -6
- streamlit/proto/TextArea_pb2.pyi +1 -18
- streamlit/proto/TextInput_pb2.py +2 -3
- streamlit/proto/Text_pb2.py +2 -3
- streamlit/proto/TimeInput_pb2.py +2 -3
- streamlit/proto/Toast_pb2.py +2 -3
- streamlit/proto/Transient_pb2.py +2 -3
- streamlit/proto/Video_pb2.py +2 -3
- streamlit/proto/WidgetStates_pb2.py +2 -3
- streamlit/proto/WidthConfig_pb2.py +2 -3
- streamlit/proto/openmetrics_data_model_pb2.py +2 -3
- streamlit/runtime/runtime.py +0 -4
- streamlit/static/index.html +1 -1
- streamlit/static/manifest.json +295 -295
- streamlit/static/static/js/{ErrorOutline.esm.D71F8ziR.js → ErrorOutline.esm.DC6KVDKK.js} +1 -1
- streamlit/static/static/js/{FileDownload.esm.yTkppsJy.js → FileDownload.esm.Z9hRQIHi.js} +1 -1
- streamlit/static/static/js/{FileHelper.hUOqtbwa.js → FileHelper.DqvW90pm.js} +1 -1
- streamlit/static/static/js/{FormClearHelper.DN8D_YXO.js → FormClearHelper.DTFnX0js.js} +1 -1
- streamlit/static/static/js/{InputInstructions.DbssY6d4.js → InputInstructions.CdzsN_Va.js} +1 -1
- streamlit/static/static/js/{Particles.BznyVdfo.js → Particles.12xFSjcn.js} +1 -1
- streamlit/static/static/js/{ProgressBar.C5uBOtcx.js → ProgressBar.Dg-oMbWg.js} +1 -1
- streamlit/static/static/js/{StreamlitSyntaxHighlighter.Nf1895x-.js → StreamlitSyntaxHighlighter.rbzmcipw.js} +1 -1
- streamlit/static/static/js/{TableChart.esm.DHKzVs3a.js → TableChart.esm.CzJtGIR-.js} +1 -1
- streamlit/static/static/js/{Toolbar.CQsWYXer.js → Toolbar.COH7NaOE.js} +1 -1
- streamlit/static/static/js/{WidgetLabelHelpIconInline.6xCU76OE.js → WidgetLabelHelpIconInline.Dlc8f0Ji.js} +1 -1
- streamlit/static/static/js/{base-input.Cs-E6S71.js → base-input.Q-zJLgRK.js} +4 -4
- streamlit/static/static/js/{checkbox.OTGupu18.js → checkbox.BKgWNdeI.js} +1 -1
- streamlit/static/static/js/{createDownloadLinkElement.DnBEQQbK.js → createDownloadLinkElement.6oO-YlYv.js} +1 -1
- streamlit/static/static/js/{data-grid-overlay-editor.COiiMi5r.js → data-grid-overlay-editor.CO0xdNiG.js} +1 -1
- streamlit/static/static/js/{downloader.K0GUNeuj.js → downloader.BBXcXdX1.js} +1 -1
- streamlit/static/static/js/{embed.o8HvK3mH.js → embed.CJzOXYBF.js} +1 -1
- streamlit/static/static/js/{es6.BHy5pqTP.js → es6.CdxPQzwJ.js} +2 -2
- streamlit/static/static/js/{formatNumber.BK7h0k2z.js → formatNumber.DB5irY8c.js} +1 -1
- streamlit/static/static/js/{iconPosition.2YynQUxu.js → iconPosition.BVScIr6G.js} +1 -1
- streamlit/static/static/js/{iframeResizer.contentWindow.D5h3hQuU.js → iframeResizer.contentWindow.D_QHVqPM.js} +1 -1
- streamlit/static/static/js/{index.cfuZ69LI.js → index.6DFY6LUF.js} +1 -1
- streamlit/static/static/js/{index.Dh3PJIlq.js → index.B80gSxrS.js} +1 -1
- streamlit/static/static/js/{index.DxfYCrPp.js → index.BDtN2n7T.js} +1 -1
- streamlit/static/static/js/{index.DLUSo6de.js → index.BED2_zc7.js} +1 -1
- streamlit/static/static/js/{index.CxWzt6oi.js → index.BQnLeHnr.js} +1 -1
- streamlit/static/static/js/{index.Cb03y5I8.js → index.BSYebegS.js} +1 -1
- streamlit/static/static/js/{index.BtuskCwg.js → index.BSpYHDvk.js} +1 -1
- streamlit/static/static/js/{index.q0ceUXt6.js → index.BiCbrx53.js} +1 -1
- streamlit/static/static/js/{index.CgVv04GM.js → index.Biyf9aUg.js} +1 -1
- streamlit/static/static/js/{index.BPdmXoYW.js → index.BqbKiDp2.js} +1 -1
- streamlit/static/static/js/{index.COh5V_89.js → index.BqxwnMem.js} +1 -1
- streamlit/static/static/js/{index.DVRCyxMp.js → index.BtOoVQt7.js} +1 -1
- streamlit/static/static/js/{index.C7wst9Tm.js → index.BxMkW82k.js} +1 -1
- streamlit/static/static/js/{index.5zqfJ-in.js → index.BxQxTpWl.js} +1 -1
- streamlit/static/static/js/{index.BtRWcqZV.js → index.C5oqIM3a.js} +1 -1
- streamlit/static/static/js/{index.iUV9rb8C.js → index.CBE2cIbj.js} +1 -1
- streamlit/static/static/js/{index.DcngUOyD.js → index.CE2WIFD1.js} +1 -1
- streamlit/static/static/js/{index.aCorc3Yt.js → index.CPc_uZux.js} +48 -48
- streamlit/static/static/js/{index.Bqmx23jK.js → index.CUYi3FrD.js} +1 -1
- streamlit/static/static/js/index.Cpu2p5bH.js +1 -0
- streamlit/static/static/js/{index.Bfo1cXfC.js → index.CrY1BsL3.js} +1 -1
- streamlit/static/static/js/{index.Dc5-tFdw.js → index.CtbETWQK.js} +1 -1
- streamlit/static/static/js/{index.CUkhn-vu.js → index.CvtybR-u.js} +1 -1
- streamlit/static/static/js/{index.BZ-GJVxB.js → index.CxoREvnF.js} +1 -1
- streamlit/static/static/js/{index.C6wyTXhz.js → index.D6OexhdL.js} +1 -1
- streamlit/static/static/js/{index.HmRK3HyC.js → index.D9v2Y8Gk.js} +1 -1
- streamlit/static/static/js/{index.8MlRyIxN.js → index.DAfIQKfP.js} +1 -1
- streamlit/static/static/js/index.DAnczAW2.js +2 -0
- streamlit/static/static/js/{index.TjMWsKSH.js → index.DAyGxxdm.js} +1 -1
- streamlit/static/static/js/{index.6c-qDsD7.js → index.DCe7fo-m.js} +1 -1
- streamlit/static/static/js/{index.CX0KdFyR.js → index.DNfyKqhQ.js} +1 -1
- streamlit/static/static/js/{index.DJfMW0Gy.js → index.DRoJNzFX.js} +1 -1
- streamlit/static/static/js/{index.DBPWUJsj.js → index.DU68jVpM.js} +54 -54
- streamlit/static/static/js/{index.BfMPq234.js → index.DZmBuE3z.js} +2 -2
- streamlit/static/static/js/{index.CYhhEdja.js → index.DhRAGiPR.js} +1 -1
- streamlit/static/static/js/{index.DlgcEr0f.js → index.DrcbvB2t.js} +1 -1
- streamlit/static/static/js/{index.DxGXuhh6.js → index.Dud7RRHc.js} +1 -1
- streamlit/static/static/js/{index.C2EoeVjP.js → index.DyXcT2tD.js} +1 -1
- streamlit/static/static/js/{index.Bgf49D1Z.js → index.DyfvmNCy.js} +222 -222
- streamlit/static/static/js/{index.CZf7Go1Z.js → index.GieKl4BG.js} +1 -1
- streamlit/static/static/js/{index.C65jHNhe.js → index.YULCxEtm.js} +1 -1
- streamlit/static/static/js/{index.DL_yE83J.js → index._1zqETQ9.js} +2 -2
- streamlit/static/static/js/{index.CwtpGPHA.js → index.bQJYmJ2T.js} +1 -1
- streamlit/static/static/js/{index.hlAfdSqC.js → index.iXh5nbLZ.js} +1 -1
- streamlit/static/static/js/index.mSdC1FV6.js +1 -0
- streamlit/static/static/js/{index.BIqcOZ_u.js → index.nL1fkE1D.js} +1 -1
- streamlit/static/static/js/{index.VwDKazgt.js → index.tuFFlbxa.js} +1 -1
- streamlit/static/static/js/{index.BzTVI_BY.js → index.y-pa6LIX.js} +1 -1
- streamlit/static/static/js/{input.CXGIJ7D6.js → input.BcC6sPE_.js} +1 -1
- streamlit/static/static/js/{main.CCVkbuxC.js → main.TU5_aabd.js} +1 -1
- streamlit/static/static/js/{memory.CNbnYs2A.js → memory.By_OTlI4.js} +1 -1
- streamlit/static/static/js/{number-overlay-editor.CvI6wkld.js → number-overlay-editor.FSRaRpbU.js} +1 -1
- streamlit/static/static/js/{pandasStylerUtils.CFSReOTm.js → pandasStylerUtils.3IiIKU9-.js} +1 -1
- streamlit/static/static/js/{sandbox.Bld0L3us.js → sandbox.DnxTbWzV.js} +1 -1
- streamlit/static/static/js/{styled-components.BoUHK6TA.js → styled-components.BeEcZ0vW.js} +1 -1
- streamlit/static/static/js/{throttle.ByDFm7WV.js → throttle.emUyC44c.js} +1 -1
- streamlit/static/static/js/{timepicker.CN6CUZEL.js → timepicker.DZ_ZufYF.js} +1 -1
- streamlit/static/static/js/{toConsumableArray.DwMycSpg.js → toConsumableArray.DDV1bN1-.js} +1 -1
- streamlit/static/static/js/uniqueId.DTwvAE-J.js +1 -0
- streamlit/static/static/js/{useBasicWidgetState.Bg0ZMUt5.js → useBasicWidgetState.DvpdEDYZ.js} +1 -1
- streamlit/static/static/js/{useIntlLocale.DgBUDcPA.js → useIntlLocale.BBDLbTq9.js} +1 -1
- streamlit/static/static/js/{useTextInputAutoExpand.DDBezxks.js → useTextInputAutoExpand.BIApLJKn.js} +1 -1
- streamlit/static/static/js/{useUpdateUiValue.Df1h6fXC.js → useUpdateUiValue.DQ4RuJNC.js} +1 -1
- streamlit/static/static/js/{useWaveformController.DbWw5MEk.js → useWaveformController.B0olyXLQ.js} +1 -1
- streamlit/static/static/js/{withCalculatedWidth.YaK0HIIP.js → withCalculatedWidth.DYeqePuh.js} +1 -1
- streamlit/static/static/js/{withFullScreenWrapper.CcWCKoY8.js → withFullScreenWrapper.DtkUCO_d.js} +1 -1
- streamlit/testing/v1/element_tree.py +16 -2
- streamlit/web/server/server.py +0 -1
- streamlit/web/server/starlette/starlette_app.py +0 -1
- {streamlit_nightly-1.53.2.dev20260128.dist-info → streamlit_nightly-1.53.2.dev20260131.dist-info}/METADATA +10 -25
- {streamlit_nightly-1.53.2.dev20260128.dist-info → streamlit_nightly-1.53.2.dev20260131.dist-info}/RECORD +209 -218
- streamlit/proto/DataFrame_pb2.py +0 -56
- streamlit/proto/DataFrame_pb2.pyi +0 -430
- streamlit/proto/NamedDataSet_pb2.py +0 -28
- streamlit/proto/NamedDataSet_pb2.pyi +0 -67
- streamlit/proto/PagesChanged_pb2.py +0 -28
- streamlit/proto/PagesChanged_pb2.pyi +0 -55
- streamlit/proto/VegaLiteChart_pb2.py +0 -29
- streamlit/proto/VegaLiteChart_pb2.pyi +0 -79
- streamlit/static/static/js/index.CSPY26T2.js +0 -1
- streamlit/static/static/js/index.CdsyTabv.js +0 -1
- streamlit/static/static/js/index.CjRU8O1O.js +0 -2
- streamlit/static/static/js/uniqueId.DcCWa2cf.js +0 -1
- streamlit_nightly-1.53.2.dev20260128.data/scripts/streamlit.cmd +0 -16
- {streamlit_nightly-1.53.2.dev20260128.dist-info → streamlit_nightly-1.53.2.dev20260131.dist-info}/WHEEL +0 -0
- {streamlit_nightly-1.53.2.dev20260128.dist-info → streamlit_nightly-1.53.2.dev20260131.dist-info}/entry_points.txt +0 -0
- {streamlit_nightly-1.53.2.dev20260128.dist-info → streamlit_nightly-1.53.2.dev20260131.dist-info}/top_level.txt +0 -0
streamlit/config.py
CHANGED
|
@@ -2705,7 +2705,8 @@ def get_config_options(
|
|
|
2705
2705
|
|
|
2706
2706
|
# Values set in files later in the CONFIG_FILENAMES list overwrite those
|
|
2707
2707
|
# set earlier.
|
|
2708
|
-
|
|
2708
|
+
config_files = get_config_files("config.toml")
|
|
2709
|
+
for filename in config_files:
|
|
2709
2710
|
if not os.path.exists(filename):
|
|
2710
2711
|
continue
|
|
2711
2712
|
|
|
@@ -2723,7 +2724,7 @@ def get_config_options(
|
|
|
2723
2724
|
# This happens AFTER all config sources (files, env vars, flags) are processed
|
|
2724
2725
|
# so theme.base can be set via any of those
|
|
2725
2726
|
config_util.process_theme_inheritance(
|
|
2726
|
-
_config_options, _config_options_template, _set_option
|
|
2727
|
+
_config_options, _config_options_template, _set_option, config_files
|
|
2727
2728
|
)
|
|
2728
2729
|
|
|
2729
2730
|
if old_options and config_util.server_option_changed(
|
streamlit/config_util.py
CHANGED
|
@@ -19,10 +19,10 @@ import os
|
|
|
19
19
|
import re
|
|
20
20
|
import urllib.error
|
|
21
21
|
import urllib.request
|
|
22
|
-
from typing import TYPE_CHECKING, Any
|
|
22
|
+
from typing import TYPE_CHECKING, Any, TypedDict
|
|
23
23
|
|
|
24
24
|
if TYPE_CHECKING:
|
|
25
|
-
from collections.abc import Iterator
|
|
25
|
+
from collections.abc import Iterator, Sequence
|
|
26
26
|
|
|
27
27
|
from streamlit import cli_util, url_util
|
|
28
28
|
from streamlit.config_option import ConfigOption
|
|
@@ -36,6 +36,31 @@ from streamlit.errors import (
|
|
|
36
36
|
# Maximum size for theme files (1MB). Theme files should be small configuration
|
|
37
37
|
# files containing only theme options, not large data files.
|
|
38
38
|
_MAX_THEME_FILE_SIZE_BYTES = 1024 * 1024 # 1MB
|
|
39
|
+
_CONFIG_FILE_SCOPES = ("global", "project", "script")
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class _ThemeOverride(TypedDict):
|
|
43
|
+
value: Any
|
|
44
|
+
where_defined: str
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def _format_config_file_label(
|
|
48
|
+
where_defined: str | None, config_file_paths: Sequence[str] | None
|
|
49
|
+
) -> str | None:
|
|
50
|
+
"""Return a scope-labeled config.toml path if where_defined matches a config file."""
|
|
51
|
+
if not where_defined or not config_file_paths:
|
|
52
|
+
return None
|
|
53
|
+
|
|
54
|
+
for index, path in enumerate(config_file_paths):
|
|
55
|
+
if where_defined == path:
|
|
56
|
+
scope = (
|
|
57
|
+
_CONFIG_FILE_SCOPES[index] if index < len(_CONFIG_FILE_SCOPES) else None
|
|
58
|
+
)
|
|
59
|
+
if scope:
|
|
60
|
+
return f"config.toml ({scope}): {path}"
|
|
61
|
+
return f"config.toml: {path}"
|
|
62
|
+
|
|
63
|
+
return None
|
|
39
64
|
|
|
40
65
|
|
|
41
66
|
def _get_logger() -> Any:
|
|
@@ -720,6 +745,7 @@ def process_theme_inheritance(
|
|
|
720
745
|
config_options: dict[str, ConfigOption] | None,
|
|
721
746
|
config_options_template: dict[str, ConfigOption],
|
|
722
747
|
set_option_func: Any,
|
|
748
|
+
config_file_paths: Sequence[str] | None = None,
|
|
723
749
|
) -> None:
|
|
724
750
|
"""
|
|
725
751
|
Process theme inheritance if theme.base points to a theme file.
|
|
@@ -729,6 +755,18 @@ def process_theme_inheritance(
|
|
|
729
755
|
current config.toml values override the theme.base file values.
|
|
730
756
|
|
|
731
757
|
Sets the merged theme options to the config.
|
|
758
|
+
|
|
759
|
+
Parameters
|
|
760
|
+
----------
|
|
761
|
+
config_options : dict[str, ConfigOption] | None
|
|
762
|
+
Current configuration options.
|
|
763
|
+
config_options_template : dict[str, ConfigOption]
|
|
764
|
+
Template of all valid config options.
|
|
765
|
+
set_option_func : Any
|
|
766
|
+
Function to set config option values.
|
|
767
|
+
config_file_paths : Sequence[str] | None, optional
|
|
768
|
+
Ordered list of config.toml file paths (global, project, script).
|
|
769
|
+
Used to label where_defined with scope for clearer provenance.
|
|
732
770
|
"""
|
|
733
771
|
# Get the current theme.base value
|
|
734
772
|
if config_options is None:
|
|
@@ -770,7 +808,8 @@ def process_theme_inheritance(
|
|
|
770
808
|
)
|
|
771
809
|
|
|
772
810
|
# Preserve theme options set by env vars and command line flags (higher precedence)
|
|
773
|
-
high_precedence_theme_options = {}
|
|
811
|
+
high_precedence_theme_options: dict[str, _ThemeOverride] = {}
|
|
812
|
+
config_theme_overrides: dict[str, _ThemeOverride] = {}
|
|
774
813
|
if config_options is not None:
|
|
775
814
|
for opt_name, opt_config in config_options.items():
|
|
776
815
|
if (
|
|
@@ -786,6 +825,18 @@ def process_theme_inheritance(
|
|
|
786
825
|
"value": opt_config.value,
|
|
787
826
|
"where_defined": opt_config.where_defined,
|
|
788
827
|
}
|
|
828
|
+
config_label = _format_config_file_label(
|
|
829
|
+
opt_config.where_defined, config_file_paths
|
|
830
|
+
)
|
|
831
|
+
if (
|
|
832
|
+
opt_name.startswith("theme.")
|
|
833
|
+
and opt_name != "theme.base"
|
|
834
|
+
and config_label is not None
|
|
835
|
+
):
|
|
836
|
+
config_theme_overrides[opt_name] = {
|
|
837
|
+
"value": opt_config.value,
|
|
838
|
+
"where_defined": config_label,
|
|
839
|
+
}
|
|
789
840
|
|
|
790
841
|
# Clear existing theme options (except base) to prepare for inheritance
|
|
791
842
|
theme_options_to_remove = [
|
|
@@ -799,19 +850,23 @@ def process_theme_inheritance(
|
|
|
799
850
|
# Handle theme.base - always set it to a valid value ("light" or "dark", not a path/URL)
|
|
800
851
|
theme_file_base = theme_file_content.get("theme", {}).get("base")
|
|
801
852
|
if theme_file_base:
|
|
802
|
-
set_option_func("theme.base", theme_file_base, f"theme file: {base_value}")
|
|
803
|
-
else:
|
|
804
|
-
# Theme file doesn't specify a base, default to "light"
|
|
805
853
|
set_option_func(
|
|
806
|
-
"theme.base",
|
|
854
|
+
"theme.base", theme_file_base, f"base theme file: {base_value}"
|
|
807
855
|
)
|
|
856
|
+
else:
|
|
857
|
+
# Theme file doesn't specify a base, default to "light"
|
|
858
|
+
set_option_func("theme.base", "light", "default light theme")
|
|
808
859
|
|
|
809
860
|
# Set the merged theme options using recursive helper
|
|
810
861
|
theme_section = merged_theme.get("theme", {})
|
|
811
862
|
_set_theme_options_recursive(
|
|
812
|
-
theme_section, "theme", set_option_func, f"theme file: {base_value}"
|
|
863
|
+
theme_section, "theme", set_option_func, f"base theme file: {base_value}"
|
|
813
864
|
)
|
|
814
865
|
|
|
866
|
+
# Restore theme options set in config.toml (override base theme file)
|
|
867
|
+
for opt_name, opt_data in config_theme_overrides.items():
|
|
868
|
+
set_option_func(opt_name, opt_data["value"], opt_data["where_defined"])
|
|
869
|
+
|
|
815
870
|
# Finally, restore theme options set by env vars and command line flags (highest precedence)
|
|
816
871
|
for opt_name, opt_data in high_precedence_theme_options.items():
|
|
817
872
|
set_option_func(opt_name, opt_data["value"], opt_data["where_defined"])
|
|
@@ -556,7 +556,11 @@ class PydeckMixin:
|
|
|
556
556
|
pydeck_proto.id = compute_and_register_element_id(
|
|
557
557
|
"deck_gl_json_chart",
|
|
558
558
|
user_key=key,
|
|
559
|
-
|
|
559
|
+
# When a key is provided, only selection_mode affects the element ID.
|
|
560
|
+
# This allows selection state to persist across data/spec changes.
|
|
561
|
+
# Note: This can lead to orphaned selections if data length shrinks,
|
|
562
|
+
# but the frontend handles this by sanitizing invalid indices.
|
|
563
|
+
key_as_main_identity={"selection_mode"},
|
|
560
564
|
dg=self.dg,
|
|
561
565
|
is_selection_activated=is_selection_activated,
|
|
562
566
|
selection_mode=selection_mode,
|
|
@@ -24,6 +24,7 @@ from typing import TYPE_CHECKING, Any, Final, Literal, TypeAlias, TypedDict, cas
|
|
|
24
24
|
from streamlit import dataframe_util, type_util
|
|
25
25
|
from streamlit.elements.lib.color_util import (
|
|
26
26
|
Color,
|
|
27
|
+
is_builtin_color_name,
|
|
27
28
|
is_color_like,
|
|
28
29
|
is_color_tuple_like,
|
|
29
30
|
is_hex_color_like,
|
|
@@ -1080,6 +1081,14 @@ def _get_color_encoding(
|
|
|
1080
1081
|
|
|
1081
1082
|
return alt.ColorValue(to_css_color(cast("Any", color_value)))
|
|
1082
1083
|
|
|
1084
|
+
# Check for built-in color names (resolved on frontend, not converted here)
|
|
1085
|
+
if isinstance(color_value, str) and is_builtin_color_name(color_value):
|
|
1086
|
+
if len(y_column_list) != 1:
|
|
1087
|
+
raise StreamlitColorLengthError(
|
|
1088
|
+
[color_value] if color_value else [], y_column_list
|
|
1089
|
+
)
|
|
1090
|
+
return alt.ColorValue(color_value)
|
|
1091
|
+
|
|
1083
1092
|
# If the color value is a list of colors of appropriate length, return that.
|
|
1084
1093
|
if isinstance(color_value, (list, tuple)):
|
|
1085
1094
|
color_values = cast("Collection[Color]", color_value)
|
|
@@ -1088,12 +1097,23 @@ def _get_color_encoding(
|
|
|
1088
1097
|
raise StreamlitColorLengthError(color_values, y_column_list)
|
|
1089
1098
|
|
|
1090
1099
|
if len(color_values) == 1:
|
|
1091
|
-
|
|
1100
|
+
first_color = cast("Any", color_value[0])
|
|
1101
|
+
# Pass through built-in color names as-is (resolved on frontend)
|
|
1102
|
+
if isinstance(first_color, str) and is_builtin_color_name(first_color):
|
|
1103
|
+
return alt.ColorValue(first_color)
|
|
1104
|
+
return alt.ColorValue(to_css_color(first_color))
|
|
1105
|
+
|
|
1106
|
+
# Convert colors, but pass through built-in color names as-is
|
|
1107
|
+
resolved_colors: list[Color] = []
|
|
1108
|
+
for c in color_values:
|
|
1109
|
+
if isinstance(c, str) and is_builtin_color_name(c):
|
|
1110
|
+
resolved_colors.append(c)
|
|
1111
|
+
else:
|
|
1112
|
+
resolved_colors.append(to_css_color(c))
|
|
1113
|
+
|
|
1092
1114
|
return alt.Color(
|
|
1093
1115
|
field=color_column if color_column is not None else alt.Undefined,
|
|
1094
|
-
scale=alt.Scale(
|
|
1095
|
-
domain=y_column_list, range=[to_css_color(c) for c in color_values]
|
|
1096
|
-
),
|
|
1116
|
+
scale=alt.Scale(domain=y_column_list, range=resolved_colors),
|
|
1097
1117
|
legend=_COLOR_LEGEND_SETTINGS,
|
|
1098
1118
|
type="nominal",
|
|
1099
1119
|
title=" ",
|
|
@@ -15,10 +15,16 @@
|
|
|
15
15
|
from __future__ import annotations
|
|
16
16
|
|
|
17
17
|
from collections.abc import Callable, Collection
|
|
18
|
-
from typing import Any, TypeAlias, cast
|
|
18
|
+
from typing import Any, Final, TypeAlias, cast
|
|
19
19
|
|
|
20
20
|
from streamlit.errors import StreamlitInvalidColorError
|
|
21
21
|
|
|
22
|
+
# Built-in color names that map to Streamlit theme colors.
|
|
23
|
+
# These are resolved to actual color values on the frontend.
|
|
24
|
+
BUILTIN_COLOR_NAMES: Final[frozenset[str]] = frozenset(
|
|
25
|
+
{"red", "orange", "yellow", "green", "blue", "violet", "gray", "grey", "primary"}
|
|
26
|
+
)
|
|
27
|
+
|
|
22
28
|
# components go from 0.0 to 1.0
|
|
23
29
|
# Supported by Pillow and pretty common.
|
|
24
30
|
FloatRGBColorTuple: TypeAlias = tuple[float, float, float]
|
|
@@ -131,11 +137,24 @@ def is_color_tuple_like(color: MaybeColor) -> bool:
|
|
|
131
137
|
)
|
|
132
138
|
|
|
133
139
|
|
|
140
|
+
def is_builtin_color_name(color: MaybeColor) -> bool:
|
|
141
|
+
"""Check whether the input is a built-in Streamlit color name.
|
|
142
|
+
|
|
143
|
+
Built-in color names (red, orange, yellow, green, blue, violet, gray/grey, primary)
|
|
144
|
+
are resolved to theme colors on the frontend.
|
|
145
|
+
"""
|
|
146
|
+
return isinstance(color, str) and color.lower() in BUILTIN_COLOR_NAMES
|
|
147
|
+
|
|
148
|
+
|
|
134
149
|
def is_color_like(color: MaybeColor) -> bool:
|
|
135
150
|
"""A fairly lightweight check of whether the input is a color.
|
|
136
151
|
|
|
137
152
|
This isn't meant to be a definitive answer. The definitive solution is to
|
|
138
153
|
try to convert and see if an error is thrown.
|
|
154
|
+
|
|
155
|
+
NOTE: This does NOT include built-in color names (red, blue, etc.) because
|
|
156
|
+
those require special handling and cannot be converted via to_css_color().
|
|
157
|
+
Use is_builtin_color_name() separately when validating color parameter arguments.
|
|
139
158
|
"""
|
|
140
159
|
return is_css_color_like(color) or is_color_tuple_like(color)
|
|
141
160
|
|
|
@@ -725,6 +725,10 @@ class VegaChartsMixin:
|
|
|
725
725
|
- An RGB or RGBA tuple with the red, green, blue, and alpha
|
|
726
726
|
components specified as ints from 0 to 255 or floats from 0.0 to
|
|
727
727
|
1.0.
|
|
728
|
+
- A built-in color name: "red", "orange", "yellow", "green",
|
|
729
|
+
"blue", "violet", "gray"/"grey", or "primary". These map to
|
|
730
|
+
theme colors that you can customize using ``theme.<color>Color``
|
|
731
|
+
configuration options.
|
|
728
732
|
|
|
729
733
|
For a line chart with multiple lines, where the dataframe is in
|
|
730
734
|
long format (that is, y is None or just one column), this can be:
|
|
@@ -753,7 +757,8 @@ class VegaChartsMixin:
|
|
|
753
757
|
- A list of string colors or color tuples to be used for each of
|
|
754
758
|
the lines in the chart. This list should have the same length
|
|
755
759
|
as the number of y values (e.g. ``color=["#fd0", "#f0f", "#04f"]``
|
|
756
|
-
for three lines).
|
|
760
|
+
for three lines). You can also use built-in color names in the
|
|
761
|
+
list (e.g. ``color=["red", "blue", "green"]``).
|
|
757
762
|
|
|
758
763
|
You can set the default colors in the ``theme.chartCategoryColors``
|
|
759
764
|
configuration option.
|
|
@@ -959,6 +964,10 @@ class VegaChartsMixin:
|
|
|
959
964
|
- An RGB or RGBA tuple with the red, green, blue, and alpha
|
|
960
965
|
components specified as ints from 0 to 255 or floats from 0.0 to
|
|
961
966
|
1.0.
|
|
967
|
+
- A built-in color name: "red", "orange", "yellow", "green",
|
|
968
|
+
"blue", "violet", "gray"/"grey", or "primary". These map to
|
|
969
|
+
theme colors that you can customize using ``theme.<color>Color``
|
|
970
|
+
configuration options.
|
|
962
971
|
|
|
963
972
|
For an area chart with multiple series, where the dataframe is in
|
|
964
973
|
long format (that is, y is None or just one column), this can be:
|
|
@@ -987,7 +996,8 @@ class VegaChartsMixin:
|
|
|
987
996
|
- A list of string colors or color tuples to be used for each of
|
|
988
997
|
the series in the chart. This list should have the same length
|
|
989
998
|
as the number of y values (e.g. ``color=["#fd0", "#f0f", "#04f"]``
|
|
990
|
-
for three lines).
|
|
999
|
+
for three lines). You can also use built-in color names in the
|
|
1000
|
+
list (e.g. ``color=["red", "blue", "green"]``).
|
|
991
1001
|
|
|
992
1002
|
You can set the default colors in the ``theme.chartCategoryColors``
|
|
993
1003
|
configuration option.
|
|
@@ -1248,6 +1258,10 @@ class VegaChartsMixin:
|
|
|
1248
1258
|
- An RGB or RGBA tuple with the red, green, blue, and alpha
|
|
1249
1259
|
components specified as ints from 0 to 255 or floats from 0.0 to
|
|
1250
1260
|
1.0.
|
|
1261
|
+
- A built-in color name: "red", "orange", "yellow", "green",
|
|
1262
|
+
"blue", "violet", "gray"/"grey", or "primary". These map to
|
|
1263
|
+
theme colors that you can customize using ``theme.<color>Color``
|
|
1264
|
+
configuration options.
|
|
1251
1265
|
|
|
1252
1266
|
For a bar chart with multiple series, where the dataframe is in
|
|
1253
1267
|
long format (that is, y is None or just one column), this can be:
|
|
@@ -1276,7 +1290,8 @@ class VegaChartsMixin:
|
|
|
1276
1290
|
- A list of string colors or color tuples to be used for each of
|
|
1277
1291
|
the series in the chart. This list should have the same length
|
|
1278
1292
|
as the number of y values (e.g. ``color=["#fd0", "#f0f", "#04f"]``
|
|
1279
|
-
for three lines).
|
|
1293
|
+
for three lines). You can also use built-in color names in the
|
|
1294
|
+
list (e.g. ``color=["red", "blue", "green"]``).
|
|
1280
1295
|
|
|
1281
1296
|
You can set the default colors in the ``theme.chartCategoryColors``
|
|
1282
1297
|
configuration option.
|
|
@@ -1575,6 +1590,10 @@ class VegaChartsMixin:
|
|
|
1575
1590
|
- An RGB or RGBA tuple with the red, green, blue, and alpha
|
|
1576
1591
|
components specified as ints from 0 to 255 or floats from 0.0 to
|
|
1577
1592
|
1.0.
|
|
1593
|
+
- A built-in color name: "red", "orange", "yellow", "green",
|
|
1594
|
+
"blue", "violet", "gray"/"grey", or "primary". These map to
|
|
1595
|
+
theme colors that you can customize using ``theme.<color>Color``
|
|
1596
|
+
configuration options.
|
|
1578
1597
|
- The name of a column in the dataset where the color of that
|
|
1579
1598
|
datapoint will come from.
|
|
1580
1599
|
|
|
@@ -1602,7 +1621,8 @@ class VegaChartsMixin:
|
|
|
1602
1621
|
- A list of string colors or color tuples to be used for each of
|
|
1603
1622
|
the series in the chart. This list should have the same length
|
|
1604
1623
|
as the number of y values (e.g. ``color=["#fd0", "#f0f", "#04f"]``
|
|
1605
|
-
for three series).
|
|
1624
|
+
for three series). You can also use built-in color names in the
|
|
1625
|
+
list (e.g. ``color=["red", "blue", "green"]``).
|
|
1606
1626
|
|
|
1607
1627
|
size : str, float, int, or None
|
|
1608
1628
|
The size of the circles representing each point.
|
streamlit/proto/Alert_pb2.py
CHANGED
|
@@ -15,14 +15,13 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
from streamlit.proto import WidthConfig_pb2 as streamlit_dot_proto_dot_WidthConfig__pb2
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Alert.proto\x1a!streamlit/proto/WidthConfig.proto\"\xb5\x01\n\x05\x41lert\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\x1d\n\x06\x66ormat\x18\x02 \x01(\x0e\x32\r.Alert.Format\x12\x0c\n\x04icon\x18\x03 \x01(\t\x12,\n\x0cwidth_config\x18\x04 \x01(\x0b\x32\x16.streamlit.WidthConfig\"C\n\x06\x46ormat\x12\n\n\x06UNUSED\x10\x00\x12\t\n\x05\x45RROR\x10\x01\x12\x0b\n\x07WARNING\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07SUCCESS\x10\x04\
|
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Alert.proto\x1a!streamlit/proto/WidthConfig.proto\"\xb5\x01\n\x05\x41lert\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\x1d\n\x06\x66ormat\x18\x02 \x01(\x0e\x32\r.Alert.Format\x12\x0c\n\x04icon\x18\x03 \x01(\t\x12,\n\x0cwidth_config\x18\x04 \x01(\x0b\x32\x16.streamlit.WidthConfig\"C\n\x06\x46ormat\x12\n\n\x06UNUSED\x10\x00\x12\t\n\x05\x45RROR\x10\x01\x12\x0b\n\x07WARNING\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07SUCCESS\x10\x04\x62\x06proto3')
|
|
19
19
|
|
|
20
20
|
_globals = globals()
|
|
21
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
22
22
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Alert_pb2', _globals)
|
|
23
23
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
24
|
-
|
|
25
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\nAlertProto'
|
|
24
|
+
DESCRIPTOR._loaded_options = None
|
|
26
25
|
_globals['_ALERT']._serialized_start=67
|
|
27
26
|
_globals['_ALERT']._serialized_end=248
|
|
28
27
|
_globals['_ALERT_FORMAT']._serialized_start=181
|
streamlit/proto/AppPage_pb2.py
CHANGED
|
@@ -14,14 +14,13 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dstreamlit/proto/AppPage.proto\"\x86\x01\n\x07\x41ppPage\x12\x18\n\x10page_script_hash\x18\x01 \x01(\t\x12\x11\n\tpage_name\x18\x02 \x01(\t\x12\x0c\n\x04icon\x18\x03 \x01(\t\x12\x12\n\nis_default\x18\x04 \x01(\x08\x12\x16\n\x0esection_header\x18\x05 \x01(\t\x12\x14\n\x0curl_pathname\x18\x06 \x01(\
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dstreamlit/proto/AppPage.proto\"\x86\x01\n\x07\x41ppPage\x12\x18\n\x10page_script_hash\x18\x01 \x01(\t\x12\x11\n\tpage_name\x18\x02 \x01(\t\x12\x0c\n\x04icon\x18\x03 \x01(\t\x12\x12\n\nis_default\x18\x04 \x01(\x08\x12\x16\n\x0esection_header\x18\x05 \x01(\t\x12\x14\n\x0curl_pathname\x18\x06 \x01(\tb\x06proto3')
|
|
18
18
|
|
|
19
19
|
_globals = globals()
|
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
21
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.AppPage_pb2', _globals)
|
|
22
22
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
23
|
-
|
|
24
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\014AppPageProto'
|
|
23
|
+
DESCRIPTOR._loaded_options = None
|
|
25
24
|
_globals['_APPPAGE']._serialized_start=34
|
|
26
25
|
_globals['_APPPAGE']._serialized_end=168
|
|
27
26
|
# @@protoc_insertion_point(module_scope)
|
streamlit/proto/ArrowData_pb2.py
CHANGED
|
@@ -14,14 +14,13 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fstreamlit/proto/ArrowData.proto\"\x19\n\tArrowData\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fstreamlit/proto/ArrowData.proto\"\x19\n\tArrowData\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x62\x06proto3')
|
|
18
18
|
|
|
19
19
|
_globals = globals()
|
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
21
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.ArrowData_pb2', _globals)
|
|
22
22
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
23
|
-
|
|
24
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\016ArrowDataProto'
|
|
23
|
+
DESCRIPTOR._loaded_options = None
|
|
25
24
|
_globals['_ARROWDATA']._serialized_start=35
|
|
26
25
|
_globals['_ARROWDATA']._serialized_end=60
|
|
27
26
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -15,14 +15,13 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
from streamlit.proto import Arrow_pb2 as streamlit_dot_proto_dot_Arrow__pb2
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'streamlit/proto/ArrowNamedDataSet.proto\x1a\x1bstreamlit/proto/Arrow.proto\"I\n\x11\x41rrowNamedDataSet\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08has_name\x18\x03 \x01(\x08\x12\x14\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x06.
|
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'streamlit/proto/ArrowNamedDataSet.proto\x1a\x1bstreamlit/proto/Arrow.proto\"I\n\x11\x41rrowNamedDataSet\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08has_name\x18\x03 \x01(\x08\x12\x14\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x06.Arrowb\x06proto3')
|
|
19
19
|
|
|
20
20
|
_globals = globals()
|
|
21
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
22
22
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.ArrowNamedDataSet_pb2', _globals)
|
|
23
23
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
24
|
-
|
|
25
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\026ArrowNamedDataSetProto'
|
|
24
|
+
DESCRIPTOR._loaded_options = None
|
|
26
25
|
_globals['_ARROWNAMEDDATASET']._serialized_start=72
|
|
27
26
|
_globals['_ARROWNAMEDDATASET']._serialized_end=145
|
|
28
27
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -16,14 +16,13 @@ from streamlit.proto import Arrow_pb2 as streamlit_dot_proto_dot_Arrow__pb2
|
|
|
16
16
|
from streamlit.proto import ArrowNamedDataSet_pb2 as streamlit_dot_proto_dot_ArrowNamedDataSet__pb2
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(streamlit/proto/ArrowVegaLiteChart.proto\x1a\x1bstreamlit/proto/Arrow.proto\x1a\'streamlit/proto/ArrowNamedDataSet.proto\"\xc5\x01\n\x12\x41rrowVegaLiteChart\x12\x0c\n\x04spec\x18\x01 \x01(\t\x12\x14\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x06.Arrow\x12$\n\x08\x64\x61tasets\x18\x04 \x03(\x0b\x32\x12.ArrowNamedDataSet\x12\x1b\n\x13use_container_width\x18\x05 \x01(\x08\x12\r\n\x05theme\x18\x06 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\t\x12\x16\n\x0eselection_mode\x18\x08 \x03(\t\x12\x0f\n\x07\x66orm_id\x18\t \x01(\tJ\x04\x08\x03\x10\x04\
|
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(streamlit/proto/ArrowVegaLiteChart.proto\x1a\x1bstreamlit/proto/Arrow.proto\x1a\'streamlit/proto/ArrowNamedDataSet.proto\"\xc5\x01\n\x12\x41rrowVegaLiteChart\x12\x0c\n\x04spec\x18\x01 \x01(\t\x12\x14\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x06.Arrow\x12$\n\x08\x64\x61tasets\x18\x04 \x03(\x0b\x32\x12.ArrowNamedDataSet\x12\x1b\n\x13use_container_width\x18\x05 \x01(\x08\x12\r\n\x05theme\x18\x06 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\t\x12\x16\n\x0eselection_mode\x18\x08 \x03(\t\x12\x0f\n\x07\x66orm_id\x18\t \x01(\tJ\x04\x08\x03\x10\x04\x62\x06proto3')
|
|
20
20
|
|
|
21
21
|
_globals = globals()
|
|
22
22
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
23
23
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.ArrowVegaLiteChart_pb2', _globals)
|
|
24
24
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
25
|
-
|
|
26
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\027ArrowVegaLiteChartProto'
|
|
25
|
+
DESCRIPTOR._loaded_options = None
|
|
27
26
|
_globals['_ARROWVEGALITECHART']._serialized_start=115
|
|
28
27
|
_globals['_ARROWVEGALITECHART']._serialized_end=312
|
|
29
28
|
# @@protoc_insertion_point(module_scope)
|
streamlit/proto/Arrow_pb2.py
CHANGED
|
@@ -14,28 +14,21 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Arrow.proto\"\
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Arrow.proto\"\x88\x05\n\x05\x41rrow\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\x06styler\x18\x02 \x01(\x0b\x32\x07.Styler\x12\n\n\x02id\x18\x06 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x07 \x01(\t\x12(\n\x0c\x65\x64iting_mode\x18\x08 \x01(\x0e\x32\x12.Arrow.EditingMode\x12\x10\n\x08\x64isabled\x18\t \x01(\x08\x12\x0f\n\x07\x66orm_id\x18\n \x01(\t\x12\x14\n\x0c\x63olumn_order\x18\x0b \x03(\t\x12,\n\x0eselection_mode\x18\x0c \x03(\x0e\x32\x14.Arrow.SelectionMode\x12\x17\n\nrow_height\x18\r \x01(\rH\x00\x88\x01\x01\x12&\n\x0b\x62order_mode\x18\x0e \x01(\x0e\x32\x11.Arrow.BorderMode\x12\x18\n\x0bplaceholder\x18\x0f \x01(\tH\x01\x88\x01\x01\"S\n\x0b\x45\x64itingMode\x12\r\n\tREAD_ONLY\x10\x00\x12\t\n\x05\x46IXED\x10\x01\x12\x0b\n\x07\x44YNAMIC\x10\x02\x12\x0c\n\x08\x41\x44\x44_ONLY\x10\x03\x12\x0f\n\x0b\x44\x45LETE_ONLY\x10\x04\"t\n\rSelectionMode\x12\x0e\n\nSINGLE_ROW\x10\x00\x12\r\n\tMULTI_ROW\x10\x01\x12\x11\n\rSINGLE_COLUMN\x10\x02\x12\x10\n\x0cMULTI_COLUMN\x10\x03\x12\x0f\n\x0bSINGLE_CELL\x10\x04\x12\x0e\n\nMULTI_CELL\x10\x05\"/\n\nBorderMode\x12\x07\n\x03\x41LL\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x0e\n\nHORIZONTAL\x10\x02\x42\r\n\x0b_row_heightB\x0e\n\x0c_placeholderJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06R\x05widthR\x06heightR\x13use_container_width\"O\n\x06Styler\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61ption\x18\x02 \x01(\t\x12\x0e\n\x06styles\x18\x03 \x01(\t\x12\x16\n\x0e\x64isplay_values\x18\x04 \x01(\x0c\x62\x06proto3')
|
|
18
18
|
|
|
19
19
|
_globals = globals()
|
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
21
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Arrow_pb2', _globals)
|
|
22
22
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
23
|
-
|
|
24
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\nArrowProto'
|
|
25
|
-
_globals['_ARROW'].fields_by_name['width']._loaded_options = None
|
|
26
|
-
_globals['_ARROW'].fields_by_name['width']._serialized_options = b'\030\001'
|
|
27
|
-
_globals['_ARROW'].fields_by_name['height']._loaded_options = None
|
|
28
|
-
_globals['_ARROW'].fields_by_name['height']._serialized_options = b'\030\001'
|
|
29
|
-
_globals['_ARROW'].fields_by_name['use_container_width']._loaded_options = None
|
|
30
|
-
_globals['_ARROW'].fields_by_name['use_container_width']._serialized_options = b'\030\001'
|
|
23
|
+
DESCRIPTOR._loaded_options = None
|
|
31
24
|
_globals['_ARROW']._serialized_start=32
|
|
32
|
-
_globals['_ARROW']._serialized_end=
|
|
33
|
-
_globals['_ARROW_EDITINGMODE']._serialized_start=
|
|
34
|
-
_globals['_ARROW_EDITINGMODE']._serialized_end=
|
|
35
|
-
_globals['_ARROW_SELECTIONMODE']._serialized_start=
|
|
36
|
-
_globals['_ARROW_SELECTIONMODE']._serialized_end=
|
|
37
|
-
_globals['_ARROW_BORDERMODE']._serialized_start=
|
|
38
|
-
_globals['_ARROW_BORDERMODE']._serialized_end=
|
|
39
|
-
_globals['_STYLER']._serialized_start=
|
|
40
|
-
_globals['_STYLER']._serialized_end=
|
|
25
|
+
_globals['_ARROW']._serialized_end=680
|
|
26
|
+
_globals['_ARROW_EDITINGMODE']._serialized_start=345
|
|
27
|
+
_globals['_ARROW_EDITINGMODE']._serialized_end=428
|
|
28
|
+
_globals['_ARROW_SELECTIONMODE']._serialized_start=430
|
|
29
|
+
_globals['_ARROW_SELECTIONMODE']._serialized_end=546
|
|
30
|
+
_globals['_ARROW_BORDERMODE']._serialized_start=548
|
|
31
|
+
_globals['_ARROW_BORDERMODE']._serialized_end=595
|
|
32
|
+
_globals['_STYLER']._serialized_start=682
|
|
33
|
+
_globals['_STYLER']._serialized_end=761
|
|
41
34
|
# @@protoc_insertion_point(module_scope)
|
streamlit/proto/Arrow_pb2.pyi
CHANGED
|
@@ -31,11 +31,6 @@ if sys.version_info >= (3, 10):
|
|
|
31
31
|
else:
|
|
32
32
|
from typing_extensions import TypeAlias as _TypeAlias
|
|
33
33
|
|
|
34
|
-
if sys.version_info >= (3, 13):
|
|
35
|
-
from warnings import deprecated as _deprecated
|
|
36
|
-
else:
|
|
37
|
-
from typing_extensions import deprecated as _deprecated
|
|
38
|
-
|
|
39
34
|
DESCRIPTOR: _descriptor.FileDescriptor
|
|
40
35
|
|
|
41
36
|
@_typing.final
|
|
@@ -133,9 +128,6 @@ class Arrow(_message.Message):
|
|
|
133
128
|
|
|
134
129
|
DATA_FIELD_NUMBER: _builtins.int
|
|
135
130
|
STYLER_FIELD_NUMBER: _builtins.int
|
|
136
|
-
WIDTH_FIELD_NUMBER: _builtins.int
|
|
137
|
-
HEIGHT_FIELD_NUMBER: _builtins.int
|
|
138
|
-
USE_CONTAINER_WIDTH_FIELD_NUMBER: _builtins.int
|
|
139
131
|
ID_FIELD_NUMBER: _builtins.int
|
|
140
132
|
COLUMNS_FIELD_NUMBER: _builtins.int
|
|
141
133
|
EDITING_MODE_FIELD_NUMBER: _builtins.int
|
|
@@ -148,36 +140,6 @@ class Arrow(_message.Message):
|
|
|
148
140
|
PLACEHOLDER_FIELD_NUMBER: _builtins.int
|
|
149
141
|
data: _builtins.bytes
|
|
150
142
|
"""The serialized arrow dataframe"""
|
|
151
|
-
@_builtins.property
|
|
152
|
-
@_deprecated("""This field has been marked as deprecated using proto field options.""")
|
|
153
|
-
def width(self) -> _builtins.int:
|
|
154
|
-
"""DEPRECATED: Width in pixels. Use Element.width_config instead."""
|
|
155
|
-
|
|
156
|
-
@width.setter
|
|
157
|
-
@_deprecated("""This field has been marked as deprecated using proto field options.""")
|
|
158
|
-
def width(self, value: _builtins.int) -> None:
|
|
159
|
-
"""DEPRECATED: Width in pixels. Use Element.width_config instead."""
|
|
160
|
-
|
|
161
|
-
@_builtins.property
|
|
162
|
-
@_deprecated("""This field has been marked as deprecated using proto field options.""")
|
|
163
|
-
def height(self) -> _builtins.int:
|
|
164
|
-
"""DEPRECATED: Height in pixels. Use Element.height_config instead."""
|
|
165
|
-
|
|
166
|
-
@height.setter
|
|
167
|
-
@_deprecated("""This field has been marked as deprecated using proto field options.""")
|
|
168
|
-
def height(self, value: _builtins.int) -> None:
|
|
169
|
-
"""DEPRECATED: Height in pixels. Use Element.height_config instead."""
|
|
170
|
-
|
|
171
|
-
@_builtins.property
|
|
172
|
-
@_deprecated("""This field has been marked as deprecated using proto field options.""")
|
|
173
|
-
def use_container_width(self) -> _builtins.bool:
|
|
174
|
-
"""DEPRECATED: Use Element.width_config.use_stretch instead."""
|
|
175
|
-
|
|
176
|
-
@use_container_width.setter
|
|
177
|
-
@_deprecated("""This field has been marked as deprecated using proto field options.""")
|
|
178
|
-
def use_container_width(self, value: _builtins.bool) -> None:
|
|
179
|
-
"""DEPRECATED: Use Element.width_config.use_stretch instead."""
|
|
180
|
-
|
|
181
143
|
id: _builtins.str
|
|
182
144
|
"""The id of the widget, this is required if the dataframe is editable"""
|
|
183
145
|
columns: _builtins.str
|
|
@@ -213,9 +175,6 @@ class Arrow(_message.Message):
|
|
|
213
175
|
*,
|
|
214
176
|
data: _builtins.bytes = ...,
|
|
215
177
|
styler: Global___Styler | None = ...,
|
|
216
|
-
width: _builtins.int = ...,
|
|
217
|
-
height: _builtins.int = ...,
|
|
218
|
-
use_container_width: _builtins.bool = ...,
|
|
219
178
|
id: _builtins.str = ...,
|
|
220
179
|
columns: _builtins.str = ...,
|
|
221
180
|
editing_mode: Global___Arrow.EditingMode.ValueType = ...,
|
|
@@ -229,7 +188,7 @@ class Arrow(_message.Message):
|
|
|
229
188
|
) -> None: ...
|
|
230
189
|
_HasFieldArgType: _TypeAlias = _typing.Literal["_placeholder", b"_placeholder", "_row_height", b"_row_height", "placeholder", b"placeholder", "row_height", b"row_height", "styler", b"styler"] # noqa: Y015
|
|
231
190
|
def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
|
|
232
|
-
_ClearFieldArgType: _TypeAlias = _typing.Literal["_placeholder", b"_placeholder", "_row_height", b"_row_height", "border_mode", b"border_mode", "column_order", b"column_order", "columns", b"columns", "data", b"data", "disabled", b"disabled", "editing_mode", b"editing_mode", "form_id", b"form_id", "
|
|
191
|
+
_ClearFieldArgType: _TypeAlias = _typing.Literal["_placeholder", b"_placeholder", "_row_height", b"_row_height", "border_mode", b"border_mode", "column_order", b"column_order", "columns", b"columns", "data", b"data", "disabled", b"disabled", "editing_mode", b"editing_mode", "form_id", b"form_id", "id", b"id", "placeholder", b"placeholder", "row_height", b"row_height", "selection_mode", b"selection_mode", "styler", b"styler"] # noqa: Y015
|
|
233
192
|
def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
|
|
234
193
|
_WhichOneofReturnType__placeholder: _TypeAlias = _typing.Literal["placeholder"] # noqa: Y015
|
|
235
194
|
_WhichOneofArgType__placeholder: _TypeAlias = _typing.Literal["_placeholder", b"_placeholder"] # noqa: Y015
|
|
@@ -15,14 +15,13 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
from streamlit.proto import LabelVisibilityMessage_pb2 as streamlit_dot_proto_dot_LabelVisibilityMessage__pb2
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n streamlit/proto/AudioInput.proto\x1a,streamlit/proto/LabelVisibilityMessage.proto\"\xb5\x01\n\nAudioInput\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x0f\n\x07\x66orm_id\x18\x04 \x01(\t\x12\x10\n\x08\x64isabled\x18\x05 \x01(\x08\x12\x31\n\x10label_visibility\x18\x06 \x01(\x0b\x32\x17.LabelVisibilityMessage\x12\x18\n\x0bsample_rate\x18\x07 \x01(\x05H\x00\x88\x01\x01\x42\x0e\n\
|
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n streamlit/proto/AudioInput.proto\x1a,streamlit/proto/LabelVisibilityMessage.proto\"\xb5\x01\n\nAudioInput\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x0f\n\x07\x66orm_id\x18\x04 \x01(\t\x12\x10\n\x08\x64isabled\x18\x05 \x01(\x08\x12\x31\n\x10label_visibility\x18\x06 \x01(\x0b\x32\x17.LabelVisibilityMessage\x12\x18\n\x0bsample_rate\x18\x07 \x01(\x05H\x00\x88\x01\x01\x42\x0e\n\x0c_sample_rateb\x06proto3')
|
|
19
19
|
|
|
20
20
|
_globals = globals()
|
|
21
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
22
22
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.AudioInput_pb2', _globals)
|
|
23
23
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
24
|
-
|
|
25
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\017AudioInputProto'
|
|
24
|
+
DESCRIPTOR._loaded_options = None
|
|
26
25
|
_globals['_AUDIOINPUT']._serialized_start=83
|
|
27
26
|
_globals['_AUDIOINPUT']._serialized_end=264
|
|
28
27
|
# @@protoc_insertion_point(module_scope)
|
streamlit/proto/Audio_pb2.py
CHANGED
|
@@ -15,14 +15,13 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
from streamlit.proto import WidthConfig_pb2 as streamlit_dot_proto_dot_WidthConfig__pb2
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Audio.proto\x1a!streamlit/proto/WidthConfig.proto\"\xca\x01\n\x05\x41udio\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x05\x12\x10\n\x08\x65nd_time\x18\x06 \x01(\x05\x12\x0c\n\x04loop\x18\x07 \x01(\x08\x12\x10\n\x08\x61utoplay\x18\x08 \x01(\x08\x12\n\n\x02id\x18\t \x01(\t\x12\x31\n\x0cwidth_config\x18\n \x01(\x0b\x32\x16.streamlit.WidthConfigH\x00\x88\x01\x01\x42\x0f\n\r_width_configJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05R\x04\x64\x61taR\x06\
|
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bstreamlit/proto/Audio.proto\x1a!streamlit/proto/WidthConfig.proto\"\xca\x01\n\x05\x41udio\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x05\x12\x10\n\x08\x65nd_time\x18\x06 \x01(\x05\x12\x0c\n\x04loop\x18\x07 \x01(\x08\x12\x10\n\x08\x61utoplay\x18\x08 \x01(\x08\x12\n\n\x02id\x18\t \x01(\t\x12\x31\n\x0cwidth_config\x18\n \x01(\x0b\x32\x16.streamlit.WidthConfigH\x00\x88\x01\x01\x42\x0f\n\r_width_configJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05R\x04\x64\x61taR\x06\x66ormatb\x06proto3')
|
|
19
19
|
|
|
20
20
|
_globals = globals()
|
|
21
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
22
22
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Audio_pb2', _globals)
|
|
23
23
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
24
|
-
|
|
25
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\nAudioProto'
|
|
24
|
+
DESCRIPTOR._loaded_options = None
|
|
26
25
|
_globals['_AUDIO']._serialized_start=67
|
|
27
26
|
_globals['_AUDIO']._serialized_end=269
|
|
28
27
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -14,14 +14,13 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"streamlit/proto/AuthRedirect.proto\"\x1b\n\x0c\x41uthRedirect\x12\x0b\n\x03url\x18\x01 \x01(\
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"streamlit/proto/AuthRedirect.proto\"\x1b\n\x0c\x41uthRedirect\x12\x0b\n\x03url\x18\x01 \x01(\tb\x06proto3')
|
|
18
18
|
|
|
19
19
|
_globals = globals()
|
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
21
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.AuthRedirect_pb2', _globals)
|
|
22
22
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
23
|
-
|
|
24
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\021AuthRedirectProto'
|
|
23
|
+
DESCRIPTOR._loaded_options = None
|
|
25
24
|
_globals['_AUTHREDIRECT']._serialized_start=38
|
|
26
25
|
_globals['_AUTHREDIRECT']._serialized_end=65
|
|
27
26
|
# @@protoc_insertion_point(module_scope)
|
streamlit/proto/AutoRerun_pb2.py
CHANGED
|
@@ -14,14 +14,13 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fstreamlit/proto/AutoRerun.proto\"2\n\tAutoRerun\x12\x10\n\x08interval\x18\x01 \x01(\x02\x12\x13\n\x0b\x66ragment_id\x18\x02 \x01(\
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fstreamlit/proto/AutoRerun.proto\"2\n\tAutoRerun\x12\x10\n\x08interval\x18\x01 \x01(\x02\x12\x13\n\x0b\x66ragment_id\x18\x02 \x01(\tb\x06proto3')
|
|
18
18
|
|
|
19
19
|
_globals = globals()
|
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
21
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.AutoRerun_pb2', _globals)
|
|
22
22
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
23
|
-
|
|
24
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n\034com.snowflake.apps.streamlitB\016AutoRerunProto'
|
|
23
|
+
DESCRIPTOR._loaded_options = None
|
|
25
24
|
_globals['_AUTORERUN']._serialized_start=35
|
|
26
25
|
_globals['_AUTORERUN']._serialized_end=85
|
|
27
26
|
# @@protoc_insertion_point(module_scope)
|