Couchbase and contributors maintain a set of official SDKs for many popular programming languages. The client library in the SDK is cluster aware, which makes deployment simple and flexible. Resources may be added to and removed from a live cluster without interruption to your application.

Couchbase Server SDKs

SDK 2.0 and 1.8 Compatible 1.8 Compatible
Java 1.1 Java 1.0
.NET 1.2 .NET 1.1
PHP 1.1 PHP 1.0
Ruby 1.2 Ruby 1.0
C 2.0 C 1.0
Python 0.8.0 Dev Preview  

Couchbase Client Library Development

The client library in each SDK is available under the Apache 2.0 Open Source license.  See the wiki for more details on the location of the source code repositories, issue trackers and how to get in contact with other developers.

Experimental Client Libraries

  • couchnode is a new libcouchbase derived client library. It uses the async event API of libcouchbase.  It has excellent performance by virtue of unifying the event loop of node.js's libuv and the v8 javascript engine with that of couchnode. It was originally authored by Trond Norbye and has had significant contributions by Mark Nunberg.
Go Couchbase (go language)
  • go-couchbase is a client library for the Go Programming Language. It supports all of the cluster configuration update features and Couchbase Views. Dustin Sallings authored this client library.

Popular Community Developed Client Libraries

Alongside the official client libraries, there are a number of popular client libraries which are either cluster-aware or use Couchbase Server's memcached compatibility.

  • Spyglass is a Clojure wrapper for spymemcached, which is compatible with Couchbase.
  • clutchbase is a Clojure wrapper for the Couchbase Java Client.
  • cberl is a NIF based Erlang client which uses libcouchbase. It has been authored by Ali Yakamercan at Chitika.
  • node-memcache is frequently used alongside Couchbase Server through its memcache compatibility.
  • baseview is a "minimalistic Couchbase client for node.js". It is designed for Couchbase Server 2.0 and is most often used along with node-memcache.
  • pylibcb is a libcouchbase derived Python client library. It has been authored by the folks at Chango.
  • couchbase-tcl-client is a TCL client library based on libcouchbase. It was authored by Sergey Avseyev.