django-cassandra-engine


Namedjango-cassandra-engine JSON
Version 1.9.0 PyPI version JSON
download
home_pagehttps://github.com/r4fek/django-cassandra-engine
SummaryDjango Cassandra Engine
upload_time2024-03-17 19:16:31
maintainer
docs_urlNone
authorRafał Furmański
requires_python>=3.8,<4.0
license2-clause BSD
keywords django cassandra engine backend driver wrapper database nonrel cqlengine
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 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/)
![workflow](https://github.com/r4fek/django-cassandra-engine/actions/workflows/tox.yml/badge.svg)

Discord: https://discord.gg/pxunMGmDNc
## 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

## Sponsors ##
Help support ongoing development and maintenance by [sponsoring Django Cassandra Engine](https://github.com/sponsors/r4fek).

### Our Sponsors: ###
<table><tr>
<td align="center" width="300" ><a href="https://astra.dev/3xPljcu"><img src="https://www.datastax.com/sites/default/files/2021-07/astra-negative-square.png" width="90" height="90" alt="Astra DB" /><br />Astra DB</a><br/>Use Django with DataStax Astra DB - built on Apache Cassandra.</td>
<td align="center" width="300" ><a href="https://github.com/NoiSek"><img src="https://avatars.githubusercontent.com/u/631328?v=4" width="90" height="90" alt="NoiSek" /><br/>NoiSek</a></td>
</tr></table>


## 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!

## 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': 'keyspace_name',
                'TEST_NAME': 'table_name',
                'USER': 'token',
                'PASSWORD': token_value,
                'OPTIONS': {
                    'connection': {
                        'cloud': {
                            'secure_connect_bundle': '/path/to/secure/bundle.zip'
                        },
                    }
                }
            }
        }

## Documentation ##

