Daanalytics

My First Streamlit app on Snowflake

Last week I followed a Python Essentials course at The School of Data Science in The Hague. At a certain point we discussed Streamlit. This open-source framework could be a potential Power BI killer when it comes to visualising data and interacting with data. Interesting enough to check it out. It became even more interesting when I saw the following announcement the next day; Snowflake to Acquire Streamlit.

Before I will dive into the possibilities of Snowflake and Streamlit, I thought I would try out an easy example. Therefore I followed two examples from Snowflake and Streamlit and combined it to one example.

  1. Getting started with Python – link
  2. Connect Streamlit to Snowflake – link

Setting up

First I had to make sure that I could use Python and Streamlit in combination with Snowflake. I have Anaconda installed on my local machine. Within Anaconda I have made a separate environment to check work this example out. In this environment I installed Streamlit and the Snowflake Connector for Python.

In combination with my Snowflake-account all should be in place to get things going.

Getting Started with Python

Following the Getting started with Python-guide, I’ll make sure I can interact with Snowflake from Python. First I have to validate whether the connection from Python with Snowflake can be made. In the QuickStart you can see that the credentials are visible in the .py-file.

ctx = snowflake.connector.connect( user='<your_user_name>’, password='<your_password>’, account='<your_account_name>’ )

If you do not want that, there is an alternative solution with a separate file for the credentials and a reference to that file in the .py-file. I created a short example.

  1. Credentials
  2. Validate

In the Credentials-file you can register the various components necassary to connect to Snowflake:

  • account (mandatory)
  • user (mandatory)
  • warehouse
  • role
  • database
  • schema
  • password (mandatory)

From within the Validate-file you can reference the Credentials-file. First you specify the location of the the Credentials-file. Then you make sure that the Validate-file can read from the Credentials-file. Then you create several variables (at least, username, password and account) with the information specified in the the Credentials-file.

If you use this setup and you use version control like Git, make sure to put the credentials file in .gitignore.

Creating my first Streamlit App

In Github I uploaded my first Streamlit App. It’s nothing more than a Python-script which consists of a few blocks:

  • Setting up the connection to Snowflake
  • Creating Snowflake-objects
  • Loading Data
  • Doing the Streamlit-magic

Finally running the Python-script; streamlit run <path to Python-file>

Made with Streamlit

The end result of my first Streamlit app is a non-interactive web application. Just to see how easy it is to connect Python and Streamlit to Snowflake. In a following blogpost, I will find out how easy it is to make an interactive web application in Streamlit.

Thanks for reading and till next time.

Daan Bakboord – DaAnalytics

Bekijk ook:

Why didn't we see this coming?

Why didn’t we see this coming?

Early this month I attended the two days International Master Class in Strategic Intelligence executed by Rodenberg Tillman & Associates. If you’re really determined to move beyond simply gathering data and truly understand its strategic impact, this Master Class is designed for you. The Master Class is built around the Six Building Blocks™, ensuring comprehensive coverage of the critical aspects of Strategic Management and Intelligence. It’s perfect for business professionals who aim to excel by integrating Strategic Intelligence into their everyday practices, gaining the insights necessary to not only anticipate, but shape the future.

Lees verder »
Amsterdam User Group Meeting October 2024

Snowflake Dutch User Group – October 2024

Last night I had the privilege to organize a Snowflake ❄️ User Group in Snowflake’s Amsterdam Office.

Johan van der Kooij shared his experiences regarding optimizing Snowflake from a cost & performance perspective. He shared practical hints, as well as example queries, that you can use to optimize your Snowflake environment.

Lees verder »
Snowflake Data Cloud Summit - Wrap Up

Snowflake Snowflake Data Cloud Summit — Wrap Up

Snowflake Data Cloud Summit proved that after all this years the core idea remains the same and is still strong. Technology should serve and Snowflake makes things simple. One Single Unified Platform, one product and one engine. Ease of use and Govenance. Maximum efficiency and maximum simplicity.

Bring the processing of data to the data instead of the other way around. Snowflake as a Platform where you build and share your Data, Apps and AI Products. Your data never has to leave the Platform and Snowflake takes care of this Platform.

Lees verder »