Skip to main content
info:

Simple threaded cassandra wrapper for asyncio

https://travis-ci.org/aio-libs/aiocassandra.svg?branch=master https://img.shields.io/pypi/v/aiocassandra.svg https://codecov.io/gh/aio-libs/aiocassandra/branch/master/graph/badge.svg

Installation

pip install aiocassandra

Usage

import asyncio

from aiocassandra import aiosession
from cassandra.cluster import Cluster
from cassandra.query import SimpleStatement

# connection is blocking call
cluster = Cluster()
# aiocassandra uses executor_threads to talk to cassndra driver
# https://datastax.github.io/python-driver/api/cassandra/cluster.html?highlight=executor_threads
session = cluster.connect()


async def main():
    # patches and adds `execute_future`, `execute_futures` and `prepare_future`
    # to `cassandra.cluster.Session`
    aiosession(session)

    # best way is to use cassandra prepared statements
    # https://cassandra-zone.com/prepared-statements/
    # https://datastax.github.io/python-driver/api/cassandra/cluster.html#cassandra.cluster.Session.prepare
    # try to create them once on application init
    query = session.prepare('SELECT now() FROM system.local;')

    # if non-blocking prepared statements is really needed:
    query = await session.prepare_future('SELECT now() FROM system.local;')

    print(await session.execute_future(query))

    # pagination is also supported
    query = 'SELECT * FROM system.size_estimates;'
    statement = SimpleStatement(query, fetch_size=100)

    # don't miss *s* (execute_futureS)
    async with session.execute_futures(statement) as paginator:
        async for row in paginator:
            print(row)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())
cluster.shutdown()
loop.close()

Python 3.5+ is required

Thanks

The library was donated by Ocean S.A.

Thanks to the company for contribution.

Release files for aiocassandra 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiocassandra 2.0.1
File Size Uploaded
aiocassandra-2.0.1.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aiocassandra 2.0.1
File Interpreter ABI Platform
aiocassandra-2.0.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 11.7 kB

Release files / aiocassandra-2.0.1.tar.gz

Download URL aiocassandra-2.0.1.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
82a91c8766d9e23b23775ed14eb6322a6f0bc22ddcc2babb17a69e31b46467a9
BLAKE2b-256 checksum
How to use checksums
87445c0e978ad16ba1d75c02dd5cb6030833b42cc248b11bf15fdd82b0544951
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiocassandra-2.0.1-py2.py3-none-any.whl

Download URL aiocassandra-2.0.1-py2.py3-none-any.whl
Size 6.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
bd9b95c60e0c729266041c4f5407ccf07c647f945bf2bfdb889989222ba14578
BLAKE2b-256 checksum
How to use checksums
676a86bcb47ec5283f7076500d0ec7d6a78abbdbc10223cee59a2fb49984886d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.1.0

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page