Official SDKs

Language-specific libraries that make it easy to integrate RealmKit into your applications. Get started quickly with idiomatic APIs and comprehensive documentation.

Why Use SDKs?

Advantages of using official libraries over direct API calls

Type Safety

Full type definitions and validation for better development experience

Idiomatic APIs

Language-specific patterns and conventions you already know

Built-in Features

Automatic retries, error handling, and rate limiting included

Official SDKs

JavaScript/TypeScript

Official SDK for Node.js and browser environments

Official
v2.1.0

Installation

npm install @realmkit/sdk

Features

Full TypeScript support
Promise-based API
Browser and Node.js compatible
Tree-shakeable modules
Built-in retry logic
Request/response interceptors

Quick Start

import { RealmKit } from '@realmkit/sdk';

const client = new RealmKit({
  apiKey: 'your-api-key-here',
  baseURL: 'https://api.realmkit.com/v1'
});

// List realms
const realms = await client.realms.list({
  limit: 10,
  category: 'saas'
});

// Get specific realm
const realm = await client.realms.get('saas-starter');

// Download realm
const downloadUrl = await client.realms.download('saas-starter');
DocumentationGitHub
95% popularity

Python

Python client library with async support

Official
v1.8.0

Installation

pip install realmkit

Features

Synchronous and async APIs
Type hints throughout
Pydantic models
Pytest integration
Django/Flask helpers
Comprehensive error handling

Quick Start

from realmkit import RealmKit

# Initialize client
client = RealmKit(api_key='your-api-key-here')

# List realms
realms = client.realms.list(limit=10, category='saas')

# Get specific realm
realm = client.realms.get('saas-starter')

# Async usage
import asyncio
from realmkit import AsyncRealmKit

async def main():
    async_client = AsyncRealmKit(api_key='your-api-key-here')
    realms = await async_client.realms.list()
    await async_client.close()

asyncio.run(main())
DocumentationGitHub
88% popularity

Go

High-performance Go client with context support

Official
v1.4.0

Installation

go get github.com/realmkit/go-sdk

Features

Context-aware operations
Structured logging
Concurrent safe
Minimal dependencies
Generic type support
Built-in rate limiting

Quick Start

package main

import (
    "context"
    "fmt"
    "github.com/realmkit/go-sdk"
)

func main() {
    client := realmkit.New("your-api-key-here")
    
    // List realms
    realms, err := client.Realms.List(context.Background(), &realmkit.ListOptions{
        Limit:    10,
        Category: "saas",
    })
    if err != nil {
        panic(err)
    }
    
    fmt.Printf("Found %d realms\n", len(realms.Items))
}
DocumentationGitHub
76% popularity

Community Libraries

Third-party SDKs maintained by the RealmKit community

Ruby SDK

Ruby gem for RealmKit API integration

community
gem install realmkit-ruby
342 stars
GitHub

PHP SDK

Composer package for PHP applications

community
composer require realmkit/php-sdk
189 stars
GitHub

Rust SDK

Fast and safe Rust client library

community
cargo add realmkit
156 stars
GitHub

C# SDK

.NET Standard library for C# and F#

community
dotnet add package RealmKit.SDK
203 stars
GitHub

Common Patterns

Examples of common SDK usage patterns across languages

Error Handling

JavaScript
try {
  const realm = await client.realms.get('non-existent');
} catch (error) {
  if (error instanceof RealmKitError) {
    console.log('API Error:', error.message);
    console.log('Status:', error.status);
    console.log('Code:', error.code);
  }
}
Python
try:
    realm = client.realms.get('non-existent')
except RealmKitError as e:
    print(f"API Error: {e.message}")
    print(f"Status: {e.status_code}")
    print(f"Error Code: {e.error_code}")
Go
realm, err := client.Realms.Get(ctx, "non-existent")
if err != nil {
    if apiErr, ok := err.(*realmkit.APIError); ok {
        fmt.Printf("API Error: %s\n", apiErr.Message)
        fmt.Printf("Status: %d\n", apiErr.StatusCode)
    }
}

Configuration

JavaScript
const client = new RealmKit({
  apiKey: process.env.REALMKIT_API_KEY,
  baseURL: 'https://api.realmkit.com/v1',
  timeout: 30000,
  retries: 3,
  userAgent: 'MyApp/1.0'
});
Python
client = RealmKit(
    api_key=os.getenv('REALMKIT_API_KEY'),
    base_url='https://api.realmkit.com/v1',
    timeout=30.0,
    max_retries=3,
    user_agent='MyApp/1.0'
)
Go
client := realmkit.New(
    os.Getenv("REALMKIT_API_KEY"),
    realmkit.WithBaseURL("https://api.realmkit.com/v1"),
    realmkit.WithTimeout(30*time.Second),
    realmkit.WithRetries(3),
)

Contributing to SDKs

Help improve the official SDKs or create new community libraries

Improve Existing SDKs

  • • Report bugs and issues
  • • Submit feature requests
  • • Contribute code improvements
  • • Improve documentation
  • • Add examples and guides
View SDK Repositories

Create New SDKs

  • • Support for new languages
  • • Framework-specific integrations
  • • Specialized use case libraries
  • • Enhanced developer tools
  • • Alternative implementations
Contributing Guide