Awesome
Welle, a Clojure client for Riak
Welle is an expressive Clojure client for Riak with batteries included. Its API and code style closely follow other ClojureWerkz Clojure libraries, namely Langohr, Elastisch, Neocons, and Monger.
Project Goals
- Be well maintained
- Be well documented
- Be well tested
- Target modern Clojure versions
- Batteries included: clojure.core.cache implementation on top of Riak and so on
- Be PaaS-friendly
Project Maturity
Welle is a mature project that is over 2 years old and has been used to build systems that process terabytes of data per day.
Supported Features
- HTTP and Protocol Buffers transports
- Bucket operations: create, update, delete
- Key/Value operations: put, fetch, delete
- Secondary indexes (2i): indexing, index queries
- Counters (Riak 1.4)
- Content-type based serialization of values in common formats (bytes, JSON, Clojure data/reader, UTF-8 text, gzipped JSON)
- Riak Search support
- Storing links on values, link walking
- Map/Reduce queries
- clojure.core.cache implementation on top of Riak
- Ring session store implementation on top of Riak
- Cheshire and data.json extensions for serialization of JodaTime and JDK dates
Supported Clojure versions
Welle requires Clojure 1.4. The most recent stable Clojure release is highly recommended.
Supported Riak Versions
- Welle
3.0
targets Riak 1.4+ and has breaking API changes compared to2.0
. - Welle
2.0
targets Riak 1.4+ and has breaking API changes compared to1.5
. - Welle
1.5
is compatible with Riak1.3.0
.
Getting Started
Please refer to our Getting Started with Clojure and Riak guide. Don't hesitate to join our mailing list and ask questions, too!
Community
Welle has a mailing list. Feel free to join it and ask any questions you may have.
To subscribe for announcements of releases, important changes and so on, please follow @ClojureWerkz on Twitter.
Maven Artifacts
Welle artifacts are released to Clojars.
With Leiningen
Add dependency in your project.clj
:
[com.novemberain/welle "3.0.0"]
With Maven
Add Clojars repository definition to your pom.xml
:
<repository>
<id>clojars.org</id>
<url>http://clojars.org/repo</url>
</repository>
and then the dependency:
<dependency>
<groupId>com.novemberain</groupId>
<artifactId>welle</artifactId>
<version>3.0.0</version>
</dependency>
Documentation & Examples
Welle has documentation guides.
For additional code examples, see our test suite.
Welle Is a ClojureWerkz Project
Welle is part of the group of Clojure libraries known as ClojureWerkz, together with
and many others.
Project Maturity
Welle has been around since 2011. The API is generally stable with some (badly needed) breaking changes coming in 2.0.
Continuous Integration
CI is hosted by travis-ci.org
Development
Welle 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.
License
Copyright (C) 2011-2016 Michael S. Klishin and the ClojureWerkz team.
Double licensed under the Eclipse Public License (the same as Clojure) or the Apache Public License 2.0.