SDK
The Drift SDK is what your Atomic functions import to talk to the platform. It exists in six languages (Go, Python, Node.js, Ruby, PHP, and Rust) and every one exposes the same API surface, follows the same wire protocol, and gives you the same local-development experience.
The interpreted SDKs (Python, Node.js, Ruby, PHP) use only their language's standard library. The Rust SDK uses two crates (serde_json and ureq); the Go SDK uses only stdlib. No transitive dependencies, no version conflicts, no supply chain risk from us.
Where to go
- Writing a handlerArguments, the request object, and what you return.
- API referenceEvery call, with signatures and return shapes.
- LanguagesThe same handler six ways, and what runs locally.
Getting the SDK
Name the SDK, unversioned; never pin it.
go.mod is generated and resolved at build, and a Cargo.toml is written only when your function ships none. Python, Node, Ruby and PHP expect their own manifest (requirements.txt, package.json, Gemfile, composer.json) to name it, and a function that imports the SDK without one is refused before the build with the exact line to add. Either way the version is the CLI's to resolve, not yours to pin. The table of who provides what →Source code
All six SDKs are open source at github.com/ondrift/cloud/sdk: one repository, one release tag for all languages. Releases are tagged sdk/<version>, the CLI is tagged cli/<version> in the same repository, and both sit on the v0.1.x line while Drift is in closed alpha.