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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for una-django-cassandra-engine-3.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f8db0756b012da096352e4cbb64edb4f4dde01672391a69de79c6f311ce2b5d |
|
MD5 | 31d8243a6da281910964bee6378c8aef |
|
BLAKE2b-256 | d5fd8baafbf8d14d589a4ed347b9f804e09ad85af62ba40035c3abdea9bc3906 |
Close
Hashes for una_django_cassandra_engine-3.0.2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30343724b6e1a1ec81375397f336608eee6c3941b6faadb13474f209556a37b2 |
|
MD5 | 02219003d3259217b6d057b793cf6a05 |
|
BLAKE2b-256 | 10c6ef9651362d0c14c8c007f15b252ecb09f04d223d641128382d9fac108b7b |