Developer Experience
Status: ✅ Production Ready
Capability: Python SDK, CLI tool, OpenAPI documentation
Business Value: 90% faster development, comprehensive tooling, production-ready deployment
Overview
Developer Experience provides comprehensive tooling for developers to build, deploy, and manage process automation solutions with Python SDK, CLI tools, and extensive documentation.
Key Features
1. Python SDK
Technology: High-level Python SDK with intuitive API
Capabilities:
- Simple agent initialization and usage
- Workflow builder with method chaining
- Integration management
- Monitoring and health checking
- Configuration management
Example:
from recohut.process_automation import ProcessAgent, WorkflowBuilder
# Initialize agent
agent = ProcessAgent.invoice_processing()
# Process invoice
result = await agent.process_invoice("invoice.pdf")
# Create custom workflow
workflow = (WorkflowBuilder("custom_workflow")
.add_step("extract", "extract", {"type": "invoice_extraction"})
.add_step("validate", "validate", {"type": "business_rules"})
.add_step("route", "route", {"type": "approval_routing"}))
# Execute workflow
result = await workflow.execute({"input": "data"})
2. CLI Tool
Technology: Typer-based CLI for deployment and management
Capabilities:
- Workflow deployment and management
- Agent testing and validation
- System monitoring and health checks
- Configuration management
- Log analysis and debugging
Example:
# Deploy workflow
recohut-process deploy invoice-workflow.yaml --env production
# Test agent
recohut-process test invoice-agent --sample-data invoices/
# Monitor system
recohut-process monitor --agent invoice --last 24h
# Check health
recohut-process health --all
# View logs
recohut-process logs --agent invoice --tail 100
3. OpenAPI Documentation
Technology: FastAPI with comprehensive OpenAPI specification
Capabilities:
- Interactive API documentation
- Code examples and tutorials
- Authentication and authorization
- Rate limiting and quotas
- Error handling and responses
Example:
@app.post("/api/agents/invoice/process")
async def process_invoice(
file: UploadFile,
vendor_hint: Optional[str] = None,
auto_approve_threshold: float = 1000.0
):
"""
Process invoice document with AI agent.
- **file**: Invoice PDF file
- **vendor_hint**: Optional vendor name hint
- **auto_approve_threshold**: Auto-approval threshold amount
Returns:
- **invoice_data**: Extracted invoice information
- **approval_decision**: Approval routing decision
- **confidence**: Processing confidence score
"""
result = await invoice_agent.process_invoice(
file_path=file.filename,
vendor_hint=vendor_hint,
auto_approve_threshold=auto_approve_threshold
)
return result
4. Integration Management
Technology: Comprehensive integration framework
Capabilities:
- 300+ pre-built connectors
- Custom integration development
- Data synchronization
- Real-time event processing
- Monitoring and alerting
Example:
from recohut.integrations import IntegrationManager
# Initialize integration manager
manager = IntegrationManager()
# Add Salesforce integration
manager.add_integration(IntegrationConfig(
name="salesforce_sync",
type="airbyte",
config={"source": "salesforce", "destination": "postgresql"}
))
# Sync data
result = await manager.sync_data("salesforce_sync", "salesforce", "postgresql")
Business Impact
Before Developer Experience
- 2-4 weeks for custom development
- Complex setup and configuration
- Limited documentation and examples
- Manual deployment and monitoring
After Developer Experience
- 2-4 hours for custom development
- Simple SDK and CLI tools
- Comprehensive documentation
- Automated deployment and monitoring
Implementation Details
SDK Components
| Component | Description | Use Case | API |
|---|---|---|---|
| ProcessAgent | High-level agent interface | Invoice, email, research | ProcessAgent.invoice_processing() |
| WorkflowBuilder | Workflow creation and management | Custom workflows | WorkflowBuilder().add_step() |
| IntegrationManager | Integration management | Data sync, connectors | IntegrationManager().sync_data() |
| MetricsCollector | Performance monitoring | Metrics, health checks | MetricsCollector().record_metric() |
CLI Commands
| Command | Description | Use Case | Example |
|---|---|---|---|
| deploy | Deploy workflows | Production deployment | deploy workflow.yaml --env prod |
| test | Test agents | Development testing | test invoice-agent --sample-data data/ |
| monitor | System monitoring | Performance tracking | monitor --agent invoice --last 24h |
| health | Health checks | System status | health --all |
| logs | Log analysis | Debugging | logs --agent invoice --tail 100 |
API Endpoints
| Endpoint | Method | Description | Use Case |
|---|---|---|---|
/api/agents/invoice/process | POST | Process invoice | Invoice automation |
/api/agents/email/classify | POST | Classify email | Email automation |
/api/agents/research/conduct | POST | Conduct research | Research automation |
/api/workflows/execute | POST | Execute workflow | Custom workflows |
/api/integrations/sync | POST | Sync data | Data synchronization |
Configuration
SDK Configuration
sdk_config = {
"base_url": "https://api.recohut.com",
"api_key": "your_api_key",
"timeout": 30,
"retry_attempts": 3,
"logging_level": "INFO"
}
CLI Configuration
cli_config = {
"default_environment": "production",
"log_level": "INFO",
"output_format": "json",
"color_output": True
}
API Configuration
api_config = {
"title": "Process Automation API",
"version": "1.0.0",
"description": "AI-powered process automation API",
"contact": {"email": "support@recohut.com"},
"license": {"name": "MIT"}
}
Use Cases
1. Custom Agent Development
- Create specialized agents for specific use cases
- Integrate with custom business logic
- Deploy and manage agent lifecycle
- Monitor and optimize performance
2. Workflow Automation
- Build complex multi-step workflows
- Integrate with existing systems
- Deploy and scale workflows
- Monitor workflow performance
3. Data Integration
- Connect to 300+ data sources
- Synchronize data across systems
- Monitor integration health
- Handle data transformation
4. System Monitoring
- Track performance metrics
- Monitor system health
- Analyze logs and errors
- Optimize resource usage
Best Practices
1. SDK Usage
- Use high-level APIs for common tasks
- Implement proper error handling
- Use async/await for I/O operations
- Follow configuration best practices
2. CLI Usage
- Use environment-specific configurations
- Implement proper logging
- Use structured output formats
- Follow security best practices
3. API Development
- Follow RESTful design principles
- Implement proper authentication
- Use consistent error responses
- Provide comprehensive documentation