# Table of Contents - [Limitations and unsupported features | Snowflake Documentation](#limitations-and-unsupported-features-snowflake-documentation) --- # Limitations and unsupported features | Snowflake Documentation Limitations and unsupported features[¶](#limitations-and-unsupported-features "Link to this heading") ====================================================================================================== This topic describes the following limitations on Streamlit in Snowflake: * [Unsupported Streamlit features](#label-streamlit-unsupported-features) * [Limitations when loading external resources in Streamlit in Snowflake](#label-streamlit-limitations-csp) * [Additional Streamlit in Snowflake limitations](#label-streamlit-limitations) Unsupported Streamlit features[¶](#unsupported-streamlit-features "Link to this heading") ------------------------------------------------------------------------------------------ The following Streamlit features are not supported in Streamlit in Snowflake: * [st.bokeh\_chart](https://docs.streamlit.io/1.39.0/develop/api-reference/charts/st.bokeh_chart) * [st.camera\_input](https://docs.streamlit.io/1.39.0/develop/api-reference/widgets/st.camera_input) * [st.set\_page\_config](https://docs.streamlit.io/1.39.0/develop/api-reference/configuration/st.set_page_config) > The `page_title`, `page_icon`, and `menu_items` properties of the `st.set_page_config` command are not supported. * [st.experimental\_audio\_input](https://docs.streamlit.io/1.39.0/develop/api-reference/widgets/st.audio_input) * [st.experimental\_get\_query\_params](https://docs.streamlit.io/1.39.0/develop/api-reference/caching-and-state/st.experimental_get_query_params) * [st.experimental\_set\_query\_params](https://docs.streamlit.io/1.39.0/develop/api-reference/caching-and-state/st.experimental_set_query_params) * [st.components.v1.iframe](https://docs.streamlit.io/1.39.0/develop/api-reference/custom-components/st.components.v1.iframe) * [st.components.v1.declare\_component](https://docs.streamlit.io/1.39.0/develop/api-reference/custom-components/st.components.v1.declare_component) * Anchor links Limitations when loading external resources in Streamlit in Snowflake[¶](#limitations-when-loading-external-resources-in-sis "Link to this heading") ----------------------------------------------------------------------------------------------------------------------------------------------------- All Streamlit in Snowflake apps run within the [Content Security Policy (CSP)](https://content-security-policy.com/) that restricts which resources can be loaded. Snowflake blocks loading code — including scripts, styles, fonts, and iframe embedding — from any external domain. However, loading a subset of resources from Mapbox is supported. When you use the [st.map](https://docs.streamlit.io/develop/api-reference/charts/st.map) or [st.pydeck\_chart](https://docs.streamlit.io/develop/api-reference/charts/st.pydeck_chart) Streamlit commands, Mapbox provides the map tiles when rendering map content. Mapbox is a third-party application and is subject to Snowflake’s [External Offerings Terms](https://www.snowflake.com/legal/external-offering-terms/) . Loading images or media from external domains is supported in Streamlit in Snowflake, but not in the Snowflake Native App Framework. For example, the following code runs without a Python error, but the script is not loaded or executed in the browser: \# This will not work import streamlit.components.v1 as components components.html(""" """, height\=0) Copy The CSP also blocks front-end calls that are generally considered unsafe, such as `eval()`. Note App developers are responsible for security checks and the software supply chain of Streamlit in Snowflake app code per the [Snowflake’s Shared Responsibility Model](https://www.snowflake.com/en/resources/report/snowflake-shared-responsibility-model/) . Additional Streamlit in Snowflake limitations[¶](#additional-sis-limitations "Link to this heading") ----------------------------------------------------------------------------------------------------- Streamlit in Snowflake has the following additional limitations: * Using external stages is not supported. * Replication is not supported. * Using .so files is not supported. * [Streamlit apps have a limit for retrieving data](#label-streamlit-limitations-data) . * [Streamlit in Snowflake only supports internal stages that use client-side encryption](#label-streamlit-limitations-server-side-encryption) . * [st.cache\_data and st.cache\_resource are not fully supported](#label-streamlit-limitations-caching) . * [Multi-page Streamlit apps are supported with some considerations](#label-streamlit-limitations-multi-page) . * [st.file\_uploader has a limit of 200 MB for uploaded files](#label-streamlit-limitations-st-file-uploader) . ### Streamlit apps have a limit for retrieving data[¶](#streamlit-apps-have-a-limit-for-retrieving-data "Link to this heading") Streamlit apps running in Streamlit in Snowflake and in a Snowflake Native App have a 32-MB limit on the size of messages exchanged between the backend and the frontend. Queries that exceed 32 MB return the following error: MessageSizeError: Data Size exceeds message limit To avoid this limit, design your Streamlit apps to retrieve data in increments smaller than 32 MB. ### Streamlit in Snowflake only supports internal stages that use client-side encryption[¶](#sis-only-supports-internal-stages-that-use-client-side-encryption "Link to this heading") The Streamlit in Snowflake editor does not support [creating a STREAMLIT object](../../sql-reference/sql/create-streamlit) from files on a named stage that uses server-side encryption. In this situation, Snowsight returns an error. ### `st.cache_data` and `st.cache_resource` are not fully supported[¶](#st-cache-data-and-st-cache-resource-are-not-fully-supported "Link to this heading") [st.cache\_data](https://docs.streamlit.io/library/api-reference/performance/st.cache_data) and [st.cache\_resource](https://docs.streamlit.io/library/api-reference/performance/st.cache_resource) are not fully supported in Streamlit in Snowflake. Caching only works within a single session. Cached values can’t be carried over to other sessions and shared between different users of a Streamlit app. ### Multi-page Streamlit apps are supported with some considerations[¶](#multi-page-streamlit-apps-are-supported-with-some-considerations "Link to this heading") Multi-page Streamlit apps are supported with the following considerations: * Multi-page Streamlit apps can only be created by using SQL commands. See [Create and deploy Streamlit apps using SQL](create-streamlit-sql) . * Individual page URLs are not supported. * Files uploaded to the `/pages` directory are visible within the ROOT\_LOCATION of the named stage. ### `st.file_uploader` has a limit of 200 MB for uploaded files[¶](#st-file-uploader-has-a-limit-of-200-mb-for-uploaded-files "Link to this heading") When using [st.file\_uploader](https://docs.streamlit.io/develop/api-reference/widgets/st.file_uploader) , you may upload files limited to 200 MB each. Configuring this is currently not supported in Streamlit in Snowflake. For larger files, consider processing data in smaller batches or using alternative uploading methods. Language: **English** * [English](/en/developer-guide/streamlit/limitations) * [Français](/fr/developer-guide/streamlit/limitations) * [Deutsch](/de/developer-guide/streamlit/limitations) * [日本語](/ja/developer-guide/streamlit/limitations) * [한국어](/ko/developer-guide/streamlit/limitations) * [Português](/pt/developer-guide/streamlit/limitations) ---