Open-source SDKs for the Sudomimus authentication and authorization platform.
This repository hosts client SDKs for the public Sudomimus APIs, organized by language. Each language ships one SDK per public API service (for example, connect for token exchange and native for the native client entry point).
| Language | Package | Purpose | Status |
|---|---|---|---|
| TypeScript | @sudomimus/connect |
Inquiry lifecycle (Establish / StatusPoll / Redeem / Info) | alpha |
| TypeScript | @sudomimus/device |
Device authorization for public clients (DeviceAuthorize / DeviceToken) | alpha |
| TypeScript | @sudomimus/token |
Parse and verify Sudomimus access / refresh JWTs | alpha |
| TypeScript | @sudomimus/native |
Direct-issue (Steam ticket / access key) | alpha |
| TypeScript | @sudomimus/session |
Session lifecycle (Refresh / Introspect / Logout / RevokeAll) | alpha |
| Python | sudomimus-connect |
Inquiry lifecycle (Establish / StatusPoll / Redeem / Info) | alpha |
| Python | sudomimus-device |
Device authorization for public clients (DeviceAuthorize / DeviceToken) | alpha |
| Python | sudomimus-token |
Parse and verify Sudomimus access / refresh JWTs | alpha |
| Python | sudomimus-native |
Direct-issue (Steam ticket / access key) | alpha |
| Python | sudomimus-session |
Session lifecycle (Refresh / Introspect / Logout / RevokeAll) | alpha |
| C# / .NET | Sudomimus.Connect |
Inquiry lifecycle (Establish / StatusPoll / Redeem / Info) | alpha |
| C# / .NET | Sudomimus.Token |
Parse and verify Sudomimus access / refresh JWTs | alpha |
| C# / .NET | Sudomimus.Native |
Direct-issue (Steam ticket / access key) | alpha |
| C# / .NET | Sudomimus.Session |
Session lifecycle (Refresh / Introspect / Logout / RevokeAll) | alpha |
| Go | github.com/sudomimus/sudomimus-go/token |
Parse and verify Sudomimus access / refresh JWTs | alpha |
| Java | com.sudomimus:sudomimus-token |
Parse and verify Sudomimus access / refresh JWTs | alpha |
specs/ OpenAPI 3.1 contracts, one file per public service
sdks/typescript/ TypeScript / JavaScript SDKs (pnpm + Turborepo workspace)
sdks/python/ Python SDKs (uv workspace)
sdks/csharp/ C# / .NET 8 SDKs (dotnet solution, NuGet packages)
sdks/go/ Go SDKs (single module, github.com/sudomimus/sudomimus-go)
sdks/java/ Java SDKs (Gradle Kotlin DSL multi-module, JDK 17)
examples/ Per-language usage examples
See sdks/typescript/README.md, sdks/python/README.md, sdks/go/README.md, sdks/java/README.md, and the per-project READMEs under sdks/csharp/src/ for language-specific development instructions. The repo-root Makefile exposes consistent compile-*, test-*, coverage-*, and pack-* targets across all languages.
Public API contracts live in specs/ as hand-maintained OpenAPI 3.1 documents. Each SDK generates strongly typed request, response, and error models from the corresponding spec; client logic (HTTP, authentication, retries) is written by hand.
specs/ is a git submodule tracking sudomimus/sudomimus-spec, shared with the internal platform repository. Clone with submodules so the spec files are present:
git clone --recurse-submodules https://github.com/sudomimus/sudomimus.git
# or, in an existing checkout:
git submodule update --init --recursive
See CONTRIBUTING.md.