SmolFactory / scripts /check_dependencies.py
Tonic's picture
solves hf cli error
c2321bb verified
#!/usr/bin/env python3
"""
Dependency Check Script
This script checks if all required dependencies are installed for the
SmolLM3 fine-tuning pipeline.
"""
import sys
import importlib
def check_dependency(module_name: str, package_name: str = None) -> bool:
"""
Check if a Python module is available.
Args:
module_name (str): The module name to check
package_name (str): The package name for pip installation (if different)
Returns:
bool: True if module is available, False otherwise
"""
try:
importlib.import_module(module_name)
return True
except ImportError:
return False
def main():
"""Check all required dependencies."""
print("πŸ” Checking dependencies for SmolLM3 Fine-tuning Pipeline")
print("=" * 60)
# Required dependencies
dependencies = [
("huggingface_hub", "huggingface_hub"),
("torch", "torch"),
("transformers", "transformers"),
("datasets", "datasets"),
("accelerate", "accelerate"),
("peft", "peft"),
("trl", "trl"),
("bitsandbytes", "bitsandbytes"),
]
missing_deps = []
all_good = True
for module_name, package_name in dependencies:
if check_dependency(module_name):
print(f"βœ… {module_name}")
else:
print(f"❌ {module_name} (install with: pip install {package_name})")
missing_deps.append(package_name)
all_good = False
print("\n" + "=" * 60)
if all_good:
print("βœ… All dependencies are installed!")
print("πŸš€ You're ready to run the fine-tuning pipeline!")
else:
print("❌ Missing dependencies detected!")
print("\nTo install missing dependencies, run:")
print(f"pip install {' '.join(missing_deps)}")
print("\nOr install all requirements:")
print("pip install -r requirements/requirements.txt")
return all_good
if __name__ == "__main__":
success = main()
sys.exit(0 if success else 1)