SDK Overview
Overview of RunAgent SDKs
Client libraries for interacting with RunAgent
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 support
JavaScript
Coming Soon - Node.js and browser support
Rust
Coming Soon - High-performance native SDK
Go
Coming Soon - Idiomatic Go client
Common 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 | JavaScript | Rust | Go |
---|---|---|---|---|
Sync Support | ✅ | ✅ | ✅ | ✅ |
Async Support | ✅ | ✅ | ✅ | ✅ |
Streaming | ✅ | 🚧 | 🚧 | 🚧 |
Type Hints | ✅ | ✅ (TS) | ✅ | ✅ |
Published | ✅ | 🚧 | 🚧 | 🚧 |
Basic Usage Pattern
All SDKs follow a similar pattern:
Python
JavaScript
Rust
Go
Authentication
SDKs support multiple authentication methods:
Environment Variable
Set RUNAGENT_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
JavaScript SDK
Best for:
- Web applications
- Node.js backends
- React/Vue/Angular apps
- Serverless functions
Rust SDK
Best for:
- High-performance applications
- Systems programming
- WebAssembly targets
- Embedded systems
Go SDK
Best for:
- Microservices
- Cloud-native applications
- CLI tools
- Concurrent processing
Performance Considerations
SDK | Startup Time | Memory Usage | Throughput |
---|---|---|---|
Python | Medium | Medium | Good |
JavaScript | Fast | Low | Good |
Rust | Fast | Very Low | Excellent |
Go | Fast | Low | Excellent |
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]