Skip to main content

SDKs Overview

Gumnut offers native SDKs in multiple programming languages, providing type-safe, idiomatic interfaces to the Gumnut API. Our SDKs handle authentication, request formatting, error handling, and response parsing, allowing you to focus on building your application.

Available SDKs

TypeScript/JavaScript

Our TypeScript SDK provides full type safety and works in both Node.js and browser environments.
  • Status: โœ… Available
  • Installation: npm install gumnut-sdk
  • GitHub: github.com/gumnut-ai/photos-sdk-typescript
  • Features: Full TypeScript support, universal compatibility, automatic retries, file upload helpers

Python

Our Python SDK provides a Pythonic interface with full type hints support.

Java

Our Java SDK will provide a robust, type-safe interface for Java applications and Android development.
  • Status: ๐Ÿšง Coming Soon
  • Planned: Q1 2025
  • GitHub: github.com/gumnut-ai/photos-sdk-java (Coming Soon)
  • Features: Java 11+ support, reactive streams, builder pattern, Android compatibility

Ruby

Our Ruby SDK will provide an idiomatic Ruby interface, perfect for Rails applications.
  • Status: ๐Ÿšง Coming Soon
  • Planned: Q2 2025
  • GitHub: github.com/gumnut-ai/photos-sdk-ruby (Coming Soon)
  • Features: Ruby 2.7+ support, Rails integration, ActiveSupport compatibility

Quick Comparison

LanguageStatusBest ForKey Features
TypeScriptโœ… AvailableWeb apps, Node.js, UniversalType safety, browser support
Pythonโœ… AvailableData science, scripts, Django/FlaskAsync support, type hints
Java๐Ÿšง Coming SoonEnterprise, Android, Spring BootReactive streams, strong typing
Ruby๐Ÿšง Coming SoonRails apps, scripts, automationIdiomatic Ruby, Rails integration

Common SDK Features

All our SDKs share these capabilities:

๐Ÿ” Authentication

  • API key support
  • OAuth token support
  • Environment variable configuration

๐Ÿ”„ Reliability

  • Automatic retries with exponential backoff
  • Comprehensive error handling
  • Request/response logging

๐Ÿ“ File Handling

  • Multiple file upload formats
  • Stream support for large files
  • Progress tracking (where supported)

๐Ÿ“„ Pagination

  • Automatic pagination helpers
  • Iterator patterns
  • Configurable page sizes

๐Ÿงช Developer Experience

  • Full type safety (where applicable)
  • Comprehensive documentation
  • Code examples and tutorials

Getting Started

1. Choose Your SDK

Pick the SDK that matches your programming language and use case:

2. Install and Configure

Each SDK has simple installation via standard package managers:
# TypeScript/JavaScript
npm install gumnut-sdk

# Python
pip install gumnut

3. Basic Usage Pattern

All SDKs follow similar patterns:
// Initialize client
const client = new Gumnut({ apiKey: "your_key" });

// Upload an asset
const asset = await client.assets.create({
  /* ... */
});

// Create an album
const album = await client.albums.create({
  /* ... */
});

// Add to album
await client.albums.addAssets(album.id, [asset.id]);

Direct API Usage

If an SDK isnโ€™t available for your language, you can use the REST API directly:
curl -X GET https://api.gumnut.ai/api/assets \
  -H "Authorization: Bearer YOUR_API_KEY"
See the API Overview for complete REST API documentation.

Support

Need help choosing or using an SDK?
  • Documentation: Check individual SDK pages for detailed guides
  • Examples: Review GitHub repositories for usage examples
  • Community: Join our Discord (coming soon)
  • Support: Visit www.gumnut.ai/support