streamlit-nightly 1.39.1.dev20241029__tar.gz → 1.39.1.dev20241030__tar.gz
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_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/PKG-INFO +1 -1
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/setup.py +1 -1
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/connections/base_connection.py +4 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/connections/snowflake_connection.py +569 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/connections/snowpark_connection.py +1 -1
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/connections/sql_connection.py +140 -26
- streamlit_nightly-1.39.1.dev20241030/streamlit/proto/MetricsEvent_pb2.py +30 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/proto/MetricsEvent_pb2.pyi +200 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/connection_factory.py +122 -37
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/asset-manifest.json +21 -19
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/index.html +1 -1
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/1504.51c32670.chunk.js +2 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/223.7f54d4fe.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/2601.677fbaac.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/3224.919d670d.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/3682.8ecb602d.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/3978.58bcc6a4.chunk.js +2 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/4133.5d5fe118.chunk.js +2 -0
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/4942.e4db7877.chunk.js → streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/4942.cd41b09c.chunk.js +1 -1
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/5361.913e291a.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/5503.0917ff70.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/7612.3f409b56.chunk.js +2 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/783.403d1195.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/8148.9b76a4cd.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/8237.86c539f3.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/8380.9d225c39.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/8460.570de48a.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/9923.14294b15.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/9943.ac0530dc.chunk.js +1 -0
- streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/main.754d974e.js +28 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/routes.py +1 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit_nightly.egg-info/PKG-INFO +1 -1
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit_nightly.egg-info/SOURCES.txt +27 -23
- streamlit_nightly-1.39.1.dev20241029/streamlit/connections/snowflake_connection.py +0 -295
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/223.2359dae5.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/3224.a04b49ba.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/3389.71902a75.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/4096.178414b7.chunk.js +0 -2
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/4297.3afbdd03.chunk.js +0 -2
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/4856.03868952.chunk.js +0 -2
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/5849.e92568db.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/6198.956025ac.chunk.js +0 -2
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/6360.50be2ff5.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/783.788bb3ab.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/8148.b29e43b5.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/8237.58ae67da.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/8460.8b3f792f.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/9923.8dc9e5ed.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/9943.51b39296.chunk.js +0 -1
- streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/main.8c705f66.js +0 -28
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/MANIFEST.in +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/bin/streamlit.cmd +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/setup.cfg +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/__main__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/cli_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/column_config.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/commands/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/commands/echo.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/commands/execution_control.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/commands/experimental_query_params.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/commands/logo.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/commands/navigation.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/commands/page_config.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/lib/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/lib/local_component_registry.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/types/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/types/base_component_registry.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/types/base_custom_component.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/v1/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/v1/component_arrow.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/v1/component_registry.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/v1/components.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/components/v1/custom_component.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/config.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/config_option.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/config_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/connections/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/connections/util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/cursor.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/dataframe_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/delta_generator.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/delta_generator_singletons.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/deprecation_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/development.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/alert.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/arrow.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/balloons.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/bokeh_chart.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/code.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/deck_gl_json_chart.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/dialog_decorator.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/doc_string.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/empty.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/exception.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/form.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/graphviz_chart.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/heading.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/html.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/iframe.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/image.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/json.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/layouts.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/built_in_chart_utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/color_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/column_config_utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/column_types.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/dialog.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/dicttools.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/event_utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/form_utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/js_number.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/mutable_status_container.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/options_selector_utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/pandas_styler_utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/policies.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/streamlit_plotly_theme.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/subtitle_utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/lib/utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/map.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/markdown.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/media.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/metric.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/plotly_chart.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/progress.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/pyplot.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/snow.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/spinner.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/text.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/toast.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/vega_charts.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/audio_input.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/button.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/button_group.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/camera_input.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/chat.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/checkbox.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/color_picker.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/data_editor.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/file_uploader.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/multiselect.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/number_input.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/radio.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/select_slider.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/selectbox.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/slider.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/text_widgets.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/widgets/time_widgets.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/elements/write.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/emojis.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/env_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/error_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/errors.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/external/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/external/langchain/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/external/langchain/streamlit_callback_handler.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/file_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/git_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/hello/Animation_Demo.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/hello/Dataframe_Demo.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/hello/Hello.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/hello/Mapping_Demo.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/hello/Plotting_Demo.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/hello/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/hello/streamlit_app.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/hello/utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/logger.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/material_icon_names.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/navigation/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/navigation/page.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/net_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/platform.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Alert_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Alert_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/AppPage_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/AppPage_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ArrowNamedDataSet_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ArrowNamedDataSet_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ArrowVegaLiteChart_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ArrowVegaLiteChart_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Arrow_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Arrow_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/AudioInput_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/AudioInput_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Audio_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Audio_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/AutoRerun_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/AutoRerun_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/BackMsg_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/BackMsg_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Balloons_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Balloons_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Block_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Block_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/BokehChart_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/BokehChart_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ButtonGroup_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ButtonGroup_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Button_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Button_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/CameraInput_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/CameraInput_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ChatInput_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ChatInput_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Checkbox_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Checkbox_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ClientState_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ClientState_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Code_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Code_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ColorPicker_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ColorPicker_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Common_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Common_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Components_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Components_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DataFrame_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DataFrame_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DateInput_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DateInput_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DeckGlJsonChart_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DeckGlJsonChart_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Delta_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Delta_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DocString_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DocString_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DownloadButton_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/DownloadButton_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Element_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Element_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Empty_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Empty_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Exception_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Exception_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Favicon_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Favicon_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/FileUploader_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/FileUploader_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ForwardMsg_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ForwardMsg_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/GitInfo_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/GitInfo_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/GraphVizChart_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/GraphVizChart_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Heading_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Heading_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Html_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Html_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/IFrame_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/IFrame_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Image_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Image_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Json_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Json_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/LabelVisibilityMessage_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/LabelVisibilityMessage_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/LinkButton_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/LinkButton_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Logo_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Logo_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Markdown_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Markdown_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Metric_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Metric_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/MultiSelect_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/MultiSelect_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/NamedDataSet_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/NamedDataSet_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Navigation_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Navigation_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/NewSession_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/NewSession_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/NumberInput_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/NumberInput_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageConfig_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageConfig_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageInfo_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageInfo_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageLink_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageLink_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageNotFound_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageNotFound_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageProfile_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PageProfile_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PagesChanged_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PagesChanged_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ParentMessage_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/ParentMessage_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PlotlyChart_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/PlotlyChart_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Progress_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Progress_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Radio_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Radio_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/RootContainer_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/RootContainer_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Selectbox_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Selectbox_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/SessionEvent_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/SessionEvent_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/SessionStatus_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/SessionStatus_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Skeleton_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Skeleton_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Slider_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Slider_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Snow_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Snow_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Spinner_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Spinner_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/TextArea_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/TextArea_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/TextInput_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/TextInput_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Text_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Text_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/TimeInput_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/TimeInput_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Toast_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Toast_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/VegaLiteChart_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/VegaLiteChart_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Video_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/Video_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/WidgetStates_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/WidgetStates_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/openmetrics_data_model_pb2.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/proto/openmetrics_data_model_pb2.pyi +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/py.typed +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/app_session.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/cache_data_api.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/cache_errors.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/cache_resource_api.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/cache_type.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/cache_utils.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/cached_message_replay.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/hashing.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/legacy_cache_api.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/storage/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/storage/cache_storage_protocol.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/storage/dummy_cache_storage.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/storage/in_memory_cache_storage_wrapper.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/caching/storage/local_disk_cache_storage.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/context.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/credentials.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/forward_msg_cache.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/forward_msg_queue.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/fragment.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/media_file_manager.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/media_file_storage.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/memory_media_file_storage.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/memory_session_storage.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/memory_uploaded_file_manager.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/metrics_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/pages_manager.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/runtime.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/runtime_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/script_data.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner/exec_code.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner/magic.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner/magic_funcs.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner/script_cache.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner/script_runner.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner_utils/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner_utils/exceptions.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner_utils/script_requests.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/scriptrunner_utils/script_run_context.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/secrets.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/session_manager.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/state/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/state/common.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/state/query_params.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/state/query_params_proxy.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/state/safe_session_state.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/state/session_state.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/state/session_state_proxy.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/state/widgets.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/stats.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/uploaded_file_manager.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/runtime/websocket_session_manager.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/source_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/favicon.png +0 -0
- /streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/css/4096.8b8f33d6.chunk.css → /streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/css/1504.8b8f33d6.chunk.css +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/css/9943.d452238e.chunk.css +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/css/main.a1bc16b2.css +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/1086.93ecee4c.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/1101.13462bff.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/1260.f4b7cd39.chunk.js +0 -0
- /streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/4096.178414b7.chunk.js.LICENSE.txt → /streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/1504.51c32670.chunk.js.LICENSE.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/1674.86aea8e0.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/1674.86aea8e0.chunk.js.LICENSE.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/245.f99a075b.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/2627.2462a014.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/3391.7aba08a0.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/3471.de4b25a2.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/3560.22d06cb7.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/3861.867f8617.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/3966.e0686958.chunk.js +0 -0
- /streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/6198.956025ac.chunk.js.LICENSE.txt → /streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/3978.58bcc6a4.chunk.js.LICENSE.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/4103.a5610a9d.chunk.js +0 -0
- /streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/4297.3afbdd03.chunk.js.LICENSE.txt → /streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/4133.5d5fe118.chunk.js.LICENSE.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/4827.bf6d34b0.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/5281.5e3aa7c6.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/5618.f51b795a.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/5625.a2d9a416.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/5764.5a55e5be.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/5828.f8572ba4.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/583.61ac7fde.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/6088.cf24e25c.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/6141.d2879825.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/6679.265ca09c.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/6817.6adfea98.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/7193.534e7da1.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/7591.b3928443.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/7591.b3928443.chunk.js.LICENSE.txt +0 -0
- /streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/4856.03868952.chunk.js.LICENSE.txt → /streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/7612.3f409b56.chunk.js.LICENSE.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/766.e3700e32.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/7809.4b5ac1e5.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/797.36f1bf7d.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/7983.15bb2017.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/8161.9b75f98a.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/8166.1d69c908.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/84.414fa87b.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/8642.58110d15.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/8642.58110d15.chunk.js.LICENSE.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/8648.92079acf.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/8790.0b98f286.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/8815.304ea46a.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/9060.1ec8dc2b.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/9077.721329d6.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/9114.ee2dff18.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/9464.7e9a3c0a.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/9528.a58c0ad2.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/954.07ce4880.chunk.js +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/js/9993.5b55b4c2.chunk.js +0 -0
- /streamlit_nightly-1.39.1.dev20241029/streamlit/static/static/js/main.8c705f66.js.LICENSE.txt → /streamlit_nightly-1.39.1.dev20241030/streamlit/static/static/js/main.754d974e.js.LICENSE.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/MaterialSymbols-Rounded.ec07649f7a20048d5730.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceCodePro-Bold.17a68a0751a813474a0e.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceCodePro-BoldItalic.d45b7a3df103d441d78b.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceCodePro-Italic.ec122a420df4175e74f2.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceCodePro-Regular.84b900b88d09398d86b0.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceCodePro-SemiBold.17291d1c493cb25eb2c3.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceCodePro-SemiBoldItalic.f879ae27307c3926522b.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSansPro-Bold.118dea98980e20a81ced.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSansPro-BoldItalic.1d664be59d2eb5fef029.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSansPro-Italic.8a9bfea74d43927d6eec.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSansPro-Regular.0d69e5ff5e92ac64a0c9.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSansPro-SemiBold.abed79cd0df1827e18cf.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSansPro-SemiBoldItalic.befb0a2824eabc5ce36b.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSerifPro-Bold.d7975b56594770699ae0.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSerifPro-BoldItalic.913697a7178b128caa4c.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSerifPro-Italic.d3529cb5797663ac5d88.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSerifPro-Regular.e6c37aa3926474cc93e1.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSerifPro-SemiBold.5c1d378dd5990ef334ca.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/SourceSerifPro-SemiBoldItalic.249e948b885d0c7d30a8.woff2 +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/checkmark.29851c8e9e6ef0c3d6c1e4efe3c1bb9e.svg +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/fireworks.0906f02ea43f1018a6d2.gif +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/flake-0.beded754e8024c73d9d2.png +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/flake-1.8077dc154e0bf900aa73.png +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/flake-2.e3f07d06933dd0e84c24.png +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/logo.b972e133efb66853e2af89f9219f1069.svg +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/rocket.add69fb2c850b62fa60077e3a5a06d28.svg +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/snowflake.187cb4ca5fd443488e5b4bfc9c4d2b52.svg +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/static/static/media/streamlit-mark-color.e5952193e5f735a3afb01a78a4dd4b41.svg +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/string_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/temporary_directory.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/testing/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/testing/v1/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/testing/v1/app_test.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/testing/v1/element_tree.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/testing/v1/local_script_runner.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/testing/v1/util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/time_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/type_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/url_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/user_info.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/vendor/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/vendor/ipython/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/vendor/ipython/modified_sys_path.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/vendor/pympler/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/vendor/pympler/asizeof.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/version.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/watcher/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/watcher/event_based_path_watcher.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/watcher/folder_black_list.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/watcher/local_sources_watcher.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/watcher/path_watcher.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/watcher/polling_path_watcher.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/watcher/util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/bootstrap.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/cache_storage_manager_config.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/cli.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/__init__.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/app_static_file_handler.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/browser_websocket_handler.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/component_request_handler.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/media_file_handler.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/server.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/server_util.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/stats_request_handler.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/upload_file_request_handler.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit/web/server/websocket_headers.py +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit_nightly.egg-info/dependency_links.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit_nightly.egg-info/entry_points.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit_nightly.egg-info/not-zip-safe +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit_nightly.egg-info/requires.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/streamlit_nightly.egg-info/top_level.txt +0 -0
- {streamlit_nightly-1.39.1.dev20241029 → streamlit_nightly-1.39.1.dev20241030}/tests/testutil.py +0 -0
@@ -21,7 +21,7 @@ from setuptools.command.install import install
|
|
21
21
|
|
22
22
|
THIS_DIRECTORY = Path(__file__).parent
|
23
23
|
|
24
|
-
VERSION = "1.39.1.
|
24
|
+
VERSION = "1.39.1.dev20241030" # PEP-440
|
25
25
|
|
26
26
|
# IMPORTANT: We should try very hard *not* to add dependencies to Streamlit.
|
27
27
|
# And if you do add one, make the required version as general as possible:
|
@@ -154,6 +154,10 @@ class BaseConnection(ABC, Generic[RawConnectionT]):
|
|
154
154
|
reinitializing it. Note that some connection methods may already use ``reset()``
|
155
155
|
in their error handling code.
|
156
156
|
|
157
|
+
Returns
|
158
|
+
-------
|
159
|
+
None
|
160
|
+
|
157
161
|
Example
|
158
162
|
-------
|
159
163
|
>>> import streamlit as st
|
@@ -0,0 +1,569 @@
|
|
1
|
+
# Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2024)
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
# NOTE: We won't always be able to import from snowflake.{connector, snowpark}.* so need
|
16
|
+
# the `type: ignore` comment below, but that comment will explode if `warn-unused-ignores`
|
17
|
+
# is turned on when the package is available. Unfortunately, mypy doesn't provide a good
|
18
|
+
# way to configure this at a per-line level :(
|
19
|
+
# mypy: no-warn-unused-ignores
|
20
|
+
|
21
|
+
from __future__ import annotations
|
22
|
+
|
23
|
+
from typing import TYPE_CHECKING, cast
|
24
|
+
|
25
|
+
from streamlit.connections import BaseConnection
|
26
|
+
from streamlit.connections.util import running_in_sis
|
27
|
+
from streamlit.errors import StreamlitAPIException
|
28
|
+
from streamlit.runtime.caching import cache_data
|
29
|
+
|
30
|
+
if TYPE_CHECKING:
|
31
|
+
from datetime import timedelta
|
32
|
+
|
33
|
+
from pandas import DataFrame
|
34
|
+
from snowflake.connector.cursor import SnowflakeCursor # type:ignore[import]
|
35
|
+
from snowflake.snowpark.session import Session # type:ignore[import]
|
36
|
+
|
37
|
+
from snowflake.connector import ( # type:ignore[import] # isort: skip
|
38
|
+
SnowflakeConnection as InternalSnowflakeConnection,
|
39
|
+
)
|
40
|
+
|
41
|
+
|
42
|
+
class SnowflakeConnection(BaseConnection["InternalSnowflakeConnection"]):
|
43
|
+
"""A connection to Snowflake using the Snowflake Connector for Python.
|
44
|
+
|
45
|
+
Initialize this connection object using ``st.connection("snowflake")`` or
|
46
|
+
``st.connection("<name>", type="snowflake")``. Connection parameters for a
|
47
|
+
SnowflakeConnection can be specified using ``secrets.toml`` and/or
|
48
|
+
``**kwargs``. Connection parameters are passed to
|
49
|
+
|snowflake.connector.connect()|.
|
50
|
+
|
51
|
+
When an app is running in Streamlit in Snowflake,
|
52
|
+
``st.connection("snowflake")`` connects automatically using the app owner's
|
53
|
+
role without further configuration. ``**kwargs`` will be ignored in this
|
54
|
+
case. Use ``secrets.toml`` and ``**kwargs`` to configure your connection
|
55
|
+
for local development.
|
56
|
+
|
57
|
+
SnowflakeConnection includes several convenience methods. For example, you
|
58
|
+
can directly execute a SQL query with ``.query()`` or access the underlying
|
59
|
+
Snowflake Connector object with ``.raw_connection``.
|
60
|
+
|
61
|
+
.. |snowflake.connector.connect()| replace:: ``snowflake.connector.connect()``
|
62
|
+
.. _snowflake.connector.connect(): https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-api#label-snowflake-connector-methods-connect
|
63
|
+
|
64
|
+
.. Tip::
|
65
|
+
`snowflake-snowpark-python <https://pypi.org/project/snowflake-snowpark-python/>`_
|
66
|
+
must be installed in your environment to use this connection. You can
|
67
|
+
install Snowflake extras along with Streamlit:
|
68
|
+
|
69
|
+
>>> pip install streamlit[snowflake]
|
70
|
+
|
71
|
+
.. Important::
|
72
|
+
Account identifiers must be of the form ``<orgname>-<account_name>``
|
73
|
+
where ``<orgname>`` is the name of your Snowflake organization and
|
74
|
+
``<account_name>`` is the unique name of your account within your
|
75
|
+
organization. This is dash-separated, not dot-separated like when used
|
76
|
+
in SQL queries. For more information, see `Account identifiers
|
77
|
+
<https://docs.snowflake.com/en/user-guide/admin-account-identifier>`_.
|
78
|
+
|
79
|
+
Examples
|
80
|
+
--------
|
81
|
+
|
82
|
+
**Example 1: Configuration with Streamlit secrets**
|
83
|
+
|
84
|
+
You can configure your Snowflake connection using Streamlit's
|
85
|
+
`Secrets management <https://docs.streamlit.io/develop/concepts/connections/secrets-management>`_.
|
86
|
+
For example, if you have MFA enabled on your account, you can connect using
|
87
|
+
`key-pair authentication <https://docs.snowflake.com/en/user-guide/key-pair-auth>`_.
|
88
|
+
|
89
|
+
``.streamlit/secrets.toml``:
|
90
|
+
|
91
|
+
>>> [connections.snowflake]
|
92
|
+
>>> account = "xxx-xxx"
|
93
|
+
>>> user = "xxx"
|
94
|
+
>>> private_key_file = "/xxx/xxx/xxx.p8"
|
95
|
+
>>> role = "xxx"
|
96
|
+
>>> warehouse = "xxx"
|
97
|
+
>>> database = "xxx"
|
98
|
+
>>> schema = "xxx"
|
99
|
+
|
100
|
+
Your app code:
|
101
|
+
|
102
|
+
>>> import streamlit as st
|
103
|
+
>>> conn = st.connection("snowflake")
|
104
|
+
>>> df = conn.query("SELECT * FROM my_table")
|
105
|
+
|
106
|
+
**Example 2: Configuration with keyword arguments and external authentication**
|
107
|
+
|
108
|
+
You can configure your Snowflake connection with keyword arguments (with or
|
109
|
+
without ``secrets.toml``). For example, if your Snowflake account supports
|
110
|
+
SSO, you can set up a quick local connection for development using `browser-based SSO
|
111
|
+
<https://docs.snowflake.com/en/user-guide/admin-security-fed-auth-use#how-browser-based-sso-works>`_.
|
112
|
+
|
113
|
+
>>> import streamlit as st
|
114
|
+
>>> conn = st.connection(
|
115
|
+
... "snowflake", account="xxx-xxx", user="xxx", authenticator="externalbrowser"
|
116
|
+
... )
|
117
|
+
>>> df = conn.query("SELECT * FROM my_table")
|
118
|
+
|
119
|
+
**Example 3: Named connection with Snowflake's connection configuration file**
|
120
|
+
|
121
|
+
Snowflake's Python Connector supports a `connection configuration file
|
122
|
+
<https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-connect#connecting-using-the-connections-toml-file>`_,
|
123
|
+
which is well integrated with Streamlit's ``SnowflakeConnection``. If you
|
124
|
+
already have one or more connections configured, all you need to do is pass
|
125
|
+
the name of the connection to use.
|
126
|
+
|
127
|
+
``~/.snowflake/connections.toml``:
|
128
|
+
|
129
|
+
>>> [my_connection]
|
130
|
+
>>> account = "xxx-xxx"
|
131
|
+
>>> user = "xxx"
|
132
|
+
>>> password = "xxx"
|
133
|
+
>>> warehouse = "xxx"
|
134
|
+
>>> database = "xxx"
|
135
|
+
>>> schema = "xxx"
|
136
|
+
|
137
|
+
Your app code:
|
138
|
+
|
139
|
+
>>> import streamlit as st
|
140
|
+
>>> conn = st.connection("my_connection", type="snowflake")
|
141
|
+
>>> df = conn.query("SELECT * FROM my_table")
|
142
|
+
|
143
|
+
**Example 4: Named connection with Streamlit secrets and Snowflake's connection configuration file**
|
144
|
+
|
145
|
+
If you have a Snowflake configuration file with a connection named
|
146
|
+
``my_connection`` as in Example 3, you can pass the connection name through
|
147
|
+
``secrets.toml``.
|
148
|
+
|
149
|
+
``.streamlit/secrets.toml``:
|
150
|
+
|
151
|
+
>>> [connections.snowflake]
|
152
|
+
>>> connection_name = "my_connection"
|
153
|
+
|
154
|
+
Your app code:
|
155
|
+
|
156
|
+
>>> import streamlit as st
|
157
|
+
>>> conn = st.connection("snowflake")
|
158
|
+
>>> df = conn.query("SELECT * FROM my_table")
|
159
|
+
|
160
|
+
**Example 5: Default connection with an environment variable**
|
161
|
+
|
162
|
+
If you have a Snowflake configuration file with a connection named
|
163
|
+
``my_connection`` as in Example 3, you can set an environment variable to
|
164
|
+
declare it as the default Snowflake connection.
|
165
|
+
|
166
|
+
>>> SNOWFLAKE_DEFAULT_CONNECTION_NAME = "my_connection"
|
167
|
+
|
168
|
+
Your app code:
|
169
|
+
|
170
|
+
>>> import streamlit as st
|
171
|
+
>>> conn = st.connection("snowflake")
|
172
|
+
>>> df = conn.query("SELECT * FROM my_table")
|
173
|
+
|
174
|
+
**Example 6: Default connection in Snowflake's connection configuration file**
|
175
|
+
|
176
|
+
If you have a Snowflake configuration file that defines your ``default``
|
177
|
+
connection, Streamlit will automatically use it if no other connection is
|
178
|
+
declared.
|
179
|
+
|
180
|
+
``~/.snowflake/connections.toml``:
|
181
|
+
|
182
|
+
>>> [default]
|
183
|
+
>>> account = "xxx-xxx"
|
184
|
+
>>> user = "xxx"
|
185
|
+
>>> password = "xxx"
|
186
|
+
>>> warehouse = "xxx"
|
187
|
+
>>> database = "xxx"
|
188
|
+
>>> schema = "xxx"
|
189
|
+
|
190
|
+
Your app code:
|
191
|
+
|
192
|
+
>>> import streamlit as st
|
193
|
+
>>> conn = st.connection("snowflake")
|
194
|
+
>>> df = conn.query("SELECT * FROM my_table")
|
195
|
+
|
196
|
+
"""
|
197
|
+
|
198
|
+
def _connect(self, **kwargs) -> InternalSnowflakeConnection:
|
199
|
+
import snowflake.connector # type:ignore[import]
|
200
|
+
from snowflake.connector import Error as SnowflakeError # type:ignore[import]
|
201
|
+
|
202
|
+
# If we're running in SiS, just call get_active_session() and retrieve the
|
203
|
+
# lower-level connection from it.
|
204
|
+
if running_in_sis():
|
205
|
+
from snowflake.snowpark.context import ( # type:ignore[import] # isort: skip
|
206
|
+
get_active_session,
|
207
|
+
)
|
208
|
+
|
209
|
+
session = get_active_session()
|
210
|
+
|
211
|
+
if hasattr(session, "connection"):
|
212
|
+
return session.connection
|
213
|
+
# session.connection is only a valid attr in more recent versions of
|
214
|
+
# snowflake-connector-python, so we fall back to grabbing
|
215
|
+
# session._conn._conn if `.connection` is unavailable.
|
216
|
+
return session._conn._conn
|
217
|
+
|
218
|
+
# We require qmark-style parameters everywhere for consistency across different
|
219
|
+
# environments where SnowflakeConnections may be used.
|
220
|
+
snowflake.connector.paramstyle = "qmark"
|
221
|
+
|
222
|
+
# Otherwise, attempt to create a new connection from whatever credentials we
|
223
|
+
# have available.
|
224
|
+
try:
|
225
|
+
st_secrets = self._secrets.to_dict()
|
226
|
+
if len(st_secrets):
|
227
|
+
conn_kwargs = {**st_secrets, **kwargs}
|
228
|
+
return snowflake.connector.connect(**conn_kwargs)
|
229
|
+
|
230
|
+
# session.connector.connection.CONFIG_MANAGER is only available in more recent
|
231
|
+
# versions of snowflake-connector-python.
|
232
|
+
if hasattr(snowflake.connector.connection, "CONFIG_MANAGER"):
|
233
|
+
config_mgr = snowflake.connector.connection.CONFIG_MANAGER
|
234
|
+
|
235
|
+
default_connection_name = "default"
|
236
|
+
try:
|
237
|
+
default_connection_name = config_mgr["default_connection_name"]
|
238
|
+
except snowflake.connector.errors.ConfigSourceError:
|
239
|
+
# Similarly, config_mgr["default_connection_name"] only exists in even
|
240
|
+
# later versions of recent versions. if it doesn't, we just use
|
241
|
+
# "default" as the default connection name.
|
242
|
+
pass
|
243
|
+
|
244
|
+
connection_name = (
|
245
|
+
default_connection_name
|
246
|
+
if self._connection_name == "snowflake"
|
247
|
+
else self._connection_name
|
248
|
+
)
|
249
|
+
return snowflake.connector.connect(
|
250
|
+
connection_name=connection_name,
|
251
|
+
**kwargs,
|
252
|
+
)
|
253
|
+
|
254
|
+
return snowflake.connector.connect(**kwargs)
|
255
|
+
except SnowflakeError as e:
|
256
|
+
if not len(st_secrets) and not len(kwargs):
|
257
|
+
raise StreamlitAPIException(
|
258
|
+
"Missing Snowflake connection configuration. "
|
259
|
+
"Did you forget to set this in `secrets.toml`, a Snowflake configuration file, "
|
260
|
+
"or as kwargs to `st.connection`? "
|
261
|
+
"See the [SnowflakeConnection configuration documentation](https://docs.streamlit.io/st.connections.snowflakeconnection-configuration) "
|
262
|
+
"for more details and examples."
|
263
|
+
)
|
264
|
+
raise e
|
265
|
+
|
266
|
+
def query(
|
267
|
+
self,
|
268
|
+
sql: str,
|
269
|
+
*, # keyword-only arguments:
|
270
|
+
ttl: float | int | timedelta | None = None,
|
271
|
+
show_spinner: bool | str = "Running `snowflake.query(...)`.",
|
272
|
+
params=None,
|
273
|
+
**kwargs,
|
274
|
+
) -> DataFrame:
|
275
|
+
"""Run a read-only SQL query.
|
276
|
+
|
277
|
+
This method implements query result caching and simple error
|
278
|
+
handling/retries. The caching behavior is identical to that of using
|
279
|
+
``@st.cache_data``.
|
280
|
+
|
281
|
+
.. note::
|
282
|
+
Queries that are run without a specified ``ttl`` are cached
|
283
|
+
indefinitely.
|
284
|
+
|
285
|
+
Parameters
|
286
|
+
----------
|
287
|
+
sql : str
|
288
|
+
The read-only SQL query to execute.
|
289
|
+
ttl : float, int, timedelta or None
|
290
|
+
The maximum number of seconds to keep results in the cache. If this
|
291
|
+
is ``None`` (default), cached results do not expire with time.
|
292
|
+
show_spinner : boolean or string
|
293
|
+
Whether to enable the spinner. When a cached query is executed, no
|
294
|
+
spinner is displayed because the result is immediately available.
|
295
|
+
When a new query is executed, the default is to show a spinner with
|
296
|
+
the message "Running ``snowflake.query(...)``."
|
297
|
+
|
298
|
+
If this is ``False``, no spinner displays while executing the
|
299
|
+
query. If this is a string, the string will be used as the message
|
300
|
+
for the spinner.
|
301
|
+
params : list, tuple, dict or None
|
302
|
+
List of parameters to pass to the Snowflake Connector for Python
|
303
|
+
``Cursor.execute()`` method. This connector supports binding data
|
304
|
+
to a SQL statement using qmark bindings. For more information and
|
305
|
+
examples, see the `Snowflake Connector for Python documentation
|
306
|
+
<https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-example#using-qmark-or-numeric-binding>`_.
|
307
|
+
This defaults to ``None``.
|
308
|
+
|
309
|
+
Returns
|
310
|
+
-------
|
311
|
+
pandas.DataFrame
|
312
|
+
The result of running the query, formatted as a pandas DataFrame.
|
313
|
+
|
314
|
+
Example
|
315
|
+
-------
|
316
|
+
|
317
|
+
>>> import streamlit as st
|
318
|
+
>>>
|
319
|
+
>>> conn = st.connection("snowflake")
|
320
|
+
>>> df = conn.query("SELECT * FROM my_table")
|
321
|
+
>>> st.dataframe(df)
|
322
|
+
|
323
|
+
"""
|
324
|
+
from snowflake.connector.errors import ProgrammingError # type: ignore[import]
|
325
|
+
from snowflake.connector.network import ( # type: ignore[import]
|
326
|
+
BAD_REQUEST_GS_CODE,
|
327
|
+
ID_TOKEN_EXPIRED_GS_CODE,
|
328
|
+
MASTER_TOKEN_EXPIRED_GS_CODE,
|
329
|
+
MASTER_TOKEN_INVALD_GS_CODE,
|
330
|
+
MASTER_TOKEN_NOTFOUND_GS_CODE,
|
331
|
+
SESSION_EXPIRED_GS_CODE,
|
332
|
+
)
|
333
|
+
from tenacity import retry, retry_if_exception, stop_after_attempt, wait_fixed
|
334
|
+
|
335
|
+
retryable_error_codes = {
|
336
|
+
int(code)
|
337
|
+
for code in (
|
338
|
+
ID_TOKEN_EXPIRED_GS_CODE,
|
339
|
+
SESSION_EXPIRED_GS_CODE,
|
340
|
+
MASTER_TOKEN_NOTFOUND_GS_CODE,
|
341
|
+
MASTER_TOKEN_EXPIRED_GS_CODE,
|
342
|
+
MASTER_TOKEN_INVALD_GS_CODE,
|
343
|
+
BAD_REQUEST_GS_CODE,
|
344
|
+
)
|
345
|
+
}
|
346
|
+
|
347
|
+
@retry(
|
348
|
+
after=lambda _: self.reset(),
|
349
|
+
stop=stop_after_attempt(3),
|
350
|
+
reraise=True,
|
351
|
+
# We don't have to implement retries ourself for most error types as the
|
352
|
+
# `snowflake-connector-python` library already implements retries for
|
353
|
+
# retryable HTTP errors.
|
354
|
+
retry=retry_if_exception(
|
355
|
+
lambda e: isinstance(e, ProgrammingError)
|
356
|
+
and hasattr(e, "errno")
|
357
|
+
and e.errno in retryable_error_codes
|
358
|
+
),
|
359
|
+
wait=wait_fixed(1),
|
360
|
+
)
|
361
|
+
def _query(sql: str) -> DataFrame:
|
362
|
+
cur = self._instance.cursor()
|
363
|
+
cur.execute(sql, params=params, **kwargs)
|
364
|
+
return cur.fetch_pandas_all()
|
365
|
+
|
366
|
+
# We modify our helper function's `__qualname__` here to work around default
|
367
|
+
# `@st.cache_data` behavior. Otherwise, `.query()` being called with different
|
368
|
+
# `ttl` values will reset the cache with each call, and the query caches won't
|
369
|
+
# be scoped by connection.
|
370
|
+
ttl_str = str( # Avoid adding extra `.` characters to `__qualname__`
|
371
|
+
ttl
|
372
|
+
).replace(".", "_")
|
373
|
+
_query.__qualname__ = f"{_query.__qualname__}_{self._connection_name}_{ttl_str}"
|
374
|
+
_query = cache_data(
|
375
|
+
show_spinner=show_spinner,
|
376
|
+
ttl=ttl,
|
377
|
+
)(_query)
|
378
|
+
|
379
|
+
return _query(sql)
|
380
|
+
|
381
|
+
def write_pandas(
|
382
|
+
self,
|
383
|
+
df: DataFrame,
|
384
|
+
table_name: str,
|
385
|
+
database: str | None = None,
|
386
|
+
schema: str | None = None,
|
387
|
+
chunk_size: int | None = None,
|
388
|
+
**kwargs,
|
389
|
+
) -> tuple[bool, int, int]:
|
390
|
+
"""Write a ``pandas.DataFrame`` to a table in a Snowflake database.
|
391
|
+
|
392
|
+
This convenience method is a thin wrapper around
|
393
|
+
``snowflake.connector.pandas_tools.write_pandas()`` using the
|
394
|
+
underlying connection. The ``conn`` parameter is passed automatically.
|
395
|
+
For more information and additional keyword arguments, see the
|
396
|
+
`Snowflake Connector for Python documentation
|
397
|
+
<https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-api#write_pandas>`_.
|
398
|
+
|
399
|
+
Parameters
|
400
|
+
----------
|
401
|
+
df: pandas.DataFrame
|
402
|
+
The ``pandas.DataFrame`` object containing the data to be copied
|
403
|
+
into the table.
|
404
|
+
table_name: str
|
405
|
+
Name of the table where the data should be copied to.
|
406
|
+
database: str
|
407
|
+
Name of the database containing the table. By default, the function
|
408
|
+
writes to the database that is currently in use in the session.
|
409
|
+
|
410
|
+
.. Note::
|
411
|
+
If you specify this parameter, you must also specify the schema
|
412
|
+
parameter.
|
413
|
+
|
414
|
+
schema: str
|
415
|
+
Name of the schema containing the table. By default, the function
|
416
|
+
writes to the table in the schema that is currently in use in the
|
417
|
+
session.
|
418
|
+
chunk_size: int
|
419
|
+
Number of elements to insert at a time. By default, the function
|
420
|
+
inserts all elements in one chunk.
|
421
|
+
**kwargs: Any
|
422
|
+
Additional keyword arguments for
|
423
|
+
``snowflake.connector.pandas_tools.write_pandas()``.
|
424
|
+
|
425
|
+
Returns
|
426
|
+
-------
|
427
|
+
tuple[bool, int, int]
|
428
|
+
A tuple containing three values:
|
429
|
+
|
430
|
+
1. A boolean value that is ``True`` if the write was successful.
|
431
|
+
2. An integer giving the number of chunks of data that were copied.
|
432
|
+
3. An integer giving the number of rows that were inserted.
|
433
|
+
|
434
|
+
Example
|
435
|
+
-------
|
436
|
+
The following example uses the database and schema currently in use in
|
437
|
+
the session and copies the data into a table named "my_table."
|
438
|
+
|
439
|
+
>>> import streamlit as st
|
440
|
+
>>> import pandas as pd
|
441
|
+
>>>
|
442
|
+
>>> df = pd.DataFrame(
|
443
|
+
... {"Name": ["Mary", "John", "Robert"], "Pet": ["dog", "cat", "bird"]}
|
444
|
+
... )
|
445
|
+
>>> conn = st.connection("snowflake")
|
446
|
+
>>> conn.write_pandas(df, "my_table")
|
447
|
+
|
448
|
+
"""
|
449
|
+
from snowflake.connector.pandas_tools import write_pandas # type:ignore[import]
|
450
|
+
|
451
|
+
success, nchunks, nrows, _ = write_pandas(
|
452
|
+
conn=self._instance,
|
453
|
+
df=df,
|
454
|
+
table_name=table_name,
|
455
|
+
database=database,
|
456
|
+
schema=schema,
|
457
|
+
chunk_size=chunk_size,
|
458
|
+
**kwargs,
|
459
|
+
)
|
460
|
+
|
461
|
+
return (success, nchunks, nrows)
|
462
|
+
|
463
|
+
def cursor(self) -> SnowflakeCursor:
|
464
|
+
"""Create a new cursor object from this connection.
|
465
|
+
|
466
|
+
Snowflake Connector cursors implement the Python Database API v2.0
|
467
|
+
specification (PEP-249). For more information, see the
|
468
|
+
`Snowflake Connector for Python documentation
|
469
|
+
<https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-api#object-cursor>`_.
|
470
|
+
|
471
|
+
Returns
|
472
|
+
-------
|
473
|
+
snowflake.connector.cursor.SnowflakeCursor
|
474
|
+
A cursor object for the connection.
|
475
|
+
|
476
|
+
Example
|
477
|
+
-------
|
478
|
+
The following example uses a cursor to insert multiple rows into a
|
479
|
+
table. The ``qmark`` parameter style is specified as an optional
|
480
|
+
keyword argument. Alternatively, the parameter style can be declared in
|
481
|
+
your connection configuration file. For more information, see the
|
482
|
+
`Snowflake Connector for Python documentation
|
483
|
+
<https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-example#using-qmark-or-numeric-binding>`_.
|
484
|
+
|
485
|
+
>>> import streamlit as st
|
486
|
+
>>>
|
487
|
+
>>> conn = st.connection("snowflake", "paramstyle"="qmark")
|
488
|
+
>>> rows_to_insert = [("Mary", "dog"), ("John", "cat"), ("Robert", "bird")]
|
489
|
+
>>> conn.cursor().executemany(
|
490
|
+
... "INSERT INTO mytable (name, pet) VALUES (?, ?)", rows_to_insert
|
491
|
+
... )
|
492
|
+
|
493
|
+
"""
|
494
|
+
return self._instance.cursor()
|
495
|
+
|
496
|
+
@property
|
497
|
+
def raw_connection(self) -> InternalSnowflakeConnection:
|
498
|
+
"""Access the underlying connection object from the Snowflake\
|
499
|
+
Connector for Python.
|
500
|
+
|
501
|
+
For information on how to use the Snowflake Connector for Python, see
|
502
|
+
the `Snowflake Connector for Python documentation
|
503
|
+
<https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-example>`_.
|
504
|
+
|
505
|
+
Returns
|
506
|
+
-------
|
507
|
+
snowflake.connector.connection.SnowflakeConnection
|
508
|
+
The connection object.
|
509
|
+
|
510
|
+
Example
|
511
|
+
-------
|
512
|
+
The following example uses a cursor to submit an asynchronous query,
|
513
|
+
saves the query ID, then periodically checks the query status through
|
514
|
+
the connection before retrieving the results.
|
515
|
+
|
516
|
+
>>> import streamlit as st
|
517
|
+
>>> import time
|
518
|
+
>>>
|
519
|
+
>>> conn = st.connection("snowflake")
|
520
|
+
>>> cur = conn.cursor()
|
521
|
+
>>> cur.execute_async("SELECT * FROM my_table")
|
522
|
+
>>> query_id = cur.sfqid
|
523
|
+
>>> while True:
|
524
|
+
... status = conn.raw_connection.get_query_status(query_id)
|
525
|
+
... if conn.raw_connection.is_still_running(status):
|
526
|
+
... time.sleep(1)
|
527
|
+
... else:
|
528
|
+
... break
|
529
|
+
>>> cur.get_results_from_sfqid(query_id)
|
530
|
+
>>> df = cur.fetchall()
|
531
|
+
|
532
|
+
"""
|
533
|
+
return self._instance
|
534
|
+
|
535
|
+
def session(self) -> Session:
|
536
|
+
"""Create a new Snowpark session from this connection.
|
537
|
+
|
538
|
+
For information on how to use Snowpark sessions, see the
|
539
|
+
`Snowpark developer guide
|
540
|
+
<https://docs.snowflake.com/en/developer-guide/snowpark/python/working-with-dataframes>`_
|
541
|
+
and `Snowpark API Reference
|
542
|
+
<https://docs.snowflake.com/en/developer-guide/snowpark/reference/python/latest/snowpark/session>`_.
|
543
|
+
|
544
|
+
Returns
|
545
|
+
-------
|
546
|
+
snowflake.snowpark.Session
|
547
|
+
A new Snowpark session for this connection.
|
548
|
+
|
549
|
+
Example
|
550
|
+
-------
|
551
|
+
The following example creates a new Snowpark session and uses it to run
|
552
|
+
a query.
|
553
|
+
|
554
|
+
>>> import streamlit as st
|
555
|
+
>>>
|
556
|
+
>>> conn = st.connection("snowflake")
|
557
|
+
>>> session = conn.session()
|
558
|
+
>>> df = session.sql("SELECT * FROM my_table").collect()
|
559
|
+
|
560
|
+
"""
|
561
|
+
from snowflake.snowpark.context import get_active_session # type:ignore[import]
|
562
|
+
from snowflake.snowpark.session import Session # type:ignore[import]
|
563
|
+
|
564
|
+
if running_in_sis():
|
565
|
+
return get_active_session()
|
566
|
+
|
567
|
+
return cast(
|
568
|
+
Session, Session.builder.configs({"connection": self._instance}).create()
|
569
|
+
)
|
@@ -123,7 +123,7 @@ class SnowparkConnection(BaseConnection["Session"]):
|
|
123
123
|
>>> import streamlit as st
|
124
124
|
>>>
|
125
125
|
>>> conn = st.connection("snowpark")
|
126
|
-
>>> df = conn.query("
|
126
|
+
>>> df = conn.query("SELECT * FROM pet_owners")
|
127
127
|
>>> st.dataframe(df)
|
128
128
|
"""
|
129
129
|
from snowflake.snowpark.exceptions import ( # type:ignore[import]
|