Skip to content

harshrajsinha/snowflakeclient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snowflake Workbench

A Streamlit-based Snowflake client that behaves like a lightweight DBeaver-style workbench:

  • Saves reusable Snowflake connection profiles
  • Connects to Snowflake with a PAT token
  • Browses databases, schemas, tables, and views
  • Runs multi-statement SQL
  • Shows result grids and query history
  • Describes objects, previews table data, and fetches DDL
  • Exports result sets to CSV

Why PAT auth is implemented this way

Snowflake's current documentation shows that a programmatic access token is used as the password when connecting with the Python connector. This app follows that model.

Run locally

  1. Create and activate a virtual environment.

  2. Install dependencies:

    pip install -r requirements.txt
  3. Start the app:

    streamlit run app.py
  4. In the sidebar, enter:

  • Click New Snowflake Connection
  • Save the Snowflake account identifier, user, PAT token, and optional warehouse/role/database/schema/host
  • Select the saved connection from the connection dropdown
  • Use the database, schema, and table selectors in the explorer

Optional environment variables

You can prefill the connection form with:

  • SNOWFLAKE_ACCOUNT
  • SNOWFLAKE_USER
  • SNOWFLAKE_WAREHOUSE
  • SNOWFLAKE_ROLE
  • SNOWFLAKE_DATABASE
  • SNOWFLAKE_SCHEMA
  • SNOWFLAKE_HOST

Notes

  • PAT support depends on Snowflake account-side enablement and token issuance.
  • Saved connection profiles are stored locally in .streamlit/snowflake_connections.json.
  • The app intentionally keeps the UI focused on query workbench flows rather than cloning every DBeaver feature.
  • The PAT input is masked in the modal. Saved profiles include the PAT in the local JSON file so the profile can reconnect without re-entry.

About

Snowflake Client for connect using PAT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages