skillfed

django-snowflake

Django backend for Snowflake

django-snowflake v6.0 169.1K downloads/30d#10,428 on PyPI84
Permissive license MIT License Active released

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

Provides a Django database backend that connects Django ORM to Snowflake, allowing you to use Snowflake as your primary database for Django applications.

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

pip

pip install django-snowflake

uv

uv add django-snowflake

poetry

poetry add django-snowflake

Installing django-snowflake

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.

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',
    }
}

Requires Python 3.12 or later and a Snowflake account with valid credentials (account, user, password, database, schema, warehouse).

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 — django, snowflake-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)

Evidence: django_snowflake-6.0-py3-none-any.whl

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

Tags

django snowflake database backenddjango orm snowflake connectorsnowflake django integrationdjango database engine snowflakesnowflake python djangodjango snowflake adapter
orm-adapterdata-warehouse

More Front-Ends packages