- info:
Simple threaded cassandra wrapper for asyncio
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)
| File | Size | Uploaded | |
|---|---|---|---|
| aiocassandra-2.0.1.tar.gz | 5.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 |