Skip to main content

Django Cassandra Engine - the Cassandra backend for Django

Project description

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

Latest version CI Donate

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

Plans (TODO)

  • User model stored in Cassandra (auth module)

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!

Documentation

The documentation can be found online here.

Donation

If this project help you reduce time to develop, you can give me a cup of coffee :)

Donate

License

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-cassandra-engine-1.5.5.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

django_cassandra_engine-1.5.5-py2-none-any.whl (38.8 kB view details)

Uploaded Python 2

File details

Details for the file django-cassandra-engine-1.5.5.tar.gz.

File metadata

File hashes

Hashes for django-cassandra-engine-1.5.5.tar.gz
Algorithm Hash digest
SHA256 8d0025f144df992f71643aa2ab968d0c121876170445c39dea2bb05a30f2073d
MD5 81624fe7b23848d4c0ab20684abe2804
BLAKE2b-256 8f7365eb1435e95eff569c6dc0f72fced0243e1bce94dc44dc7e3091d36143ca

See more details on using hashes here.

File details

Details for the file django_cassandra_engine-1.5.5-py2-none-any.whl.

File metadata

File hashes

Hashes for django_cassandra_engine-1.5.5-py2-none-any.whl
Algorithm Hash digest
SHA256 f2bf57ccef2e614729f287397b80303ee4a8b1c35dc6613064010d1fc1d18b75
MD5 e4637f4fe029fdc39e0907b739146eb6
BLAKE2b-256 ecbd056aa1385c6ee6cddfc68db0b89a148b8bd4640755150381b12e74146f35

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page