File size: 3,077 Bytes
46d1c50
cc6efc0
 
 
 
 
 
 
 
46d1c50
 
cc6efc0
46d1c50
 
cc6efc0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
"""
Utils Package for BackgroundFX Pro
=================================

This package provides utility modules for device management, logging,
configuration, and shared utilities.

Author: BackgroundFX Pro Team
License: MIT
"""

# Import your existing utilities first
from .utilities import *

# Import new utility modules
from .device import (
    DeviceManager,
    get_device_manager,
    get_optimal_device,
    fix_cuda_compatibility,
    setup_optimal_threading,
    get_system_diagnostics
)

from .logger import (
    BackgroundFXLogger,
    setup_logging,
    get_logger,
    log_function_call,
    log_processing_pipeline,
    log_info,
    log_error,
    log_warning,
    log_debug
)

from .config import (
    ConfigManager,
    ModelConfig,
    QualityConfig,
    ProcessingConfig,
    VideoConfig,
    get_config,
    load_config,
    get_model_config,
    is_model_enabled,
    get_quality_thresholds,
    get_processing_config
)

from .utils import (
    ProgressTracker,
    FileManager,
    VideoUtils,
    ImageUtils,
    ValidationUtils,
    PerformanceUtils,
    temporary_directory,
    error_handler,
    retry_on_failure,
    batch_process,
    format_duration,
    get_system_info,
    ConfigurationError,
    ValidationError,
    ProcessingError,
    safe_division,
    clamp,
    interpolate,
    moving_average
)

# Package metadata
__version__ = "1.0.0"
__author__ = "BackgroundFX Pro Team"
__all__ = [
    # Device management
    'DeviceManager',
    'get_device_manager', 
    'get_optimal_device',
    'fix_cuda_compatibility',
    'setup_optimal_threading',
    'get_system_diagnostics',
    
    # Logging
    'BackgroundFXLogger',
    'setup_logging',
    'get_logger',
    'log_function_call',
    'log_processing_pipeline',
    'log_info',
    'log_error',
    'log_warning', 
    'log_debug',
    
    # Configuration
    'ConfigManager',
    'ModelConfig',
    'QualityConfig',
    'ProcessingConfig',
    'VideoConfig',
    'get_config',
    'load_config',
    'get_model_config',
    'is_model_enabled',
    'get_quality_thresholds',
    'get_processing_config',
    
    # Utilities
    'ProgressTracker',
    'FileManager',
    'VideoUtils', 
    'ImageUtils',
    'ValidationUtils',
    'PerformanceUtils',
    'temporary_directory',
    'error_handler',
    'retry_on_failure',
    'batch_process',
    'format_duration',
    'get_system_info',
    'ConfigurationError',
    'ValidationError',
    'ProcessingError',
    'safe_division',
    'clamp',
    'interpolate',
    'moving_average'
]

# Initialize logging and device management on import
try:
    # Setup logging with LOGS directory
    _logger = setup_logging(logs_dir="LOGS")
    _logger.info("✅ BackgroundFX Pro Utils package initialized")
    
    # Initialize device manager 
    _device_manager = get_device_manager()
    
    # Load configuration
    _config = get_config(checkpoints_dir="checkpoints")
    
    _logger.info("🚀 Utils package ready for BackgroundFX Pro")
    
except Exception as e:
    print(f"⚠️ Utils package initialization warning: {e}")