We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Gilberto Hernandez - Build & deploy a Snowflake Native Application using Python | PyData Global 2023
Learn how to build and deploy Snowflake Native Applications with Python & Streamlit. Covers security, deployment workflow, billing models, and distribution options.
-
Native Snowflake applications can be built using Streamlit for the frontend, with Python and SQL handling backend logic
-
Applications run entirely within Snowflake’s security perimeter, eliminating direct connections between consumer and provider accounts
-
Key components required:
- manifest.yaml for application metadata
- setup.sql for installation configuration
- Source code folder containing UI scripts and application logic
- Snowflake account with AWS as cloud provider
-
Reference usage concept enables providers to safely share proprietary data with consumers through the application package
-
Application deployment workflow:
- Create application package
- Upload source code to stage
- Add version
- Install application
- Map references to data objects
-
Billing models can be implemented through:
- One-time payments
- Usage-based billing
- Monthly subscription fees
- Query-based billing
-
Security features:
- Snowflake reviews all marketplace applications
- Consumers control data access permissions
- No direct access to provider data
- Role-based access controls
-
Future capabilities include:
- Snowpark Container Services integration
- LLM support
- Vector database functionality
- Hybrid table support
-
Apps can be distributed:
- Publicly on Snowflake Marketplace
- Within organization only
- To specific accounts
-
Development can be done using:
- Snowflake UI worksheets
- VS Code extension
- CLI tools