Skip to content

Developer SDK

For the complete documentation index see: llms.txt

All documentation pages available in markdown.

The Aerospike Developer SDK is a modern, developer-friendly interface for Aerospike. It provides intuitive APIs that feel native to your language, with built-in Aerospike Expression Language (AEL) queries and intelligent error handling.

Why use the Developer SDKs?

  • Fluent, chainable methods that feel natural in Java and Python. No more verbose configuration objects.

  • Filter queries with readable expressions like "$.status == 'active' and $.age > 21". No more complex, hard-to-maintain filter expressions.

  • Actionable errors with recovery suggestions. Know exactly what went wrong and how to fix it.

  • Separate development from operational concerns. Focus on writing application logic, not database plumbing.

Quick example

import com.aerospike.client.sdk.policy.Behavior;
import com.aerospike.client.sdk.Cluster;
import com.aerospike.client.sdk.ClusterDefinition;
import com.aerospike.client.sdk.DataSet;
import com.aerospike.client.sdk.Record;
import com.aerospike.client.sdk.RecordResult;
import com.aerospike.client.sdk.RecordStream;
import com.aerospike.client.sdk.Session;
public class FluentQuickStart {
public static void main(String[] args) {
DataSet users = DataSet.of("test", "users");
try (Cluster cluster = new ClusterDefinition("localhost", 3000).connect()) {
Session session = cluster.createSession(Behavior.DEFAULT);
// Create or update a record.
session.upsert(users)
.bins("name", "email", "status", "age")
.id("user-1").values("Alice", "alice@example.com", "active", 28)
.execute();
// Query and print active users.
RecordStream stream = session.query(users)
.where("$.status == 'active'")
.execute();
stream.forEach(result -> {
Record record = result.recordOrThrow();
System.out.println(record);
});
// Cleanup for repeatable local runs.
session.delete(users.id("user-1")).execute().close();
}
}
}

📖 API reference: ClusterDefinition(String,int) | ClusterDefinition.connect() | Cluster.createSession(Behavior) | Cluster.close() | DataSet.of(...) | DataSet.id(...) | Session.upsert(DataSet) | Session.delete(Key) | Session.query(DataSet) | OperationObjectBuilder.bins(...) | IdValuesBuilder.id(...) | IdValuesRowBuilder.values(...) | ChainableQueryBuilder.where(...) | ChainableQueryBuilder.execute() | ChainableNoBinsBuilder.execute() | RecordStream.forEach(...) | RecordStream.close() | RecordResult.recordOrThrow()

Choose your path

New to Aerospike?

Start with the Quickstart to build your first app in 5 minutes.

Quickstart →

Migrating from Classic Client?

See what’s different and how to migrate your code.

Migration Guide →

Language support

LanguageStatusPackage
Java✅ Availablecom.aerospike:aerospike-client-sdk
Python✅ Availableaerospike-sdk
Rust🚧 Coming Soon

The Python SDK supports Python 3.10 and later. For best performance, use Python 3.14 or later to take advantage of free-threading and other runtime improvements in the 3.14 series. See the Python 3.14 release notes for details.

Next steps

Feedback

Was this page helpful?

What type of feedback are you giving?

What would you like us to know?

+Capture screenshot

Can we reach out to you?