Skip to main content

Django Cassandra Engine - the Cassandra backend for Django

Project description

# Django Cassandra Engine - the Cassandra backend for Django #

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

[![Latest version](https://img.shields.io/pypi/v/django-cassandra-engine.svg "Latest version")](https://pypi.python.org/pypi/django-cassandra-engine/)
[![Downloads](https://img.shields.io/pypi/dm/django-cassandra-engine.svg "Downloads")](https://pypi.python.org/pypi/django-cassandra-engine/)
[![CI](https://api.travis-ci.org/r4fek/django-cassandra-engine.svg?branch=master "CI")](https://travis-ci.org/r4fek/django-cassandra-engine)
[![Code climate](https://codeclimate.com/github/r4fek/django-cassandra-engine/badges/gpa.svg "Code climate")](https://codeclimate.com/github/r4fek/django-cassandra-engine)

## Features ##

* integration with latest `python-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 (NEW!)

## Plans (TODO) ##

* User model stored in Cassandra (auth module)
* Admin panel for Cassandra models
* Forms

## 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 cassandra.cqlengine.models import Model

class ExampleModel(Model):
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](http://r4fek.github.io/django-cassandra-engine/).

## License ##
Copyright (c) 2014-2016, [Rafał Furmański](https://rafal-furmanski.com).

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

una-django-cassandra-engine-5.0.15.tar.gz (26.3 kB view details)

Uploaded Source

File details

Details for the file una-django-cassandra-engine-5.0.15.tar.gz.

File metadata

File hashes

Hashes for una-django-cassandra-engine-5.0.15.tar.gz
Algorithm Hash digest
SHA256 adee01fc3bba79abad7c50e51f6cbc5d1d2be044db47f09d03372e9c6067e064
MD5 50be07c4243a354cc7233985ed196972
BLAKE2b-256 c4d9fcd0ac72de6a6f1ad2efa8a710d897cba12d396ec72e73fc9d0bbf04ef6f

See more details on using hashes here.

Supported by

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