Cassaforte is an young idiomatic Clojure client for Cassandra. Its API and code style closely follow other ClojureWerkz projects, namely Monger, Welle, Neocons, Elastisch and Spyglass.
- Provide a Clojure-friendly, easy to use API that reflects Cassandra's data model well. Dealing with the Cassandra Thrift API quirks is counterproductive.
- Be well maintained.
- Be well documented.
- Be well tested.
- Target Cassandra 1.2 and Clojure 1.4 and later from the ground up.
- Integrate with libraries like clojure.data.json and Joda Time.
- Support URI connections to be friendly to Heroku and other PaaS providers.
We use Cassaforte heavily for our monitoring solution, that processes fairly large amount of data. Until DataStax makes a stable, non RC release of java-driver that we use underneath, we can't make a final release. Project is known to behave well, it's tested and used in production.
- Connection to a single node and cluster
- All CQL operations
- CQL 3.0 queries, including queries with placeholders (?, a la JDBC)
- Deserialization of column names and values according to response schema
Cassaforte is built from the ground up for Clojure 1.4 and up.
Cassaforte is built from the ground up for Cassandra 1.2 and up and is built around CQL 3.
Please refer to our Getting Started with Clojure and Cassandra guide. Don't hesitate to join our mailing list and ask questions, too!
To subscribe for announcements of releases, important changes and so on, please follow @ClojureWerkz on Twitter.
Cassaforte artifacts are released to Clojars. If you are using Maven, add the following repository
definition to your pom.xml
:
<repository>
<id>clojars.org</id>
<url>http://clojars.org/repo</url>
</repository>
With Leiningen:
[clojurewerkz/cassaforte "1.0.0-rc2"]
With Maven:
<dependency>
<groupId>clojurewerkz</groupId>
<artifactId>cassaforte</artifactId>
<version>1.0.0-rc1</version>
</dependency>
Cassaforte is part of the group of libraries known as ClojureWerkz, together with Monger, Welle, Neocons, Elastisch and several others.
CI is hosted by travis-ci.org
Cassaforte uses Leiningen 2. Make sure you have it installed and then run tests against all supported Clojure versions using
lein2 all test
Then create a branch and make your changes on it. Once you are done with your changes and all tests pass, submit a pull request on Github.
Copyright (C) 2012-2013 Michael S. Klishin, Alex Petrov
Distributed under the Eclipse Public License, the same as Clojure.