Cassaforte is a small, easy to use Clojure client for Apache Cassandra
(recent releases: 2.0, 1.2), part of the ClojureWerkz
For quickstart, please refer to our Getting Started with Clojure and Cassandra
- 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 modern Cassandra and Clojure releases.
- Integrate with libraries like Joda Time.
- Support URI connections to be friendly to Heroku and other PaaS providers.
Cassaforte is a relatively young project. It took about a year to
1.0. It is known to be used by dozens of companies, small and large.
Cassaforte is based on the now stable new DataStax Java driver for Cassandra
and Hayt, a fairly battle tested CQL
generation DSL library.
Cassaforte artifacts are released to Clojars. If you are using Maven, add the following repository
definition to your
- Connection to a single node or a cluster
- All CQL operations
- CQL 3.0 queries, including queries with placeholders (?, a la JDBC)
- Nice CQL query DSL for Clojure
- Automatic deserialization of column names and values according to the schema
- TLS connections, Kerberos authentication (DataStax Enterprise)
Cassaforte supports Clojure 1.6+.
Cassaforte is built from the ground up for CQL.
Cassaforte 1.3 and later versions target Cassandra 2.x.
Cassaforte 1.2 targets Cassandra 1.2.x
Please refer to our Getting Started with Clojure and Cassandra
Documentation guides are not
finished and will be improved over time.
API reference is also available.
Don't hesitate to join our mailing
and ask questions, too!
To subscribe for announcements of releases, important changes and so on, please follow
@ClojureWerkz on Twitter.
Cassaforte is part of the group of libraries known as ClojureWerkz, together with
Monger, Elastisch, Langohr,
Welle, Titanium 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
lein 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-2014 Michael S. Klishin, Alex Petrov
Double licensed under the Eclipse Public License (the same as Clojure) or
the Apache Public License 2.0.