SDKs & Connectors

Couchbase provides several SDKs to allow applications to access a Couchbase cluster, as well as Mobile SDKs to carry your application to the edge. To exchange data with other platforms, we offer various Big Data Connectors.

val json = JsonObject("foo" -> "bar", "baz" -> "qux")

collection.reactive.upsert("document-key", json)
    .doOnError(err  => println(s"Error during upsert: ${err}"))
    .doOnNext(_     => println("Success"))
    .subscribe()

Server SDKs

The Couchbase SDKs allows applications to access a Couchbase cluster. They offer traditional synchronous APIs as well as scalable asynchronous APIs to maximize performance.

Java SDK

The Java SDK forms the cornerstone of our JVM clients. It allows Java applications to access a Couchbase Server cluster. The Java SDK offers traditional synchronous APIs as well as scalable asynchronous APIs to maximize performance.

Scala SDK

Our new Scala SDK allows Scala applications to access a Couchbase Server cluster. It offers synchronous, asynchronous, and reactive APIs for flexibility and maximum performance.

.NET SDK

The .NET SDK enables you to interact with a Couchbase Server cluster from the .NET Framework using any Common Language Runtime (CLR) language, including C#, F#, and VB.NET. It offers both a traditional synchronous API and an asynchronous API based on the Task-based Asynchronous Pattern (TAP).

C SDK

The Couchbase C SDK (libcouchbase) enables C and C++ programs to access a Couchbase Server cluster. The C SDK is also commonly used as a core dependency of SDKs written in other language to provide a common implementation and high performance. Libcouchbase also contains the cbc suite of command line tools.

Node.js SDK

The Node.js SDK allows you to connect to a Couchbase Server cluster from Node.js. The Node.js SDK is a native Node.js module using the very fast libcouchbase library to handle communicating with the cluster over the Couchbase binary protocol.

PHP SDK

The PHP SDK allows you to connect to a Couchbase Server cluster from PHP. The PHP SDK is a native PHP extension and uses the Couchbase high-performance C library libcouchbase to handle communicating to the cluster over Couchbase binary protocols.

Python SDK

The Python SDK allows Python applications to access a Couchbase Server cluster. The Python SDK offers a traditional synchronous API as well as integration with twisted, gevent, and asyncio. It depends on the C SDK (libcouchbase) and utilizes it for performance and reliability.

Ruby SDK

The Ruby SDK allows Ruby applications to access a Couchbase Server cluster. The Ruby SDK includes high-performance native Ruby extensions to handle communicating to the cluster over Couchbase’s binary protocols.

Go SDK

The Couchbase Go SDK allows you to connect to a Couchbase Server cluster from Go. The Go SDK is a native Go library and uses the high-performance gocbcore to handle communicating to the cluster over Couchbase’s binary protocols.

SDK doctor

SDK doctor is a tool to diagnose application-server-side connectivity issues with your Couchbase Cluster. SDK doctor

Distributed ACID Transactions

Java Transactions

Atomicity against multiple document transactions with the Java SDK.

C# Transactions

Atomicity against multiple document transactions with the .NET SDK.

C++ Transactions

Atomicity against multiple document transactions with the C++ API.

Mobile SDKs

JavaScript

You to use Couchbase Lite as an embedded database within your app with various JavaScript frameworks' APIs.

C# SDK

Create your mobile app in C#, using .NET Standard 2.0.

Java SDK

Develop and deploy your Couchbase Lite applications to a JVM environment.

Java Android SDK

Create an Android app, using Couchbase Lite as an embedded database.

Swift SDK

Create an iOS app in Swift, using Couchbase Lite as an embedded database.

Objective-C SDK

Create an iOS app in Objective-C, using Couchbase Lite as an embedded database.

Big Data Connectors

ODBC and JDBC Drivers

ODBC and JDBC drivers enable any application based on the ODBC/JDBC standards, for example Microsoft Excel, QlikView, SAP Lumira, or Tableau, to connect to a Couchbase Server or cluster. ODBC and JDBC Drivers

Couchbase Community

Community Help

In addition to the Couchbase Support Team, help can be found from the community in our forums, and on our Gitter page.

Integrations

Information on some 3rd-party SDK integrations, such as Spring Data, can be found in the SDK docs.

Tutorials

The developer bootstrap exercises and other tutorials highlight the use of Couchbase SDKs in the stacks you are most likely to use in development, such as Spring Data, Node Ottoman, and Python Flask.