@@ -87,9 +87,24 @@ def enable_hf_progress_bars():
87
87
# Configure huggingface_hub
88
88
try :
89
89
import huggingface_hub
90
- # The correct way to enable progress bars in huggingface_hub
91
- from huggingface_hub .utils import logging as hf_logging
92
- hf_logging .enable_progress_bars ()
90
+
91
+ # Different versions of huggingface_hub have different ways to enable progress bars
92
+ # Try multiple approaches to ensure compatibility
93
+
94
+ # Method 1: Try direct module function (newer versions)
95
+ if hasattr (huggingface_hub , "enable_progress_bars" ):
96
+ huggingface_hub .enable_progress_bars ()
97
+
98
+ # Method 2: Try through utils.logging (some versions)
99
+ try :
100
+ from huggingface_hub .utils import logging as hf_logging
101
+ if hasattr (hf_logging , "enable_progress_bars" ):
102
+ hf_logging .enable_progress_bars ()
103
+ except (ImportError , AttributeError ):
104
+ pass
105
+
106
+ # Method 3: Set environment variable (works for all versions)
107
+ os .environ ["HF_HUB_DISABLE_PROGRESS_BARS" ] = "0"
93
108
94
109
# Also enable HF Transfer for better download experience
95
110
if hasattr (huggingface_hub , "constants" ):
@@ -100,13 +115,57 @@ def enable_hf_progress_bars():
100
115
# Configure transformers
101
116
try :
102
117
import transformers
103
- transformers .utils .logging .enable_progress_bar ()
104
- transformers .logging .set_verbosity_warning ()
118
+
119
+ # Different versions of transformers have different ways to enable progress bars
120
+ # Try multiple approaches to ensure compatibility
121
+
122
+ # Method 1: Try through utils.logging (newer versions)
123
+ try :
124
+ if hasattr (transformers .utils .logging , "enable_progress_bar" ):
125
+ transformers .utils .logging .enable_progress_bar ()
126
+ except (ImportError , AttributeError ):
127
+ pass
128
+
129
+ # Method 2: Try direct module function (some versions)
130
+ if hasattr (transformers , "enable_progress_bars" ):
131
+ transformers .enable_progress_bars ()
132
+
133
+ # Method 3: Set environment variable (works for all versions)
134
+ os .environ ["TRANSFORMERS_VERBOSITY" ] = "warning"
135
+ os .environ ["TRANSFORMERS_NO_PROGRESS_BAR" ] = "0"
136
+
137
+ # Set verbosity level if available
138
+ if hasattr (transformers , "logging" ) and hasattr (transformers .logging , "set_verbosity_warning" ):
139
+ transformers .logging .set_verbosity_warning ()
105
140
except ImportError :
106
141
pass
107
142
108
143
# Alias for backward compatibility
109
144
configure_hf_progress_bars = enable_hf_progress_bars
110
145
111
- # Export the configure_hf_logging function for use in __init__.py
146
+ # Function to configure Hugging Face logging
147
+ def configure_hf_logging ():
148
+ """
149
+ Configure Hugging Face logging.
150
+ This function is called from __init__.py to set up logging early.
151
+ """
152
+ # Configure logging for Hugging Face libraries
153
+ for logger_name in ["transformers" , "huggingface_hub" , "accelerate" , "tqdm" , "filelock" ]:
154
+ hf_logger = logging .getLogger (logger_name )
155
+ hf_logger .setLevel (logging .WARNING ) # Only show warnings and errors
156
+ hf_logger .propagate = False # Don't propagate to parent loggers
157
+
158
+ # Remove any existing handlers
159
+ for handler in hf_logger .handlers [:]:
160
+ hf_logger .removeHandler (handler )
161
+
162
+ # Add a null handler to prevent warnings about no handlers
163
+ hf_logger .addHandler (logging .NullHandler ())
164
+
165
+ # Set environment variables for better compatibility
166
+ os .environ ["HF_HUB_DISABLE_PROGRESS_BARS" ] = "0" # Enable progress bars
167
+ os .environ ["TRANSFORMERS_VERBOSITY" ] = "warning" # Set verbosity level
168
+ os .environ ["TRANSFORMERS_NO_PROGRESS_BAR" ] = "0" # Enable progress bars
169
+
170
+ # Export functions for use in other modules
112
171
__all__ = ["enable_hf_progress_bars" , "configure_hf_progress_bars" , "configure_hf_logging" , "StdoutRedirector" ]
0 commit comments