Skip to main content
Version: 0.0.3

Types

All types are importable from aerospike_py or aerospike_py.types.

from aerospike_py import Record, ExistsResult, ReadPolicy, WritePolicy, WriteMeta

Return Types (NamedTuple)

All return types support both attribute access and tuple unpacking.

Record

Returned by: get(), select(), operate(), batch_operate(), batch_remove(), Query.results()

FieldTypeDescription
keyAerospikeKey | NoneRecord key
metaRecordMetadata | NoneGeneration and TTL
binsdict[str, Any] | NoneBin values
record: Record = client.get(key)
print(record.bins) # attribute access
_, meta, bins = record # tuple unpacking

RecordMetadata

FieldTypeDescription
genintGeneration (optimistic lock version)
ttlintTime-to-live in seconds

AerospikeKey

FieldTypeDescription
namespacestrNamespace
set_namestrSet name
user_keystr | int | bytes | NonePrimary key (None if POLICY_KEY_DIGEST)
digestbytes20-byte RIPEMD-160 digest

ExistsResult

Returned by: exists()

FieldTypeDescription
keyAerospikeKey | NoneRecord key
metaRecordMetadata | NoneNone if record does not exist
result: ExistsResult = client.exists(key)
if result.meta is not None:
print(f"gen={result.meta.gen}")

InfoNodeResult

Returned by: info_all()

FieldTypeDescription
node_namestrCluster node name
error_codeint0 on success
responsestrInfo response string

OperateOrderedResult

Returned by: operate_ordered()

FieldTypeDescription
keyAerospikeKey | NoneRecord key
metaRecordMetadata | NoneRecord metadata
ordered_binslist[BinTuple]Ordered operation results

BinTuple

FieldTypeDescription
namestrBin name
valueAnyBin value

Return Type Quick Reference

MethodReturn Type
get(), select()Record
exists()ExistsResult
operate()Record
operate_ordered()OperateOrderedResult
info_all()list[InfoNodeResult]
batch_read()BatchRecords | NumpyBatchRecords
batch_operate(), batch_remove()list[Record]
Query.results()list[Record]

Input Types (TypedDict)

All fields are optional (total=False).

ClientConfig

Used by: aerospike_py.client(config), AsyncClient(config)

FieldTypeDefaultDescription
hostslist[tuple[str, int]]requiredSeed nodes
cluster_namestrExpected cluster name
auth_modeintAUTH_INTERNALAUTH_INTERNAL, AUTH_EXTERNAL, AUTH_PKI
userstrAuthentication username
passwordstrAuthentication password
timeoutint1000Connection timeout (ms)
idle_timeoutintConnection idle timeout (ms)
max_conns_per_nodeint100Max connections per node
min_conns_per_nodeint0Pre-warm connections
tend_intervalint1000Cluster tend interval (ms)
use_services_alternateboolfalseUse alternate service addresses

ReadPolicy

Used by: get(), select(), exists()

FieldTypeDefaultDescription
socket_timeoutint30000Socket timeout (ms)
total_timeoutint1000Total transaction timeout (ms)
max_retriesint2Max retries
sleep_between_retriesint0Sleep between retries (ms)
expressionsAnyExpression filter (aerospike_py.exp)
replicaintPOLICY_REPLICA_SEQUENCEReplica algorithm
read_mode_apintPOLICY_READ_MODE_AP_ONEAP read consistency

WritePolicy

Used by: put(), remove(), touch(), append(), prepend(), increment(), remove_bin(), operate(), operate_ordered()

FieldTypeDefaultDescription
socket_timeoutint30000Socket timeout (ms)
total_timeoutint1000Total transaction timeout (ms)
max_retriesint0Max retries
durable_deleteboolfalseDurable delete (Enterprise)
keyintPOLICY_KEY_DIGESTKey send policy
existsintPOLICY_EXISTS_IGNOREExistence policy
genintPOLICY_GEN_IGNOREGeneration policy
commit_levelintPOLICY_COMMIT_LEVEL_ALLCommit level
ttlint0Record TTL (seconds)
expressionsAnyExpression filter

BatchPolicy

Used by: batch_read(), batch_operate(), batch_remove()

FieldTypeDefaultDescription
socket_timeoutint30000Socket timeout (ms)
total_timeoutint1000Total transaction timeout (ms)
max_retriesint2Max retries
filter_expressionAnyExpression filter

QueryPolicy

Used by: Query.results(), Query.foreach()

FieldTypeDefaultDescription
socket_timeoutint30000Socket timeout (ms)
total_timeoutint0Total timeout (0 = no limit)
max_retriesint2Max retries
max_recordsint0Max records (0 = all)
records_per_secondint0Rate limit (0 = unlimited)
expressionsAnyExpression filter

AdminPolicy

Used by: all admin_* methods, index operations, truncate()

FieldTypeDefaultDescription
timeoutint1000Timeout (ms)

WriteMeta

Used by: put(), remove(), touch(), operate() etc. as meta parameter

FieldTypeDescription
genintExpected generation (for POLICY_GEN_EQ)
ttlintRecord TTL in seconds

Privilege

Used by: admin_create_role(), admin_grant_privileges(), admin_revoke_privileges()

FieldTypeDescription
codeintPrivilege code (PRIV_READ, PRIV_WRITE, etc.)
nsstrNamespace scope (empty = global)
setstrSet scope (empty = namespace-wide)

UserInfo

Returned by: admin_query_user_info(), admin_query_users_info()

FieldTypeDescription
userstrUsername
roleslist[str]Assigned roles
conns_in_useintActive connections

RoleInfo

Returned by: admin_query_role(), admin_query_roles()

FieldTypeDescription
namestrRole name
privilegeslist[Privilege]Assigned privileges
allowlistlist[str]IP allowlist
read_quotaintRead quota
write_quotaintWrite quota