@@ -87,9 +87,24 @@ def enable_hf_progress_bars():
8787 # Configure huggingface_hub
8888 try :
8989 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"
93108
94109 # Also enable HF Transfer for better download experience
95110 if hasattr (huggingface_hub , "constants" ):
@@ -100,13 +115,57 @@ def enable_hf_progress_bars():
100115 # Configure transformers
101116 try :
102117 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 ()
105140 except ImportError :
106141 pass
107142
108143# Alias for backward compatibility
109144configure_hf_progress_bars = enable_hf_progress_bars
110145
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
112171__all__ = ["enable_hf_progress_bars" , "configure_hf_progress_bars" , "configure_hf_logging" , "StdoutRedirector" ]
0 commit comments