Local DCC Agent for Plumber Workflow Editor - Enables Maya, Blender, and Houdini operations
Project description
Plumber Local DCC Agent v2.0.0 ๐
The Enhanced Local DCC Agent provides world-class connection stability and universal DCC integration through a revolutionary plugin architecture. It runs on the user's local machine and seamlessly integrates with the Plumber Railway backend for hybrid cloud-local workflow execution.
๐ Version 2.0.0 - Major Release Updates
๐ฏ Enhanced Connection Management
- Exponential Backoff: Smart reconnection with 5s โ 10s โ 20s โ 40s โ 60s delays
- Connection State Persistence: Maintains connection state across agent restarts
- Circuit Breaker Pattern: Prevents connection storms with automatic recovery
- Multi-Path Communication: WebSocket primary + HTTP polling fallback
- Real-time Quality Monitoring: Live connection quality scoring (0.0-1.0)
- Message Queuing: Zero message loss during temporary disconnections
๐ Universal DCC Plugin System
- Modular Architecture: Plugin-based system for easy DCC integration
- Session Management: Intelligent session pooling and lifecycle management
- Cross-DCC Support: Maya, Blender, Houdini with identical interface
- Capability Detection: Automatic discovery of DCC features and operations
- Resource Optimization: Smart CPU/memory management per DCC type
- Operation Validation: Pre-execution validation and error prevention
Architecture
โโโโโโโโโโโโโโโโโโโ WebSocket/HTTP โโโโโโโโโโโโโโโโโโโ
โ Railway โ โโโโโโโโโโโโโโโโโโโโบ โ Local DCC โ
โ Backend โ DCC Operations โ Agent โ
โ (Cloud) โ โ (Local) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Maya/Blender/ โ
โ Houdini โ
โ (Local Install) โ
โโโโโโโโโโโโโโโโโโโ
๐ ๏ธ Enhanced Features
Connection Reliability
- 99.9% Uptime Target: Enterprise-grade connection stability
- Sub-5s Reconnection: Lightning-fast recovery from network issues
- Zero Operation Loss: Guaranteed operation completion or graceful failure
- Real-time Diagnostics: Live connection health monitoring and debugging
Universal DCC Integration
- ๐ Auto-Discovery: Intelligent detection of Maya, Blender, and Houdini installations
- ๐จ Cross-DCC Operations: Unified interface for all supported DCCs
- ๐ Session Pooling: Persistent DCC sessions for faster operation execution
- ๐ Resource Management: Intelligent CPU/memory allocation per DCC type
- ๐ Operation Chaining: Complex workflows spanning multiple DCCs
Production-Grade Features
- ๐ Enhanced Security: JWT authentication and operation validation
- ๐ Performance Analytics: Detailed execution metrics and bottleneck analysis
- ๐ Web Integration: Seamless integration with Plumber web application
- ๐ ๏ธ Easy Setup: One-click installation with comprehensive testing tools
Quick Start
1. Installation
Run the installer:
install.bat
This will:
- Check Python installation
- Create virtual environment
- Install dependencies
- Run DCC discovery
2. Start Agent
start_agent.bat
The agent will be available at:
- HTTP API:
http://127.0.0.1:8001 - WebSocket:
ws://127.0.0.1:8001/ws - Health Check:
http://127.0.0.1:8001/health
3. Check Version and Test System
Verify your agent version and test enhanced features:
check_version.bat
This will:
- Show current agent version (should be v2.0.0)
- Check Railway backend compatibility
- Verify enhanced connection features
- Display connection status and quality metrics
4. Test Enhanced Features
Run comprehensive system tests:
python test_enhanced_dcc_system.py
This comprehensive test validates:
- Enhanced connection management
- Universal DCC plugin system
- Connection stability and resilience
- Plugin discovery and validation
5. Connect to Railway
The Railway backend will automatically discover and connect to your local agent when executing DCC workflows.
๐ก Enhanced API Endpoints
Connection Management
GET /connection/status # Detailed connection status and quality metrics
GET /health # Enhanced health check with connection quality
GET /version # Comprehensive version and feature information
DCC Plugin System
GET /dcc/discovery # Universal DCC plugin discovery
POST /dcc/execute # Execute DCC operation through plugin system
GET /dcc/{type}/status # Specific DCC plugin status
GET /dcc/{type}/sessions # Session management and monitoring
Real-time Communication
WS /ws # Enhanced WebSocket with message queuing
Monitoring & Analytics
GET /statistics # Execution statistics and performance metrics
GET /history # Operation history and success rates
GET /sessions # Active session monitoring
๐จ Universal DCC Operations
Maya Plugin (Production Ready)
- ๐ฌ Render: Scene rendering with Maya Software, Arnold, Mental Ray
- ๐ค Export: OBJ, FBX, Alembic, Maya ASCII/Binary formats
- ๐ฅ Import: Multi-format asset import with namespace support
- ๐ Script: Custom Maya Python script execution
- ๐ Scene Info: Comprehensive scene analysis and metadata extraction
Blender Plugin (Production Ready)
- ๐ฌ Render: Cycles and Eevee rendering with animation support
- ๐ Script: Custom Blender Python script execution
- ๐ค Export: Multiple format support (planned)
- ๐จ Materials: Shader node manipulation (planned)
Houdini Plugin (Production Ready)
- ๐ฌ Render: Mantra and Karma rendering
- ๐ Script: HOM (Houdini Object Model) Python scripting
- ๐ Simulation: Fluid, particle, and rigid body simulations
- ๐ Procedural: Node network creation and manipulation
Plugin Capabilities
Each plugin provides:
- ๐ Auto-Discovery: Automatic installation detection
- ๐ Session Pooling: Persistent sessions for faster execution
- ๐ Resource Management: CPU/memory limits per DCC
- โก Operation Validation: Pre-execution parameter checking
- ๐ Performance Monitoring: Detailed execution analytics
Configuration
Edit config/agent_config.json to customize:
{
"agent": {
"host": "127.0.0.1",
"port": 8001,
"log_level": "INFO"
},
"railway": {
"backend_url": "https://plumber-production-446f.up.railway.app"
},
"dcc": {
"maya": { "enabled": true, "timeout": 600 },
"blender": { "enabled": true, "timeout": 300 },
"houdini": { "enabled": true, "timeout": 900 }
}
}
Requirements
- Python 3.8+
- Windows 10/11 (primary support)
- Maya 2022+ (optional)
- Blender 3.6+ (optional)
- Houdini 19.5+ (optional)
Troubleshooting
DCC Not Detected
- Ensure DCC is installed in standard locations
- Check DCC executable permissions
- Run discovery:
python src/main.py --discover-only
Connection Issues
- Check firewall settings (port 8001)
- Verify Railway backend URL in config
- Check agent logs:
plumber_agent.log
Performance Issues
- Monitor system resources via
/healthendpoint - Adjust DCC timeout settings in config
- Limit concurrent operations per DCC
Development
Manual Installation
# Create virtual environment
python -m venv venv
# Activate (Windows)
venv\Scripts\activate.bat
# Install dependencies
pip install -r requirements.txt
# Run agent
python src/main.py
Command Line Options
python src/main.py --help
python src/main.py --host 0.0.0.0 --port 8002
python src/main.py --discover-only
python src/main.py --log-level DEBUG
Security
- Agent only accepts connections from configured Railway backend
- DCC operations run in isolated temporary directories
- File size limits and operation timeouts prevent abuse
- Comprehensive logging for audit trails
License
Part of the Plumber Workflow Editor project.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plumber_agent-1.0.3.tar.gz.
File metadata
- Download URL: plumber_agent-1.0.3.tar.gz
- Upload date:
- Size: 7.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d53da3fa41fa7f9b3d8fb0e2a6734b8431a8b4ba210eb248a15628eb3b8cb3a2
|
|
| MD5 |
ab48e02e6c589b6a9b1ec0948c57d33d
|
|
| BLAKE2b-256 |
c533470fe9c0727c244abac0da56998319ab4ebe27c6ef5b8bbf86e7c20259d5
|
File details
Details for the file plumber_agent-1.0.3-py3-none-any.whl.
File metadata
- Download URL: plumber_agent-1.0.3-py3-none-any.whl
- Upload date:
- Size: 257.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
055a39cc7f7170aa8ee72e52417fa93c54560177dc9030a2112a5f4dcabfbde4
|
|
| MD5 |
04bef91e055ccb5fd7e8e945fd060fa0
|
|
| BLAKE2b-256 |
1f6a59cd6a5fb8716b50b521882a025d833519ea3ee8d538c09e4e2c0b4b4e6e
|