IF YOU ARE A CLIENT LIBRARY WRITER please update this list as your libraries become compatible with the newest version of cassandra.
High level clients
Using one of these clients is strongly preferred to raw Thrift when developing applications (the Thrift API is primarily intended for client developers). What follows are clients that support Cassandra 0.8.
If no high-level client exists for your environment, you may be able to update an older client; failing that, you'll have to use the raw Thrift API.
- Python:
Pycassa: http://github.com/pycassa/pycassa
Telephus: http://github.com/driftx/Telephus (Twisted)
- Java:
- Firebrand:
Site: http://firebrandocm.org
Docs: http://firebrandocm.org/
Docs(Ton of em): https://github.com/deanhiller/playorm/wiki
Feature List: https://github.com/deanhiller/playorm#playorm-feature-list
NoSql Patterns: https://github.com/deanhiller/playorm/wiki/Patterns-Page
Astyanax: https://github.com/Netflix/astyanax/wiki/Getting-Started
- Hector:
Site: http://hector-client.org
Sources http://github.com/rantav/hector
Easy-Cassandra: https://github.com/otaviojava/Easy-Cassandra
Cassandrelle (Demoiselle Cassandra): http://demoiselle.sf.net/component/demoiselle-cassandra/
Feedly-Cassandra (ORM library): https://github.com/kireet/feedly-cassandra
- Firebrand:
- Scala
Cascal: https://github.com/Shimi/cascal
- Node.js
- Clojure
clj-hector: https://github.com/pingles/clj-hector
alia: https://github.com/mpenet/alia (datastax/java-driver wrapper)
hayt (CQL3 query generation): https://github.com/mpenet/hayt
- .NET
- Ruby:
- PHP:
Cassandra PHP Client Library: https://github.com/kallaspriit/Cassandra-PHP-Client-Library
phpcassa: http://github.com/thobbs/phpcassa
SimpleCassie: http://code.google.com/p/simpletools-php/wiki/SimpleCassie
- Perl:
Cassandra::Simple: https://github.com/fmgoncalves/p5-cassandra-simple
Net::Cassandra: http://search.cpan.org/~lbrocard/Net-Cassandra-0.35/lib/Net/Cassandra.pm
Net::Cassandra::Easy: http://search.cpan.org/~teodor/Net-Cassandra-Easy-0.15/
Cassandra::Lite: http://search.cpan.org/~gslin/Cassandra-Lite-0.4.0/
perlcassa: https://github.com/mkjellman/perlcassa
- C++
libQtCassandra repository: http://sf.net/p/libqtcassandra/
Home Page, Developer Guide: http://snapwebsites.org/project/libqtcassandra
- C
- Haskell
cassy: https://github.com/ozataman/cassy
HackageDB Page: http://hackage.haskell.org/package/cassy
- Erlang
erlcassa: https://github.com/ostinelli/erlcassa
- Go
Older clients
If you are using Cassandra 0.7*, see ClientOptions07.
Thrift
Thrift is the Cassandra driver-level interface that the clients above build on. You can use raw Thrift from just about any language, but it's not particularly idiomatic in any of them. Some examples are given in ThriftExamples.
Internal API
The StorageProxy API is available to JVM-based clients, but unless you really know that you need it you should probably be using a higher-level client listed above or, failing that, the Thrift API. The StorageProxy API is intended for internal use, and highly specialized use-cases.
Hadoop
Running Hadoop map/reduce jobs in Cassandra is described in HadoopSupport.