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 Clojure 1.3.0 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.
Cassaforte is very young. We put it out there mostly to gather feedback from our friends who use Cassandra and to have CI on travis-ci.org. It almost certainly is not useable enough for anyone but the author. When Cassaforte matures, we will update this section.
- Connection to a single node
- Create, destroy keyspace
- CQL 3.0 queries, including queries with placeholders (?, a la JDBC)
- Deserialization of column names and values according to response schema (not all types are supported yet)
Cassaforte is built from the ground up for Clojure 1.3 and up.
Cassaforte is built from the ground up for Cassandra 1.1 and up and is built around CQL.
Cassaforte is a young project and until 1.0 is released and documentation guides are written, it may be challenging to use for anyone except the author. For code examples, see our test suite.
Once the documentation site is up, we will update this section.
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-beta1"]
With Maven:
<dependency>
<groupId>clojurewerkz</groupId>
<artifactId>cassaforte</artifactId>
<version>1.0.0-beta1</version>
</dependency>
Cassaforte is part of the group of libraries known as ClojureWerkz, together with Monger, Welle, Elastisch, Neocons 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 Michael S. Klishin, Alex Petrov
Distributed under the Eclipse Public License, the same as Clojure.