From 72042b315f249d278e2e914a7d600c6b65407929 Mon Sep 17 00:00:00 2001 From: hsm207 Date: Thu, 17 Aug 2023 11:02:42 +0000 Subject: [PATCH 1/2] add poetry to devcontainer --- .devcontainer/devcontainer.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 282ff4ad3..edd9b2b89 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,7 +6,8 @@ "image": "mcr.microsoft.com/devcontainers/universal:2-linux", "features": { "ghcr.io/devcontainers/features/aws-cli:1": {}, - "ghcr.io/devcontainers/features/docker-in-docker": {} + "ghcr.io/devcontainers/features/docker-in-docker": {}, + "ghcr.io/devcontainers-contrib/features/poetry": {} }, "customizations": { "vscode": {"extensions": [ @@ -18,6 +19,10 @@ ]} }, + "containerEnv": { + "POETRY_VIRTUALENVS_IN_PROJECT": "true" + }, + // Features to add to the dev container. More info: https://containers.dev/features. // "features": {}, From e210fc316ad86764d8e46ef7b7d061adee9fc8e8 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Thu, 17 Aug 2023 08:23:50 -0300 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=90=9B=20fix(=5F=5Fmain=5F=5F.py):=20?= =?UTF-8?q?import=20and=20call=20initialize=5Fsettings=5Fmanager()=20to=20?= =?UTF-8?q?ensure=20settings=20manager=20is=20initialized=20=E2=9C=A8=20fe?= =?UTF-8?q?at(manager.py):=20add=20check=20to=20prevent=20duplicate=20regi?= =?UTF-8?q?stration=20of=20service=20factories=20in=20ServiceManager=20cla?= =?UTF-8?q?ss=20=E2=9C=A8=20feat(manager.py):=20add=20initialize=5Fsetting?= =?UTF-8?q?s=5Fmanager()=20function=20to=20initialize=20the=20settings=20m?= =?UTF-8?q?anager?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/__main__.py | 2 ++ src/backend/langflow/services/manager.py | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/__main__.py b/src/backend/langflow/__main__.py index 43247b10f..c86e9863f 100644 --- a/src/backend/langflow/__main__.py +++ b/src/backend/langflow/__main__.py @@ -1,6 +1,7 @@ import sys import time import httpx +from langflow.services.manager import initialize_settings_manager from langflow.services.utils import get_settings_manager from langflow.utils.util import get_number_of_workers from multiprocess import Process # type: ignore @@ -30,6 +31,7 @@ def update_settings( """Update the settings from a config file.""" # Check for database_url in the environment variables + initialize_settings_manager() settings_manager = get_settings_manager() if config: logger.debug(f"Loading settings from {config}") diff --git a/src/backend/langflow/services/manager.py b/src/backend/langflow/services/manager.py index 1606b3a82..f05102d0e 100644 --- a/src/backend/langflow/services/manager.py +++ b/src/backend/langflow/services/manager.py @@ -18,7 +18,8 @@ class ServiceManager: """ Registers a new factory. """ - self.factories[service_factory.service_class.name] = service_factory + if service_factory.service_class.name not in self.factories: + self.factories[service_factory.service_class.name] = service_factory def get(self, service_name: ServiceType): """ @@ -85,3 +86,12 @@ def initialize_services(): service_manager.register_factory(database_factory.DatabaseManagerFactory()) service_manager.register_factory(cache_factory.CacheManagerFactory()) service_manager.register_factory(chat_factory.ChatManagerFactory()) + + +def initialize_settings_manager(): + """ + Initialize the settings manager. + """ + from langflow.services.settings import factory as settings_factory + + service_manager.register_factory(settings_factory.SettingsManagerFactory())