The documentation can be found online [here](http://r4fek.github.io/django-cassandra-engine/).

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

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


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/r4fek/django-cassandra-engine",
    "name": "django-cassandra-engine",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "django,cassandra,engine,backend,driver,wrapper,database,nonrel,cqlengine",
    "author": "Rafa\u0142 Furma\u0144ski",
    "author_email": "r.furmanski@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/2b/0e/d07ffcacd25141cfde2bab2ad080461dd60e2cca0d84c474f8e56be61b2e/django_cassandra_engine-1.9.0.tar.gz",
    "platform": null,
    "description": "\n# Django Cassandra Engine - the Cassandra backend for Django #\n\nAll tools you need to start your journey with Apache Cassandra and Django Framework!\n\n[![Latest version](https://img.shields.io/pypi/v/django-cassandra-engine.svg \"Latest version\")](https://pypi.python.org/pypi/django-cassandra-engine/)\n![workflow](https://github.com/r4fek/django-cassandra-engine/actions/workflows/tox.yml/badge.svg)\n\nDiscord: https://discord.gg/pxunMGmDNc\n## Features ##\n\n* integration with latest `python-driver` and optionally `dse-driver` from DataStax\n* working `flush`, `migrate`, `sync_cassandra`, `inspectdb` and\n  `dbshell` commands\n* support for creating/destroying test database\n* accepts all `Cqlengine` and `cassandra.cluster.Cluster` connection options\n* automatic connection/disconnection handling\n* works well along with relational databases (as secondary DB)\n* storing sessions in Cassandra\n* working django forms\n* usable admin panel with Cassandra models\n* support DataStax Astra cloud hosted Cassandra\n\n## Sponsors ##\nHelp support ongoing development and maintenance by [sponsoring Django Cassandra Engine](https://github.com/sponsors/r4fek).\n\n### Our Sponsors: ###\n<table><tr>\n<td align=\"center\" width=\"300\" ><a href=\"https://astra.dev/3xPljcu\"><img src=\"https://www.datastax.com/sites/default/files/2021-07/astra-negative-square.png\" width=\"90\" height=\"90\" alt=\"Astra DB\" /><br />Astra DB</a><br/>Use Django with DataStax Astra DB - built on Apache Cassandra.</td>\n<td align=\"center\" width=\"300\" ><a href=\"https://github.com/NoiSek\"><img src=\"https://avatars.githubusercontent.com/u/631328?v=4\" width=\"90\" height=\"90\" alt=\"NoiSek\" /><br/>NoiSek</a></td>\n</tr></table>\n\n\n## Installation ##\n\nRecommended installation:\n\n    pip install django-cassandra-engine\n\n## Basic Usage ##\n\n1. Add `django_cassandra_engine` to `INSTALLED_APPS` in your `settings.py` file:\n\n        INSTALLED_APPS = ('django_cassandra_engine',) + INSTALLED_APPS\n\n2. Change `DATABASES` setting:\n\n        DATABASES = {\n            'default': {\n                'ENGINE': 'django_cassandra_engine',\n                'NAME': 'db',\n                'TEST_NAME': 'test_db',\n                'HOST': 'db1.example.com,db2.example.com',\n                'OPTIONS': {\n                    'replication': {\n                        'strategy_class': 'SimpleStrategy',\n                        'replication_factor': 1\n                    }\n                }\n            }\n        }\n\n3. Define some model:\n\n        # myapp/models.py\n\n        import uuid\n        from cassandra.cqlengine import columns\n        from django_cassandra_engine.models import DjangoCassandraModel\n\n        class ExampleModel(DjangoCassandraModel):\n            example_id    = columns.UUID(primary_key=True, default=uuid.uuid4)\n            example_type  = columns.Integer(index=True)\n            created_at    = columns.DateTime()\n            description   = columns.Text(required=False)\n\n4. Run `./manage.py sync_cassandra`\n5. Done!\n\n## Connect to Cassandra with a Cloud Config bundle ##\nTo connect to a hosted Cassandra cluster that provides a secure connection bundle (ex. DataStax Astra) change the `DATABASES` setting of your settings.py:\n\n        DATABASES = {\n            'default': {\n                'ENGINE': 'django_cassandra_engine',\n                'NAME': 'keyspace_name',\n                'TEST_NAME': 'table_name',\n                'USER': 'token',\n                'PASSWORD': token_value,\n                'OPTIONS': {\n                    'connection': {\n                        'cloud': {\n                            'secure_connect_bundle': '/path/to/secure/bundle.zip'\n                        },\n                    }\n                }\n            }\n        }\n\n## Documentation ##\n\nThe documentation can be found online [here](http://r4fek.github.io/django-cassandra-engine/).\n\n## License ##\nCopyright (c) 2014-2024, [Rafa\u0142 Furma\u0144ski](https://linkedin.com/in/furmanski).\n\nAll rights reserved. Licensed under BSD 2-Clause License.\n\n",
    "bugtrack_url": null,
    "license": "2-clause BSD",
    "summary": "Django Cassandra Engine",
    "version": "1.9.0",
    "project_urls": {
        "Changelog": "https://r4fek.github.io/django-cassandra-engine/changelog/",
        "Documentation": "https://r4fek.github.io/django-cassandra-engine/",
        "Homepage": "https://github.com/r4fek/django-cassandra-engine",
        "Repository": "https://github.com/r4fek/django-cassandra-engine"
    },
    "split_keywords": [
        "django",
        "cassandra",
        "engine",
        "backend",
        "driver",
        "wrapper",
        "database",
        "nonrel",
        "cqlengine"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2b0ed07ffcacd25141cfde2bab2ad080461dd60e2cca0d84c474f8e56be61b2e",
                "md5": "986e99d1ca7731571574c2a755dc024f",
                "sha256": "0758a2384edc7769c58411c20034d9beeb0eaa016dbc3f06de6f952bd04a0ddf"
            },
            "downloads": -1,
            "filename": "django_cassandra_engine-1.9.0.tar.gz",
            "has_sig": false,
            "md5_digest": "986e99d1ca7731571574c2a755dc024f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 28971,
            "upload_time": "2024-03-17T19:16:31",
            "upload_time_iso_8601": "2024-03-17T19:16:31.645277Z",
            "url": "https://files.pythonhosted.org/packages/2b/0e/d07ffcacd25141cfde2bab2ad080461dd60e2cca0d84c474f8e56be61b2e/django_cassandra_engine-1.9.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-17 19:16:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "r4fek",
    "github_project": "django-cassandra-engine",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "django-cassandra-engine"
}
        
Elapsed time: 4.21602s