# harlequin-cassandra
> [!CAUTION]
> This adapter is unstable and experimental.
>
> Proceed with caution!
> [!WARNING]
> This adapter does not aim to support [Scylla](https://www.scylladb.com).
> [!NOTE]
> This adapter currently does not support execution profiles, load-balancing
> polices.
This is a [Cassandra](http://cassandra.apache.org) adapter for [Harlequin](https://harlequin.sh).
It is based on [Datastax' cassandra-driver](https://github.com/datastax/python-driver).
## Integration With Harlequin
**Some quirks are to be expected.**
Cassandra doesn't use cursor(s), thus `HarlequinCursor` and `HarlequinConnection`
behave differently in this adapter.
A manual translation of `cassandra-driver` objects types to Python types is
required for Apache Arrow to work correctly.
In this adapter, [`Transaction Modes`](https://harlequin.sh/docs/transactions) refers to
Cassandra's consistency levels.

## Installation
`harlequin-cassandra` depends on `harlequin`, so installing this package will also install Harlequin.
### Using pip
To install this adapter into an activated virtual environment:
```bash
pip install harlequin-cassandra
```
### Using poetry
```bash
poetry add harlequin-cassandra
```
### Using pipx
If you do not already have Harlequin installed:
```bash
pip install harlequin-cassandra
```
If you would like to add the Cassandra adapter to an existing Harlequin installation:
```bash
pipx inject harlequin harlequin-cassandra
```
### As an Extra
```bash
pip install harlequin[cassandra]
```
## Usage and Configuration
You can open Harlequin with the Cassandra adapter by selecting it with the `-a` option and passing an initial hostname and credentials(if required).
```bash
harlequin -a cassandra "localhost" --username "cassandra" --password "cassandra"
```
Many more options are available; to see the full list, run:
```bash
harlequin --help
```
## Things To Explore
Missing advanced configuration that may be of interest:
- [ ] Add an option to support execution profiles.
- [ ] Add an option to support load-balancing policies.
Raw data
{
"_id": null,
"home_page": "https://github.com/vkhitrin/harlequin-cassandra",
"name": "harlequin-cassandra",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8.1",
"maintainer_email": null,
"keywords": null,
"author": "Vadim Khitrin",
"author_email": "me@vkhitrin.com",
"download_url": "https://files.pythonhosted.org/packages/c5/11/2cceff2aa0d5720ca0f8fc7a2b2170c80bd29e914eb511adafea3dd182ca/harlequin_cassandra-0.1.1.tar.gz",
"platform": null,
"description": "# harlequin-cassandra\n\n> [!CAUTION]\n> This adapter is unstable and experimental.\n>\n> Proceed with caution!\n\n> [!WARNING]\n> This adapter does not aim to support [Scylla](https://www.scylladb.com).\n\n> [!NOTE]\n> This adapter currently does not support execution profiles, load-balancing\n> polices.\n\nThis is a [Cassandra](http://cassandra.apache.org) adapter for [Harlequin](https://harlequin.sh). \nIt is based on [Datastax' cassandra-driver](https://github.com/datastax/python-driver).\n\n## Integration With Harlequin\n\n**Some quirks are to be expected.**\n\nCassandra doesn't use cursor(s), thus `HarlequinCursor` and `HarlequinConnection`\nbehave differently in this adapter.\n\nA manual translation of `cassandra-driver` objects types to Python types is\nrequired for Apache Arrow to work correctly.\n\nIn this adapter, [`Transaction Modes`](https://harlequin.sh/docs/transactions) refers to\nCassandra's consistency levels.\n\n\n\n## Installation\n\n`harlequin-cassandra` depends on `harlequin`, so installing this package will also install Harlequin.\n\n### Using pip\n\nTo install this adapter into an activated virtual environment:\n\n```bash\npip install harlequin-cassandra\n```\n\n### Using poetry\n\n```bash\npoetry add harlequin-cassandra\n```\n\n### Using pipx\n\nIf you do not already have Harlequin installed:\n\n```bash\npip install harlequin-cassandra\n```\n\nIf you would like to add the Cassandra adapter to an existing Harlequin installation:\n\n```bash\npipx inject harlequin harlequin-cassandra\n```\n\n### As an Extra\n\n```bash\npip install harlequin[cassandra]\n```\n\n## Usage and Configuration\n\nYou can open Harlequin with the Cassandra adapter by selecting it with the `-a` option and passing an initial hostname and credentials(if required).\n\n```bash\nharlequin -a cassandra \"localhost\" --username \"cassandra\" --password \"cassandra\"\n```\n\nMany more options are available; to see the full list, run:\n\n```bash\nharlequin --help\n```\n\n## Things To Explore\n\nMissing advanced configuration that may be of interest:\n\n- [ ] Add an option to support execution profiles.\n- [ ] Add an option to support load-balancing policies.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Harlequin adapter for Cassandra.",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/vkhitrin/harlequin-cassandra",
"Repository": "https://github.com/vkhitrin/harlequin-cassandra"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "649dc2003bcf0fa9e2b6f6703d9f21d9a48ebc83c6edc0a850c9afed9e9635db",
"md5": "f6066ab354abe5963018920b52014d3d",
"sha256": "504b5ff8e4fe5586338210796b5b1156af3a5d161e692993e15a5ee936eac6cf"
},
"downloads": -1,
"filename": "harlequin_cassandra-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f6066ab354abe5963018920b52014d3d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8.1",
"size": 9498,
"upload_time": "2024-06-29T15:56:23",
"upload_time_iso_8601": "2024-06-29T15:56:23.772056Z",
"url": "https://files.pythonhosted.org/packages/64/9d/c2003bcf0fa9e2b6f6703d9f21d9a48ebc83c6edc0a850c9afed9e9635db/harlequin_cassandra-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c5112cceff2aa0d5720ca0f8fc7a2b2170c80bd29e914eb511adafea3dd182ca",
"md5": "69c0f0af1c115b484540e4a25fb3f0c5",
"sha256": "11a52183abb59cddae83f1c2be3921790c0f89bb8cd75b8c371636d8b53334a4"
},
"downloads": -1,
"filename": "harlequin_cassandra-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "69c0f0af1c115b484540e4a25fb3f0c5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8.1",
"size": 9103,
"upload_time": "2024-06-29T15:56:25",
"upload_time_iso_8601": "2024-06-29T15:56:25.180570Z",
"url": "https://files.pythonhosted.org/packages/c5/11/2cceff2aa0d5720ca0f8fc7a2b2170c80bd29e914eb511adafea3dd182ca/harlequin_cassandra-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-29 15:56:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vkhitrin",
"github_project": "harlequin-cassandra",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "harlequin-cassandra"
}