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-3.0.2.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

una_django_cassandra_engine-3.0.2-py2-none-any.whl (36.2 kB view details)

Uploaded Python 2

File details

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

File metadata

File hashes

Hashes for una-django-cassandra-engine-3.0.2.tar.gz
Algorithm Hash digest
SHA256 7f8db0756b012da096352e4cbb64edb4f4dde01672391a69de79c6f311ce2b5d
MD5 31d8243a6da281910964bee6378c8aef
BLAKE2b-256 d5fd8baafbf8d14d589a4ed347b9f804e09ad85af62ba40035c3abdea9bc3906

See more details on using hashes here.

File details

Details for the file una_django_cassandra_engine-3.0.2-py2-none-any.whl.

File metadata

File hashes

Hashes for una_django_cassandra_engine-3.0.2-py2-none-any.whl
Algorithm Hash digest
SHA256 30343724b6e1a1ec81375397f336608eee6c3941b6faadb13474f209556a37b2
MD5 02219003d3259217b6d057b793cf6a05
BLAKE2b-256 10c6ef9651362d0c14c8c007f15b252ecb09f04d223d641128382d9fac108b7b

See more details on using hashes here.

Supported by

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