pysandra

Python driver for Cassandra focusing on asyncio users (INCOMPLETE).


Keywords
asyncio, cassandra-client, python
Licenses
MIT/Apache-2.0
Install
pip install pysandra==0.4.0

Documentation

NOTICE

This project has recently started. I don't recommend anyone use it just yet.

However, it is for anyone who wants

  • to get involved in development,
  • to give feedback,
  • or are happy with it's very limited state

Please check back often, I hope to get this to a generally useful state this year. Contributions, advice welcome, development is coodinated on github.

pysandra

pysandra - An asyncio based Cassandra client for Python.

Build Status Coverage Package version

Progress

In case you didn't read the notice, there's quite a limited set of functionality at the moment.

Things that exist:

  • asyncio interface
  • basic query support (with results into native python types)
  • basic DML support
  • basic DDL query
  • basic prepared statements
  • basic TLS support
  • ...
  • see protocol.md for more details

Things that don't exist:

  • any authentication support
  • sync support (version 2.0)
  • paging, batch support
  • stable api
  • friendly api
  • connection to more then one cluster member
  • ...
  • why are you still reading this.

Goals

  • cassandra client driver for asyncio based applications
  • allow doing anything the wire protocol allows and servers tolerate

Implementation

Currently targeting python 3.6 and above

Aims to be:

  • correct
  • fast
  • efficient
  • developer friendly

Todos

  • tls context
  • paging
  • AUTH
  • Tests
  • api docs
  • make user objects user friendly (exceptions, EventChange, Rows)
  • batch
  • client connection routing
  • cqlshell

License & Contributions

The pysandra project is dual-licensed under Apache 2.0 and MIT terms.

See COPYRIGHT for full details

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.