Skip to content

Commit 8935c47

Browse files
committed
fix: instantiate settings lazily to avoid requiring environment variables during import and testing
1 parent a3e66a6 commit 8935c47

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

libs/admin-api-lib/src/admin_api_lib/dependency_container.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,15 @@ class DependencyContainer(DeclarativeContainer):
9191
stackit_chunker_embedder_settings = StackitEmbedderSettings()
9292
ollama_chunker_embedder_settings = OllamaEmbedderSettings()
9393
ollama_settings = OllamaSettings()
94-
langfuse_settings = LangfuseSettings()
95-
stackit_vllm_settings = StackitVllmSettings()
94+
# Instantiate lazily: env vars are required and should not be needed during import/test collection.
95+
langfuse_settings = Singleton(LangfuseSettings)
96+
# Instantiate lazily: STACKIT_VLLM_API_KEY may not be set for unit tests.
97+
stackit_vllm_settings = Singleton(StackitVllmSettings)
9698
document_extractor_settings = DocumentExtractorSettings()
9799
rag_class_type_settings = RAGClassTypeSettings()
98100
rag_api_settings = RAGAPISettings()
99-
key_value_store_settings = KeyValueSettings()
101+
# Instantiate lazily: USECASE_KEYVALUE_HOST / USECASE_KEYVALUE_PORT are required.
102+
key_value_store_settings = Singleton(KeyValueSettings)
100103
summarizer_settings = SummarizerSettings()
101104
source_uploader_settings = SourceUploaderSettings()
102105
retry_decorator_settings = RetryDecoratorSettings()
@@ -168,9 +171,9 @@ class DependencyContainer(DeclarativeContainer):
168171

169172
langfuse = Singleton(
170173
Langfuse,
171-
public_key=langfuse_settings.public_key,
172-
secret_key=langfuse_settings.secret_key,
173-
host=langfuse_settings.host,
174+
public_key=langfuse_settings.provided.public_key,
175+
secret_key=langfuse_settings.provided.secret_key,
176+
host=langfuse_settings.provided.host,
174177
)
175178
summarizer_prompt = SUMMARIZE_PROMPT
176179

0 commit comments

Comments
 (0)