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
⌘I