Skip to content

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