Observed since 20 Oct, 20:48 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
High-performance Aerospike Python client with sync and async APIs, built with PyO3 and Rust
High-performance Python client for Aerospike, built with Rust and PyO3 on top of the Aerospike Rust Client v2.
AsyncClient) APIs.pyi) for IDE autocompletionDocumentation — API reference, usage guides, integration examples
pip install aerospike-py
Before running the examples, make sure an Aerospike server is available at
127.0.0.1:3000, or replace the host and port with a seed address for your
cluster.
import aerospike_py as aerospike
with aerospike.client({
"hosts": [("127.0.0.1", 3000)],
}).connect() as client:
key = ("test", "demo", "user1")
client.put(key, {"name": "Alice", "age": 30})
record = client.get(key)
print(record.bins) # {'name': 'Alice', 'age': 30}
print(record.meta.gen) # 1
client.increment(key, "age", 1)
client.remove(key)
import asyncio
from aerospike_py import AsyncClient
async def main():
async with AsyncClient({
"hosts": [("127.0.0.1", 3000)],
}) as client:
await client.connect()
key = ("test", "demo", "user1")
await client.put(key, {"name": "Bob", "age": 25})
record = await client.get(key)
print(record.bins) # {'name': 'Bob', 'age': 25}
# Concurrent operations
tasks = [client.put(("test", "demo", f"item_{i}"), {"idx": i}) for i in range(10)]
await asyncio.gather(*tasks)
asyncio.run(main())
Benchmark: 5,000 ops x 100 rounds, Aerospike CE (Docker), Apple M4 Pro
| Operation | aerospike-py sync | official C client | aerospike-py async | Async vs C |
|---|---|---|---|---|
| put (ms) | 0.140 | 0.139 | 0.058 | 2.4x faster |
| get (ms) | 0.141 | 0.141 | 0.063 | 2.2x faster |
Sync is on par with the official C client. Async is 2.2-2.4x faster via native Tokio async/await.
This project has Claude Code automation configured.
Install aerospike-ce-ecosystem-plugins to access the full ecosystem skill set, including the aerospike-py API reference and deployment guides.
From GitHub (recommended)
Add the repository as a marketplace, then install:
# Step 1: Add as marketplace
claude plugin marketplace add aerospike-ce-ecosystem/aerospike-ce-ecosystem-plugins
# Step 2: Install the plugin
claude plugin install aerospike-ce-ecosystem
Project-scoped install
To install only for the current project:
claude plugin marketplace add aerospike-ce-ecosystem/aerospike-ce-ecosystem-plugins
claude plugin install aerospike-ce-ecosystem -s project
Verify installation
claude plugin list
# Should show: aerospike-ce-ecosystem@aerospike-ce-ecosystem ✔ enabled
See CONTRIBUTING.md for development setup, running tests, and making changes.
This repository runs several automations on commits, pull requests, pushes, and schedules. The following sections explain when each check runs and why it may block an action.
.pre-commit-config.yamlThese hooks run on every git commit. Install them once with make pre-commit-install.
| Hook | Source | Purpose |
|---|---|---|
trailing-whitespace, end-of-file-fixer, check-yaml, check-toml, detect-private-key | pre-commit/pre-commit-hooks v5 | basic file hygiene |
ruff (with --fix), ruff-format | astral-sh/ruff-pre-commit | Python lint + format |
cargo fmt --check | local | Rust format check |
cargo clippy -D warnings (--features otel) | local | Rust lint, zero-warning gate |
.claude/hooks/Active when developing through Claude Code with the project plugin enabled.
pr-perf-gate.sh — PreToolUse hook on gh pr create. If the PR diff touches any path in .claude/perf-hot-paths.txt and the conversation transcript has no perf-impact: verdict (from the perf-impact-reviewer agent) or benchmark run, the PR creation is blocked. Forces measurement on hot-path changes..github/workflows/Build · release · docs
| Workflow | Trigger | Purpose |
|---|---|---|
ci.yaml | push / pull_request to main | full validate (fmt + lint + typecheck + unit + integration matrix). |
publish.yaml | release: published / manual | build wheels + sdist, publish to PyPI. |
daily-release.yml | nightly cron / manual | nightly release pipeline. |
docs.yaml | PR touching docs/ | Docusaurus build check. |
docs-publish.yaml | push to main | publish Docusaurus site to GitHub Pages. |
Skill & docs follow-up notifications
| Workflow | Trigger | Purpose |
|---|---|---|
skill-impact-notify.yml | push to main, on skill-relevant paths | open a routing issue in aerospike-ce-ecosystem/project-hub. |
ace-plugins-pr-notify.yml | pull_request opened / reopened / ready_for_review / synchronize, on skill-relevant paths | open (or update) a follow-up issue in aerospike-ce-ecosystem/aerospike-ce-ecosystem-plugins so skill maintainers can mirror the API/docs change. Idempotent: re-pushes append a comment instead of opening a duplicate. |
Both notify workflows reuse the
GH_AW_GITHUB_TOKENPAT for cross-repo writes — rotate together.
Apache License 2.0 — see LICENSE for details.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.14.4 | 15 Sept 2026 | 2 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 20:48 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:bdf37434558de1c33f5b6d6ef502705417acf7ea63f1d1373d505f4160830578