Develop Apps and Extensions

Write applications that extend Snowflake, act as a client, or act as an integrating component.


Run Python, Java, and Scala Code in Snowpark

Using Snowpark runtimes and libraries, you can securely deploy and process non-SQL code to build pipelines, ML models, and applications in Snowflake.


Enable all data users to bring their work to a single platform with native support for Python, Java, Scala, and more.


Apply consistent controls trusted by over 500 of the Forbes Global 2000 across all workloads.


Benefit from the Snowflake Data Cloud with super price/performance and near-zero maintenance.

Get to know Snowpark API

Snowpark is the set of libraries and runtimes in Snowflake that enable developers to securely process non-SQL code, including Python, Java, and Scala, without data movement in Snowflake’s elastic processing engine.

Code in Snowpark with multiple languages

Run custom Python, Java, or Scala code directly in Snowflake with Snowpark user-defined functions (UDFs) and stored procedures. There are no separate clusters to manage, scale, or operate.

from snowflake.snowpark import Session
from snowflake.snowpark.functions import col

# Create a new session, using the connection properties specified in a file.
new_session = Session.builder.configs(connection_parameters).create()

# Create a DataFrame that contains the id, name, and serial_number
# columns in the “sample_product_data” table.
df = session.table("sample_product_data").select(
col("id"), col("name"), col("name"), col("serial_number")

# Show the results


Build a Client App with Drivers and APIs

Integrate Snowflake operations into a client app. In addition to the Snowpark API, you can also use language and platform specific drivers.


Drivers allow you to connect from your code or apps to Snowflake. Using languages such as C#, Go, and Python, you can write applications that perform operations on Snowflake.


Using the Snowflake RESTful SQL API, you can access and update data over HTTPS and REST. For example, you can submit SQL statements, create and execute stored procedures, provision users, and so on.

In the SQL REST API, you submit a SQL statement for execution in the body of a POST request. You then check execution status and fetch results with GET requests.