snowflake-cli
Snowflake CLI
What it is and what it does
Snowflake CLI is a developer-focused command-line interface that bridges local development workflows with Snowflake's cloud data platform. It lets you build, test, and deploy applications directly from your terminal—including Streamlit apps running on Snowflake, native apps built with Snowflake's framework, Snowpark Container Services, and traditional SQL operations. The tool is designed around modern development practices and integrates with version control (via gitpython), configuration management (YAML, TOML), and templating (Jinja2).
The package pulls in a substantial dependency tree: Snowflake's own connector and Snowpark libraries, CLI frameworks (click, typer), configuration tools (pydantic, python-dotenv), and utilities for parsing and rendering (requirements-parser, rich). It runs on Python 3.10 through 3.13 and is actively maintained by Snowflake, with recent releases and community contribution pathways. The tool is positioned for developers who want to manage Snowflake workloads from the command line rather than through the web console.
Use it for:
- Deploy and manage Streamlit applications running on Snowflake without leaving your terminal.
- Create and update Snowflake Native Apps using a local development workflow with version control.
- Define and test user-defined functions and stored procedures before deploying to Snowflake.
- Execute SQL scripts and manage Snowflake objects (databases, schemas, tables) via CLI commands.
- Orchestrate Snowpark Container Services deployments as part of a CI/CD pipeline.
- Manage Snowflake configuration and secrets locally using environment files and YAML/TOML configs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Snowflake CLI is a command-line tool for developers to create, manage, and deploy applications on Snowflake, including Streamlit apps, native apps, Snowpark services, and SQL operations.
Yes. Snowflake CLI is actively maintained, permissively licensed, has no known vulnerabilities, and installs cleanly. It is the official tool for developer-centric Snowflake workflows and is worth installing if you work with Snowflake apps, Streamlit, or Snowpark. The substantial dependency footprint is justified by its integration with Snowflake's ecosystem. Install it in an isolated environment (uv tool install or a virtual environment) to avoid conflicts.
Install
snowflake-cli on PyPI
pip
pip install snowflake-cliuv
uv add snowflake-clipoetry
poetry add snowflake-cliInstalling snowflake-cli
Before you install
Installs cleanly with low friction; the package is actively maintained with a release 8 days old and carries 23 runtime dependencies including snowflake-connector-python and snowflake-snowpark-python. Requires Python >= 3.10.
License in practice
Licensed under Apache License 2.0, a permissive open-source license that allows commercial use, modification, and distribution with minimal restrictions—suitable for most development workflows.
Quickstart
pip install snowflake-cli
snow --help
Requires Python >= 3.10; Snowflake account credentials must be configured (typically via environment variables or config file) to execute commands.
Verify before relying
- Whether the CLI supports all Snowflake features mentioned (Streamlit, Native App Framework, Snowpark Container Services) equally or if some are in preview/beta.
- Performance characteristics and typical latency for common operations like app deployment or SQL execution.
- Whether all 23 runtime dependencies are required for basic usage or if some are optional for specific workloads.
Package facts
| License | Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 23 — click, gitpython, id, jinja2, packaging, pip, pluggy, prompt-toolkit, protobuf, pydantic, python-dotenv, pyyaml, requests, requirements-parser, rich, setuptools, snowflake-connector-python, snowflake-core, snowflake-snowpark-python, tomlkit, typer, urllib3, websocket-client |
| Maintenance | actively maintained — 8 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,091,895/month — #4,378 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: snowflake_cli-3.24.1-py3-none-any.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
snowflake-cli-labsThis package has been renamed and is now a…
permissive · top 15,000 on PyPI
snowpark-connectSnowpark Connect for Spark lets you run Spark…
permissive · top 15,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
snowflakeUnified Python API for Snowflake workloads,…
permissive · top 5,000 on PyPI
fakesnowRuns a fake Snowflake database locally for…
permissive · top 5,000 on PyPI
meltanolabs-target-snowflakeA Singer target that loads data into Snowflake…
permissive · top 15,000 on PyPI
snowflake-idGenerates and parses Snowflake IDs, distributed…
permissive · top 15,000 on PyPI
snowflake-telemetry-pythonEmits telemetry data from Python UDFs, UDTFs,…
permissive · top 15,000 on PyPI
django-snowflakeProvides a Django database backend that…
permissive · top 15,000 on PyPI
datacontract-cliA CLI tool for defining, validating, and…
permissive · top 5,000 on PyPI