SDKs & Libraries
Official single-file SDKs for all major languages. No package manager required - just copy the file into your project.
Official SDKs
JavaScript / TypeScript
Works in Node.js 18+, browsers, and Deno. The JS version uses CommonJS + ESM dual exports. The TypeScript version has full type definitions for all resources and response types.
// Copy sdk/javascript/dark-obsidian.js to your project
const DarkObsidian = require('./dark-obsidian')
const client = new DarkObsidian({ apiKey: 'do_live_...' })
Python
Sync client using requests. Includes an async version (AsyncDarkObsidian) using httpx. Full type hints for Python 3.9+.
# pip install requests (or httpx for async)
# Copy sdk/python/dark_obsidian.py to your project
from dark_obsidian import DarkObsidian
client = DarkObsidian(api_key='do_live_...')
PHP
PHP 8.0+, uses cURL. No Composer dependencies required for basic usage.
// Copy sdk/php/DarkObsidian.php to your project
require_once 'DarkObsidian.php';
$client = new DarkObsidian('do_live_...');
Dart / Flutter
Dart 3+ and Flutter 3.10+. Full type definitions for all resources.
dart pub add dark_obsidian
import 'package:dark_obsidian/dark_obsidian.dart';
final client = DarkObsidian(apiKey: 'do_live_...');
Direct API (no SDK needed)
The API is a standard REST JSON API. You can call it with curl, Postman, Insomnia, or any HTTP client without an SDK.
curl -X POST \
https://qatxonlxvtgxvqjgfxpl.supabase.co/functions/v1/api/orders \
-H "Authorization: Bearer do_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"items": [{"product_id": "uuid", "quantity": 1}]}'
Community examples
The SDK directory includes ready-to-use integration examples:
sdk/javascript/examples/quickstart.js- 5-minute Node.js demosdk/javascript/examples/woocommerce-integration.js- WooCommerce order syncsdk/python/examples/quickstart.py- Python demosdk/php/examples/woocommerce-integration.php- PHP WooCommerce handler