/
/
Python

Snowflake Python Connector

Read, write, and update Snowflake with Python

Easily connect Python-based data access, visualization, ORM, ETL, AI/ML, and custom apps with Snowflake!

Other Database Technologies
Decorative Icon Snowflake Logo
Claude
Claude
GitHub Copilot
Gemini
New
CData Drivers now work with AI Coding tools

Python Connector Libraries for Snowflake Data Connectivity. Integrate Snowflake with popular Python tools like Pandas, SQLAlchemy, Dash & petl. Easy-to-use Python Database API (DB-API) Modules connect Snowflake data with Python and any Python-based applications.

Features

SQL-92 access to Snowflake data warehouses
Connect to live Snowflake data, for real-time data access with the Snowflake JDBC Driver
Full support for data aggregation and complex JOINs in SQL queries
Secure connectivity through modern cryptography, including TLS 1.2, SHA-256, ECC, etc.
Seamless integration with leading BI, reporting, and ETL tools and with custom applications via the Snowflake Connector.

Specifications

Python Database API (DB-API) Modules for Snowflake with bi-directional access.
Write SQL, get Snowflake data. Access Snowflake through standard Python Database Connectivity.
Integration with popular Python tools like Pandas, SQLAlchemy, Dash & petl.
An easy-to-use interface for working with data from Snowflake data warehouse.
Full Unicode support for data, parameter, & metadata.

CData Python connectors in action!

Watch the video overview for a first hand-look at the powerful data integration capabilities included in the CData Python Connectors.

Watch the Python Connector Video Overview

Python connectivity with Snowflake

Full-featured and consistent SQL access to any supported data source through Python


Connecting to Snowflake with Python

CData Python Connectors leverage the Database API (DB-API) interface to make it easy to work with Snowflake from a wide range of standard Python data tools. Connecting to and working with your data in Python follows a basic pattern, regardless of data source:

  • Configure the connection properties to Snowflake
  • Query Snowflake to retrieve or update data
  • Connect your Snowflake data with Python data tools.


Connecting to Snowflake in Python

To connect to your data from Python, import the extension and create a connection:

Once you import the extension, you can work with all of your enterprise data using the python modules and toolkits that you already know and love, quickly building apps that help you drive business.

import cdata.snowflake as mod
conn = mod.connect("[email protected]; Password=password;")

#Create cursor and iterate over results
cur = conn.cursor()
cur.execute("SELECT * FROM Data")
	
rs = cur.fetchall()
	
for row in rs:
print(row)
		
engine = create_engine("snowflake///Password=password&User=user")

df = pandas.read_sql("SELECT * FROM Data", engine)

df.plot()
plt.show()

Visualize Snowflake Data with pandas

The data-centric interfaces of the Snowflake Python Connector make it easy to integrate with popular tools like pandas and SQLAlchemy to visualize data in real-time.

More than read-only: full update/CRUD support

Snowflake Connector goes beyond read-only functionality to deliver full support for Create, Read Update, and Delete operations (CRUD). Your end-users can interact with the data presented by the Snowflake Connector as easily as interacting with a database table.

AI-assisted development with CData CLI

Build Snowflake integrations faster with AI that understands your schema

Schema-aware AI

CData CLI gives AI coding tools access to your Snowflake schema. No more guessing table names or column types—AI sees the same metadata in your Python Connectors.

Your AI Knows SQL

How to find table names, column names, and how to generate SQL syntax are things that AI knows well from millions of training data. No need for customization, no hallucinations. Your AI acts like a domain specialist to Snowflake.

More Accurate, More Token-Efficient

With CData CLI's queryable schema detection and highly efficient queries with filters, aggregation, joins with correct pushdown, your AI will achieve more accuracy with less token usage.

Supported AI Coding Tools
Download CData CLI