SLIM SDK — Language Bindings
All bindings are maintained in agntcy/slim-bindings and generated from the same Rust core via UniFFI. The Go binding is distributed through a separate agntcy/slim-bindings-go module because Go's module system requires source hosting rather than a package registry.
Python
| Package | slim-bindings on PyPI |
| Requirements | Python 3.9+ |
| Examples | python/examples |
pip install slim-bindings
Or add to your pyproject.toml:
[project]
dependencies = ["slim-bindings==2.0.0a5"]
Go
| Package | github.com/agntcy/slim-bindings-go |
| Requirements | Go 1.20+, C compiler (CGO) |
| Examples | examples |
go get github.com/agntcy/slim-bindings-go
Then run the setup tool to install the native libraries:
go run github.com/agntcy/slim-bindings-go/cmd/slim-bindings-setup
CGO Requirement
The Go bindings use native libraries via CGO. A C compiler (GCC or Clang) must be installed.
.NET
| Package | Agntcy.Slim on NuGet |
| Requirements | .NET 8.0+ |
| Examples | dotnet/ |
dotnet add package Agntcy.Slim
Java
| Package | Maven Central |
| Requirements | Java 21+, Maven 3.8+, JNA |
| Examples | java/examples |
The Java bindings provide synchronous methods with CompletableFuture-based async variants.
Kotlin
| Package | Maven Central |
| Requirements | JDK 17+, JNA |
| Examples | kotlin/examples |
Add to your build.gradle.kts:
dependencies {
implementation("io.agntcy.slim:slim-bindings-kotlin:2.0.0")
}
Node.js
| Package | @agntcy/slim-bindings on npm |
| Requirements | Node.js 18+ |
npm install @agntcy/slim-bindings
React Native
| Package | @agntcy/slim-bindings-react-native on npm |
| Requirements | iOS or Android |
npm install @agntcy/slim-bindings-react-native
Building from Source
To build the bindings from source:
git clone https://github.com/agntcy/slim-bindings
cd slim-bindings
# Build the Rust FFI library
cd rust && task bindings:build
# Build a specific binding (example: Python)
cd python && task bindings:build
See the README in each binding directory for language-specific build instructions.
Next Steps
- Connecting to SLIM — Your first connection to a SLIM node
- SLIM SDK Overview — Learn what the SDK provides