SDKs Overview
Choose the SDK that matches your language and task, then follow its guide from installation to production. The official packages expose memory operations and a separate control-plane client.
Choose an SDK
Which SDK should you use?
Python service or script
Use the synchronous client for ordinary Python code or the asynchronous client in an asyncio application.
Use: Start with Python.
Node.js or TypeScript service
Use the promise-based package with Node.js 18 or newer.
Use: Start with Node.js.
Another server-side language
Use the public HTTPS contract directly from a trusted backend.
Use: Start with cURL, then use the API Reference.
Dashboard or administrative workflow
Use the bearer-authenticated control-plane client instead of the API-key memory client.
Use: Open the control-plane page for your language.
Two clients, two trust contracts
MemorySyncClient
Persistent memory for your application users.
- Authenticates with a server-side API key.
- Uses project and opaque end-user scope.
- Exposes 35 memory operations plus 80 connector methods.
ControlPlaneClient
Account, organization, and administrative operations.
- Authenticates protected calls with a bearer access token.
- Does not use the memory API key or end-user header.
- Exposes 43 named control-plane operations.
Supported packages and runtimes
| Language | Package | Runtime contract | Call style |
|---|---|---|---|
| Python | memorysync==1.9.2 | Python 3.9+ | Sync and native async clients |
| Node.js / TypeScript | memorysync-sdk@1.9.1 | Node.js 18+ | Promise-based client; CJS, ESM, and declarations |
| Direct HTTPS | No package | Any trusted HTTPS client | JSON requests and documented headers |
Pin the version your application has tested, and review release notes before upgrading.
The shortest learning path
- 01
Install
Install one official package in a trusted backend project.
- 02
Configure
Load credentials from environment variables and choose trusted scope.
- 03
Write
Add one durable fact and inspect whether it was created or skipped.
- 04
Retrieve
Query with the same project and end-user scope.
- 05
Harden
Handle typed errors, uncertain writes, cleanup, and authorization.
What the SDKs guarantee
| Contract | What you can build against |
|---|---|
| Named methods | Published constructors, operations, arguments, response types, and error classes. |
| Language naming | Python uses snake_case; Node.js uses camelCase. |
| Typed failures | Both packages classify authentication, validation, not-found, rate-limit, and service failures. |
| Public API behavior | Documented request scope, successful response variants, and status handling. |
| Not a contract | Private storage, ranking, queues, workers, caches, retries, or other implementation details. |