Skip to main content

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

  1. Ensure DCC is installed in standard locations
  2. Check DCC executable permissions
  3. Run discovery: python src/main.py --discover-only

Connection Issues

  1. Check firewall settings (port 8001)
  2. Verify Railway backend URL in config
  3. Check agent logs: plumber_agent.log

Performance Issues

  1. Monitor system resources via /health endpoint
  2. Adjust DCC timeout settings in config
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plumber_agent-1.0.2.tar.gz (271.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plumber_agent-1.0.2-py3-none-any.whl (216.2 kB view details)

Uploaded Python 3

File details

Details for the file plumber_agent-1.0.2.tar.gz.

File metadata

  • Download URL: plumber_agent-1.0.2.tar.gz
  • Upload date:
  • Size: 271.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for plumber_agent-1.0.2.tar.gz
Algorithm Hash digest
SHA256 97dda92e8212598f3dd04ee6d1d6a4be3c1a614107946900ef2d2d34676bf06f
MD5 665eca35db90e8f2dd369ed1b8b84392
BLAKE2b-256 d3e3cf19fac200f0f7ee835e7f0f5b6c0453efeeea47c880e10f20d1bd602768

See more details on using hashes here.

File details

Details for the file plumber_agent-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: plumber_agent-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 216.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for plumber_agent-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 46f1386b302c4bed095d6d3aa044aa157dd3b0c233ee8ee8687e402ab4e3e5d6
MD5 5f0ab414cf66e3bb4b5017cee0b0e3f1
BLAKE2b-256 7fd0ead6cd2d9c399fdc5fee2ba4f9a2adc9d572294e8fb0817f434b9737494f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page