#!/usr/bin/env python3 """ Quick test script to verify Hunyuan3D pipeline can be imported and initialized """ import sys from pathlib import Path # Add src to path sys.path.insert(0, str(Path(__file__).parent)) try: print("Testing Hunyuan3D pipeline import...") # Test imports from src.pipelines.hunyuan3d_pipeline import ( Hunyuan3DPipeline, Hunyuan3DConfig, GenerationMode, TextureMethod, ExportFormat, DigiPalHunyuan3DIntegration ) print("✓ All imports successful") # Test configuration print("\nTesting configuration...") config = Hunyuan3DConfig() print(f"✓ Config created with default mode: {config.default_mode.value}") print(f" - Space ID: {config.space_id}") print(f" - Export format: {config.export_format.value}") print(f" - Target polycount: {config.target_polycount}") # Test pipeline initialization (without connecting to API) print("\nTesting pipeline initialization...") try: # This will try to connect to the Space, which might fail without internet # or if the Space is down, but that's okay for this test pipeline = Hunyuan3DPipeline(config) print("✓ Pipeline initialized successfully") except Exception as e: print(f"⚠ Pipeline initialization failed (expected if offline): {e}") # Test integration class print("\nTesting DigiPal integration...") integration = DigiPalHunyuan3DIntegration(config) print("✓ DigiPal integration initialized") # List available modes print("\nAvailable generation modes:") for mode in GenerationMode: print(f" - {mode.name}: {mode.value}") print("\nAvailable texture methods:") for method in TextureMethod: print(f" - {method.name}: {method.value}") print("\nAvailable export formats:") for format in ExportFormat: print(f" - {format.name}: {format.value}") print("\n✅ All tests passed! Hunyuan3D pipeline is ready to use.") except ImportError as e: print(f"❌ Import error: {e}") print("\nMake sure you have installed the required dependencies:") print(" pip install gradio_client trimesh aiohttp") except Exception as e: print(f"❌ Unexpected error: {e}") import traceback traceback.print_exc() if __name__ == "__main__": # Run the test pass