Hi everyone,
My colleague and I are working on a Streamlit app that visualizes California highway expansion projects where residential and business displacement occurred. The app is built around GeoPandas for geospatial processing, and we’re currently hosting it on Streamlit Community Cloud.
Link: https://homes-before-highways.streamlit.app/
We’d like to migrate the project to Snowflake so the app can run continuously rather than asleep when idle. However, we’re running into issues with GeoPandas compatibility on Snowflake. From what we can tell, GeoPandas (and some of its dependencies like Shapely, Fiona, GEOS, GDAL, etc.) aren’t supported in the Snowflake environment.
Our questions:
-
Is there any known way to use GeoPandas inside a Snowflake-based Streamlit app?
(e.g., Snowpark workarounds, custom packages, conda support, etc.) -
If GeoPandas truly isn’t supported, what are recommended alternatives for handling geospatial data?
-
Is there a Snowflake-native geospatial library that can replace our workflow?
-
Are there examples of Streamlit + Snowflake apps doing geospatial visualization without GeoPandas?
-
-
Would a hybrid approach work?
For example:-
Storing geospatial data in Snowflake
-
Doing transformations using Snowflake’s GEOGRAPHY / GEOMETRY types
-
Rendering maps in Streamlit without needing GeoPandas
-
-
Any best practices for migrating Community Cloud apps that rely on C-extension geospatial libraries?
Current Setup
-
Stack: Streamlit + GeoPandas + Shapely + PyProj
-
Hosting: Streamlit Community Cloud
-
Goal: Host permanently via Streamlit in Snowflake
-
Issue: Inability to install GeoPandas and its geospatial dependencies in Snowflake’s environment
Any guidance, examples, or workarounds would be incredibly appreciated!
Thanks so much for your help.