From efde7efd49e303de133da939017110e83f2f9ba9 Mon Sep 17 00:00:00 2001 From: Wei-Rui Chen <27918980+weiruichen01@users.noreply.github.com> Date: Wed, 15 Oct 2025 02:08:35 -0700 Subject: [PATCH] Put import of ModifierFactory to a try block Users who install with the train extra (which excludes llmcompressor) will hit an ImportError. This change wraps the llmcompressor import in try and logs that skipping FMCHISEL modifier registration is expected when using the train extra. When llmcompressor is available, registration proceeds as before. --- src/fmchisel/__init__.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/fmchisel/__init__.py b/src/fmchisel/__init__.py index 56999c0..cdbe3d6 100644 --- a/src/fmchisel/__init__.py +++ b/src/fmchisel/__init__.py @@ -1,13 +1,17 @@ import logging -from llmcompressor.modifiers.factory import ModifierFactory - logger = logging.getLogger(__name__) + try: + from llmcompressor.modifiers.factory import ModifierFactory + +except ImportError: + logger.info( + "Optional dependency 'llmcompressor' not found; skipping FMCHISEL modifier " + "registration. If you installed from source with the 'train' extra, this is expected." + ) +else: ModifierFactory._EXPERIMENTAL_PACKAGE_PATH = "fmchisel" ModifierFactory.refresh() logger.info("Registered FMCHISEL modifiers successfully.") - -except ImportError: - logger.info("llmcompressor not detected. FMCHISEL Modifiers will not be registered.")