snowpark-connect
Snowpark Connect for Spark
What it is and what it does
Snowpark Connect for Spark bridges PySpark and Snowflake by implementing the Spark Connect protocol, allowing you to write familiar PySpark code that executes remotely on Snowflake's infrastructure rather than a local or managed Spark cluster. This decoupling means you can leverage Snowflake's governance, security, and scalability without the operational overhead of cluster management. The package supports pushdown optimizations, meaning queries are translated and executed natively in Snowflake where possible.
The package is built on a large dependency stack including jpype1 (for Java interop), py4j (Spark's Python-Java bridge), pandas and pyarrow (for data interchange), and gRPC components (for the Connect protocol). It requires Python >=3.10 and <3.13 and is actively maintained. Installation is straightforward via pip, though the dependency tree is substantial.
Use it for:
- Migrate existing PySpark jobs to Snowflake without rewriting code, using Spark Connect as the execution bridge.
- Build data pipelines that combine Snowflake's native SQL performance with PySpark's data transformation flexibility.
- Eliminate Spark cluster provisioning and management overhead by offloading compute to Snowflake's managed infrastructure.
- Integrate Snowflake governance and security policies into Spark-based ETL workflows without separate cluster authentication.
- Prototype and test Spark workloads against Snowflake without standing up a dedicated Spark environment.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Snowpark Connect for Spark lets you run Spark workloads directly against Snowflake's compute engine using the Spark Connect protocol, without managing a separate Spark cluster.
Yes, if you have Snowflake infrastructure and want to run PySpark workloads against it without managing a Spark cluster. The package is actively maintained, has no known vulnerabilities, and carries a permissive license. The substantial dependency footprint (21 runtime packages) is a trade-off for full Spark Connect support; verify that your Python version and platform are compatible with jpype1 before installing.
Install
snowpark-connect on PyPI
pip
pip install snowpark-connectuv
uv add snowpark-connectpoetry
poetry add snowpark-connectInstalling snowpark-connect
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance as of 2026-08-13. The package carries 21 runtime dependencies including substantial stacks (jpype1, py4j, pandas, pyarrow, grpcio), so installation will pull a large dependency tree.
License in practice
Licensed under Apache License, Version 2.0 (permissive). You can use, modify, and distribute this package freely in commercial and private projects, subject to license attribution.
Quickstart
pip install snowpark-connect
from snowpark.connect import Session
session = Session.builder.configs({...}).create()
Requires Python >=3.10 and <3.13. Snowflake credentials and connectivity are required to establish a session.
Verify before relying
- Whether the 21 runtime dependencies have known compatibility issues on specific platforms.
- Whether Spark Connect protocol support is feature-complete or if certain PySpark operations are not yet pushable to Snowflake.
- Performance characteristics and optimization details for typical workloads compared to traditional Spark clusters.
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | capped below the current Python release (<3.13,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 21 — snowpark-connect-deps-1, snowpark-connect-deps-2, certifi, cloudpickle, fsspec, jpype1, protobuf, s3fs, snowflake.core, snowflake-snowpark-python, snowflake-connector-python, sqlglot, aiobotocore, py4j, pandas, pyarrow, grpcio, grpcio-status, googleapis-common-protos, numpy, gcsfs |
| Maintenance | actively maintained — 1 days since the last release |
| First released | |
| Downloads | 135,958/month — #11,412 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: snowpark_connect-1.38.0-py3-none-any.whl
Keywords: snowflake, snowpark, connect, spark
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
snowpark-connect-deps-1Bundles Apache Spark 3.5.6 JAR files required…
permissive · top 15,000 on PyPI
snowflake-cliSnowflake CLI is a command-line tool for…
permissive · top 5,000 on PyPI
pyspark-clientPython client for connecting to Apache Spark…
permissive · top 5,000 on PyPI
snowpark-connect-deps-2Provides JAR dependencies for Snowpark Connect,…
permissive · top 15,000 on PyPI
pysparkPySpark provides Python bindings to Apache…
permissive · top 1,000 on PyPI
streamsetsA Python SDK for programmatically interacting…
unclear · top 15,000 on PyPI
databricks-connectDatabricks Connect is a client library that…
unclear · top 5,000 on PyPI
snowflakeUnified Python API for Snowflake workloads,…
permissive · top 5,000 on PyPI
joblibsparkRegisters Apache Spark as a distributed backend…
permissive · top 15,000 on PyPI