django-snowflake
Django backend for Snowflake
Decision gist · record as of 2026-08-14
Yes, if you need Django ORM support for Snowflake and can work within its documented limitations. The backend is production-stable, actively maintained, and has low install friction. However, avoid it for high-concurrency web applications due to race conditions in ID retrieval, and be aware of constraints around JSONField queries, interval math, and subquery support. For single-user or batch-oriented workloads, it is a solid choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.12 or later and a Snowflake account with valid credentials (account, user, password, database, schema, warehouse).
- Low install friction; pure Python wheel.
- Actively maintained with a recent commit on 2026-08-14 and production-stable status.
License · maintenance · safety
MIT License (permissive) — MIT License permits commercial and private use with minimal restrictions, making it suitable for most projects without licensing concerns.
last release 2025-12-06 (251 days) · last repo commit 2026-08-14 · 84 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 169,082 downloads/mo, #10,428 on PyPI
Alternatives
Verify before relying
pip install django-snowflake==6.0.*
# In Django settings.py:
DATABASES = {
'default': {
'ENGINE': 'django_snowflake',
'NAME': 'MY_DATABASE',
'SCHEMA': 'MY_SCHEMA',
'WAREHOUSE': 'MY_WAREHOUSE',
'USER': 'my_user',
'PASSWORD': 'my_password',
'ACCOUNT': 'my_account',
}
}- Whether concurrent object creation in web apps is truly problematic given the race condition in last_insert_id retrieval, or if this is only an issue at high concurrency levels.
- How well JSONField queries work in practice beyond the documented VARIANT support limitation.
- Performance characteristics compared to other Snowflake database adapters or direct connector usage.
What it is and what it does
django-snowflake is a Django database backend that translates Django ORM queries into Snowflake SQL, allowing you to use Snowflake as your application database without writing raw SQL. It handles the connection setup, query translation, and result mapping between Django's ORM layer and Snowflake's SQL dialect.
The backend supports most standard Django model operations but has notable limitations due to Snowflake's SQL capabilities: it does not enforce foreign key or unique constraints (Django manages them instead), ignores index definitions, and has limited subquery support. Concurrent object creation can cause race conditions in ID retrieval, making it less suitable for high-concurrency web applications. JSONField queries have limitations due to the connector's VARIANT support, and interval math with columns or null intervals is not supported.
Use it for
- Build Django applications backed by Snowflake for analytics workloads or data warehouse use cases.
- Migrate an existing Django application from PostgreSQL or MySQL to Snowflake with minimal ORM code changes.
- Use Django's admin interface and ORM with Snowflake as the backend for internal tools or dashboards.
- Prototype or develop applications against Snowflake without writing raw SQL or using lower-level connectors.
- Manage Snowflake tables and schemas using Django migrations and model definitions.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need Django ORM support for Snowflake and can work within its documented limitations.
The backend is production-stable, actively maintained, and has low install friction. However, avoid it for high-concurrency web applications due to race conditions in ID retrieval, and be aware of constraints around JSONField queries, interval math, and subquery support. For single-user or batch-oriented workloads, it is a solid choice.
Install
django-snowflake on PyPI
Before you install
Low install friction; pure Python wheel. Actively maintained with a recent commit on 2026-08-14 and production-stable status. Requires Django and snowflake-connector-python as runtime dependencies.
Requires Python 3.12 or later and a Snowflake account with valid credentials (account, user, password, database, schema, warehouse).
License in practice
MIT License permits commercial and private use with minimal restrictions, making it suitable for most projects without licensing concerns.
Quickstart
pip install django-snowflake==6.0.*
# In Django settings.py:
DATABASES = {
'default': {
'ENGINE': 'django_snowflake',
'NAME': 'MY_DATABASE',
'SCHEMA': 'MY_SCHEMA',
'WAREHOUSE': 'MY_WAREHOUSE',
'USER': 'my_user',
'PASSWORD': 'my_password',
'ACCOUNT': 'my_account',
}
}
Verify before relying
- Whether concurrent object creation in web apps is truly problematic given the race condition in last_insert_id retrieval, or if this is only an issue at high concurrency levels.
- How well JSONField queries work in practice beyond the documented VARIANT support limitation.
- Performance characteristics compared to other Snowflake database adapters or direct connector usage.
Package facts
| License | MIT License permissive |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesdjangosnowflake-connector-python |
| Maintenance | Actively maintained 251 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 169,082 / month, #10,428 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: DjangoFramework :: Django :: 6.0License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: django_snowflake-6.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django snowflake database backend”
- django-snowflakeProvides a Django database backend that connects Django ORM to…
- fakesnowRuns a fake Snowflake database locally for testing, either by…
- adbc-driver-snowflakeProvides a DBAPI 2.0-compatible interface to Snowflake via the ADBC…
Give your agent the search over MCP, or paste the wish link into any chat.
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM) that provides both a high-level ORM layer for declarative object persistence and a Core SQL construction system for direct database abstraction and query building.
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Alembic generates and manages database schema migrations for SQLAlchemy applications, handling version control of database structure changes with support for upgrades, downgrades, and auto-generation from model changes.
Install it if you use SQLAlchemy and need to version-control schema changes; skip it only if you manage migrations manually or use a different ORM entirely.
A Python client library for connecting to and querying Weaviate, a vector database that enables semantic search and AI-powered data retrieval.
A Python client library that connects to Databricks clusters and SQL warehouses using a Thrift-based protocol, conforming to the Python DB API 2.0 specification and supporting Arrow-based data exchange.
Install it if you need to query Databricks clusters or SQL warehouses from Python.
Psycopg 3 is a PostgreSQL database adapter for Python that enables applications to connect to, query, and manage PostgreSQL databases using Python code.
Install it if you need to connect Python to PostgreSQL.
See also fakesnow · snowflake-sqlalchemy · snowflake-connector-python · snowflake.core · mssql-django · dj-database-url · djongo · django-clickhouse-backend · dbt-snowflake · snowflake-cli