Skip to content

Sawabona client SDKs

Sawabona ships client libraries across every language its consumers build in. Every SDK binds the same sawabona-proof geometric-proof kernel (via a shared C ABI keystone for the native ones), so a proof computed in any language is byte-identical — cross-implementation parity is locked by a known-answer-test golden vector (433b67c2…). Each SDK lives in its own repository under github.com/theAIstep.

Language Repository Install
Rust sawabona-sdk-rust cargo add sawabona-sdk
Python (pure) sawabona-sdk-py pip install sawabona-sdk
TypeScript sawabona-sdk-ts npm install sawabona-sdk
Go sawabona-sdk-go go get — see repo README
Java sawabona-sdk-java Maven/Gradle — see repo README
.NET / C# sawabona-sdk-csharp dotnet add — see repo README
C sawabona-sdk-c links the C ABI keystone — see repo README
C++ sawabona-sdk-cpp links the C ABI keystone — see repo README
Ada sawabona-sdk-ada Alire/gprbuild — see repo README

Which one?

  • Rust / Python / TypeScript are the reference HTTP license clients — same LicenseClient / validate() surface, local caching, offline grace, retries. Start here for application licensing.
  • Go / Java / C# / C / C++ / Ada bind the shared proof kernel for the same languages covered above; consult each repo's README for the current client surface.

Python note: sawabona-sdk is pure-Python (no Rust toolchain required) and is the canonical Python client. Install with pip install sawabona-sdk.

Quickstart (Python)

from sawabona_sdk import LicenseClient

with LicenseClient("http://localhost:8000", "<license-key>", "my-app") as client:
    result = client.validate()
    print(result.is_valid(), result.features)

The SDK fetches the geometric-proof challenge, solves it, and submits the proof — you call validate() once. New to the flow? See Getting Started.