Introduction
RunAgent provides native SDKs for multiple programming languages, making it easy to integrate deployed agents into your applications. All SDKs follow consistent patterns while respecting language-specific conventions.Available SDKs
Python
Full-featured SDK with sync/async supportRust
High-performance SDK with zero-cost abstractionsJavaScript
Coming Soon - Node.js and browser supportGo
Coming Soon - Idiomatic Go clientCommon Features
All SDKs provide:- Authentication: API key and token management
- Synchronous Calls: Request/response pattern
- Asynchronous Support: Non-blocking operations
- Streaming: Real-time response streaming
- Error Handling: Consistent error types
- Retry Logic: Automatic retry with backoff
- Type Safety: Language-appropriate typing
Quick Comparison
Feature | Python | Rust | JavaScript | Go |
---|---|---|---|---|
Sync Support | ✅ | ✅ | ✅ | ✅ |
Async Support | ✅ | ✅ | ✅ | ✅ |
Streaming | ✅ | ✅ | 🚧 | 🚧 |
Type Safety | ✅ | ✅ | ✅ (TS) | ✅ |
Published | ✅ | ✅ | 🚧 | 🚧 |
Basic Usage Pattern
All SDKs follow a similar pattern:Python
Rust
JavaScript
Go
Authentication
SDKs support multiple authentication methods:Environment Variable
SetRUNAGENT_API_KEY
and SDKs will use it automatically:
Direct Configuration
Pass API key during initialization:Configuration File
SDKs can read from~/.runagent/config.json
:
Error Handling
All SDKs provide consistent error types:Error Type | Description |
---|---|
AuthenticationError | Invalid or missing credentials |
AgentNotFoundError | Agent doesn’t exist |
ValidationError | Invalid input data |
RateLimitError | Too many requests |
TimeoutError | Request timed out |
NetworkError | Connection issues |
Advanced Features
Streaming Responses
For real-time applications:Batch Processing
Process multiple requests efficiently:Custom Headers
Add custom headers for tracking:SDK Selection Guide
Choose your SDK based on:Python SDK
Best for:- Data science and ML applications
- Backend services
- Scripts and automation
- Jupyter notebooks
Rust SDK
Best for:- High-performance applications
- Systems programming
- WebAssembly targets
- Memory-efficient applications
- Concurrent processing
JavaScript SDK
Best for:- Web applications
- Node.js backends
- React/Vue/Angular apps
- Serverless functions
Go SDK
Best for:- Microservices
- Cloud-native applications
- CLI tools
- Concurrent processing
Performance Considerations
SDK | Startup Time | Memory Usage | Throughput | Type Safety |
---|---|---|---|---|
Python | Medium | Medium | Good | Runtime |
Rust | Fast | Very Low | Excellent | Compile-time |
JavaScript | Fast | Low | Good | Optional (TS) |
Go | Fast | Low | Excellent | Compile-time |
Migration Guide
Moving between SDKs? The concepts remain the same:- Client initialization - Same parameters
- Method names - Consistent across languages
- Response format - JSON-compatible structures
- Error handling - Similar error types
Getting Help
- Documentation: Language-specific guides
- Examples: GitHub repositories with samples
- Community: Discord channels for each SDK
- Support: [email protected]