Skip to content

vitalreactor/cassaforte

 
 

Repository files navigation

Cassaforte, a Clojure Cassandra Client

Cassaforte is a small, easy to use Clojure client for Apache Cassandra (1.2+), part of the ClojureWerkz libraries.

For quickstart, please refer to our Getting Started with Clojure and Cassandra guide.

Project Goals

  • 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 Joda Time.
  • Support URI connections to be friendly to Heroku and other PaaS providers.

Project Maturity

Cassaforte is a relatively young project. It took about a year to reach 1.0. It is used heavily in a monitoring and event collection solution that processes fairly large amount of data.

Cassaforte is based on the now stable new DataStax Java driver for Cassandra and Hayt, a fairly battle tested CQL generation DSL library.

Dependency Information (Artifacts)

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>

The Most Recent Version

With Leiningen:

[clojurewerkz/cassaforte "1.2.0"]

With Maven:

<dependency>
  <groupId>clojurewerkz</groupId>
  <artifactId>cassaforte</artifactId>
  <version>1.2.0</version>
</dependency>

Supported Features

  • 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

Supported Clojure Versions

Cassaforte supports Clojure 1.4+.

Supported Apache Cassandra Versions

Cassaforte is built from the ground up for CQL 3 and Cassandra 1.2+.

Documentation & Examples

Please refer to our Getting Started with Clojure and Cassandra guide. Documentation guides are not finished and will be improved over time.

API reference is also available.

Don't hesitate to join our mailing list and ask questions, too!

Community

To subscribe for announcements of releases, important changes and so on, please follow @ClojureWerkz on Twitter.

Cassaforte Is a ClojureWerkz Project

Cassaforte is part of the group of libraries known as ClojureWerkz, together with Monger, Elastisch, Langohr, Welle, Titanium and several others.

Continuous Integration

Continuous Integration status

CI is hosted by travis-ci.org

Development

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.

License

Copyright (C) 2012-2013 Michael S. Klishin, Alex Petrov

Double licensed under the Eclipse Public License (the same as Clojure) or the Apache Public License 2.0.

About

High-level Clojure driver (client) for Cassandra 1.2+ build around CQL 3

Resources

Stars

Watchers

Forks

Packages

No packages published