From b83e6a53be8a4fba98ba34430944550eef90cf63 Mon Sep 17 00:00:00 2001 From: RockChinQ Date: Sat, 28 Feb 2026 06:00:50 -0500 Subject: [PATCH] fix(storage): lazy import s3storage to avoid boto3 dependency for local storage Fixes #2014 When using default local storage, the s3storage module was imported at the top level, which triggered boto3/botocore import and caused ModuleNotFoundError if those packages weren't installed. Now s3storage is only imported when S3 storage is actually configured. --- src/langbot/pkg/storage/mgr.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/langbot/pkg/storage/mgr.py b/src/langbot/pkg/storage/mgr.py index 2f263f15..1c5dec90 100644 --- a/src/langbot/pkg/storage/mgr.py +++ b/src/langbot/pkg/storage/mgr.py @@ -3,7 +3,7 @@ from __future__ import annotations from ..core import app from . import provider -from .providers import localstorage, s3storage +from .providers import localstorage class StorageMgr: @@ -21,6 +21,7 @@ class StorageMgr: storage_type = storage_config.get('use', 'local') if storage_type == 's3': + from .providers import s3storage self.storage_provider = s3storage.S3StorageProvider(self.ap) self.ap.logger.info('Initialized S3 storage backend.') else: