harlequin-cassandra


Nameharlequin-cassandra JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/vkhitrin/harlequin-cassandra
SummaryA Harlequin adapter for Cassandra.
upload_time2024-06-29 15:56:25
maintainerNone
docs_urlNone
authorVadim Khitrin
requires_python<4.0,>=3.8.1
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

![Transaction Modes GIF](./static/transaction_modes.gif)

## 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![Transaction Modes GIF](./static/transaction_modes.gif)\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"
}
        
Elapsed time: 0.26167s