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!

Features

  • integration with latest python-driver and optionally dse-driver from DataStax
  • 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

Installation

Recommended installation:

pip install django-cassandra-db==0.0.2

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!

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': 'db_name',
            'TEST_NAME': 'db_name',
            'USER': username,
            'PASSWORD': password,
            'OPTIONS': {
                'connection': {
                    'cloud': {
                        'secure_connect_bundle': '/path/to/secure/bundle.zip'
                    },
                }
            }
        }
    }

Metadata

Release files for django-cassandra-db 0.0.2

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

Source distribution (sdist)

Source distribution for django-cassandra-db 0.0.2
File Size Uploaded
django-cassandra-db-0.0.2.tar.gz 28.0 kB Details

Release files / django-cassandra-db-0.0.2.tar.gz

Download URL django-cassandra-db-0.0.2.tar.gz
Size 28.0 kB
Tags Source
SHA-256 checksum
How to use checksums
329b0697058ee3ddbb090ca7384f1e6d04a931b3b6e5988c610648d7a6af678b
BLAKE2b-256 checksum
How to use checksums
1698ddc76c7ced405d6e814b46018332b26d7924832d6e4ce3750ce049de8c7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.7

Release history Release notifications | RSS feed

This release

0.0.2 This release

1 release file

0.0.1

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