Limitations and unsupported features

Attention

This feature is available to accounts in AWS commercial regions. AWS PrivateLink is not supported.

This topic describes the limitations on Streamlit in Snowflake. It also lists Streamlit features that are unsupported.

Account limitations when using Streamlit in Snowflake

Streamlit in Snowflake has the following account limitations:

  • Your Snowflake account must be located in an Amazon Web Services (AWS) region.

  • Accounts in the following regions are not currently supported:

    • Google Cloud Platform (GCP).

    • Microsoft Azure.

    • Virtual Private Snowflake (VPS).

    • US government regions that support FedRAMP.

  • Using AWS PrivateLink is not supported.

  • The combined length of your account name and organization name must be less than 41 characters.

  • Your account name must be unique within your organization.

Additional limitations when using Streamlit in Snowflake

The following sections describe additional limitations when you are using Streamlit in Snowflake.

Data limits on Streamlit apps

Streamlit apps running in Streamlit in Snowflake and in a Snowflake Native App have a 32MB limit on the amount of data that can be retrieved from a single query. Queries that exceed 32MB throw the following error:

MessageSizeError: Data Size exceeds message limit

To avoid this limit, design your Streamlit apps to retrieve data in increments smaller than 32MB.

The Streamlit in Snowflake editor does not support stages with server-side encryption

The Streamlit in Snowflake editor does not support creating a STREAMLIT object from files on a named stage that uses server-side encryption. In this situation, Snowsight returns an error.

Limitation when using st.map and st.pydeck_chart in Streamlit in Snowflake

When using the st.map or 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 Third Party Terms.

Multi-page Streamlit apps

Multi-page Streamlit apps are supported with the following considerations:

  • Multi-page Streamlit apps can only be created by using SQL commands. See Creating a Streamlit app by using SQL.

  • Individual page URLs are not supported.

  • Files uploaded to the /pages directory are visible within the ROOT_LOCATION of the named stage.

Some Snowflake context functions return empty fields or NONE

Snowflake context functions that begin with CURRENT_ (CURRENT_*) return either empty fields or NONE when used in Streamlit in Snowflake.

Custom components are not supported

Custom components are not supported.

Integrated version control or CI/CD systems are not supported

Streamlit apps are not integrated with version control systems. App history or code changes are permanent and cannot be rolled back.

There is no integration with GitHub, GitLab, or other version control vendors.

App edits are viewable by app viewers

When a developer runs a Streamlit app while editing, the changes become live and are immediately available to app viewers.

Unsupported Streamlit features

The following Streamlit features are not supported in Streamlit in Snowflake:

Troubleshooting Streamlit in Snowflake

If the app displays an unknown error, try the solutions described in the following sections.

Firewall allowlisting

Each Streamlit app running in Streamlit in Snowflake uses a unique subdomain.

Ensure that *.snowflake.app is allowlisted in your network and able to connect to Snowflake. When this domain is allowlisted, your apps can communicate with Snowflake servers without any restrictions.

Note

Streamlit in Snowflake uses Websockets. You must ensure that WebSockets are not blocked in your network configuration.