Intermediate

Streamlit in Snowflake

Build and deploy interactive data applications directly inside Snowflake using Python and Streamlit, with no infrastructure management required.

What is Streamlit in Snowflake?

Streamlit in Snowflake (SiS) lets you build interactive web applications that run natively inside your Snowflake account. Apps have direct access to Snowflake data through Snowpark, and inherit Snowflake's security and governance controls.

💡
No infrastructure needed: Streamlit apps run on Snowflake's managed compute. There's no server to provision, no deployment pipeline to configure, and no external hosting to manage. Just write Python and click deploy.

Building a Streamlit App

Streamlit in Snowflake Example
import streamlit as st
from snowflake.snowpark.context import get_active_session

# Get Snowflake session (automatic in SiS)
session = get_active_session()

st.title("Sales Dashboard")

# Query data using Snowpark
df = session.sql("""
    SELECT region, product, SUM(revenue) as total_revenue
    FROM sales_data
    WHERE year = 2026
    GROUP BY region, product
""").to_pandas()

# Interactive filters
region = st.selectbox("Select Region", df["REGION"].unique())
filtered = df[df["REGION"] == region]

# Visualization
st.bar_chart(filtered.set_index("PRODUCT")["TOTAL_REVENUE"])
st.dataframe(filtered)

Key Features

FeatureDescription
Native data accessDirect Snowpark session — query any table you have access to
Role-based accessApps run with the viewer's Snowflake role, enforcing data policies
SharingShare apps with other Snowflake users or via Snowflake Marketplace
Python packagesAccess to curated Python packages from Snowflake's Anaconda channel
Git integrationDevelop apps in Git repos and deploy to Snowflake

Common Use Cases

  • Data exploration: Interactive dashboards for business users to explore data without SQL
  • ML model interaction: Build UIs for ML model predictions, input forms, and result visualization
  • AI chatbots: Combine Streamlit with Cortex AI for internal knowledge base chat applications
  • Data quality: Monitoring dashboards for data pipeline health and quality metrics
  • Admin tools: Internal tools for data governance, access management, and cost monitoring
Key takeaway: Streamlit in Snowflake is the fastest way to build data applications on Snowflake. It eliminates the gap between data analysis and application delivery, letting data teams build and deploy interactive apps in minutes.