Skip to main content

Django Cassandra Engine - the Cassandra backend for Django

All tools you need to start your journey with Apache Cassandra and Django Framework!

Latest version workflow

Discord: https://discord.gg/pxunMGmDNc

Features

  • integration with latest python-driver and optionally dse-driver from DataStax
  • full compatibility with ScyllaDB using scylla-driver
  • working flush, migrate, sync_cassandra, inspectdb and dbshell commands
  • support for creating/destroying test database
  • accepts all Cqlengine and cassandra.cluster.Cluster connection options
  • automatic connection/disconnection handling
  • works well along with relational databases (as secondary DB)
  • storing sessions in Cassandra
  • working django forms
  • usable admin panel with Cassandra models
  • support DataStax Astra cloud hosted Cassandra

Sponsors

Help support ongoing development and maintenance by sponsoring Django Cassandra Engine.

Our Sponsors:

Astra DB
Astra DB

Use Django with DataStax Astra DB - built on Apache Cassandra.
NoiSek
NoiSek

Installation

Recommended installation:

pip install django-cassandra-engine

Basic Usage

  1. Add django_cassandra_engine to INSTALLED_APPS in your settings.py file:

     INSTALLED_APPS = ('django_cassandra_engine',) + INSTALLED_APPS
    
  2. Change DATABASES setting:

     DATABASES = {
         'default': {
             'ENGINE': 'django_cassandra_engine',
             'NAME': 'db',
             'TEST_NAME': 'test_db',
             'HOST': 'db1.example.com,db2.example.com',
             'OPTIONS': {
                 'replication': {
                     'strategy_class': 'SimpleStrategy',
                     'replication_factor': 1
                 }
             }
         }
     }
    
  3. Define some model:

     # myapp/models.py
    
     import uuid
     from cassandra.cqlengine import columns
     from django_cassandra_engine.models import DjangoCassandraModel
    
     class ExampleModel(DjangoCassandraModel):
         example_id    = columns.UUID(primary_key=True, default=uuid.uuid4)
         example_type  = columns.Integer(index=True)
         created_at    = columns.DateTime()
         description   = columns.Text(required=False)
    
  4. Run ./manage.py sync_cassandra

  5. Done!

ScyllaDB Support

Django Cassandra Engine has full support for ScyllaDB. The package uses scylla-driver, which is ScyllaDB's optimized fork of the DataStax Python driver.

ScyllaDB is a high-performance NoSQL database that is API-compatible with Apache Cassandra. To use Django Cassandra Engine with ScyllaDB, simply configure your database settings to point to your ScyllaDB instance:

    DATABASES = {
        'default': {
            'ENGINE': 'django_cassandra_engine',
            'NAME': 'db',
            'TEST_NAME': 'test_db',
            'HOST': 'scylla-host.example.com',
            'OPTIONS': {
                'replication': {
                    'strategy_class': 'SimpleStrategy',
                    'replication_factor': 1
                }
            }
        }
    }

All features of Django Cassandra Engine work seamlessly with ScyllaDB, including migrations, model operations, and test database management.

Connect to Cassandra with a Cloud Config bundle

To connect to a hosted Cassandra cluster that provides a secure connection bundle (ex. DataStax Astra) change the DATABASES setting of your settings.py:

    DATABASES = {
        'default': {
            'ENGINE': 'django_cassandra_engine',
            'NAME': 'keyspace_name',
            'TEST_NAME': 'table_name',
            'USER': 'token',
            'PASSWORD': token_value,
            'OPTIONS': {
                'connection': {
                    'cloud': {
                        'secure_connect_bundle': '/path/to/secure/bundle.zip'
                    },
                }
            }
        }
    }

Documentation

The documentation can be found online here.

License

Copyright (c) 2014-2024, Rafał Furmański.

All rights reserved. Licensed under BSD 2-Clause License.

Metadata

Release files for django-cassandra-engine 1.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for django-cassandra-engine 1.11.0
File Interpreter ABI Platform
django_cassandra_engine-1.11.0-py3-none-any.whl Python 3 none any Details

Release files / django_cassandra_engine-1.11.0-py3-none-any.whl

Download URL django_cassandra_engine-1.11.0-py3-none-any.whl
Size 37.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2453196a9efb24f3d318847def71d9b78283c7e7a389205667b13593ba87187a
BLAKE2b-256 checksum
How to use checksums
0e32fb2fb0581180ecbc66099769f2b6b3b557f079287398cb4915271c77359b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.16

Release history Release notifications | RSS feed

This release

1.11.0 This release

1 release file

1.10.0

1 release file

1.9.0

1 release file

1.8.0

1 release file

1.7.0

2 release files

1.6.3

1 release file

1.6.2

1 release file

1.6.1

2 release files

1.6.0

1 release file

1.5.5

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.4

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.6

1 release file

0.6.5

1 release file

0.6.4

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page