From e75f5f4745c3502f12c7ec1092fd84717090786f Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Sun, 14 Jan 2024 18:14:40 -0300 Subject: [PATCH 1/3] Refactor run_on_mac_or_linux function and remove unused imports --- src/backend/langflow/__main__.py | 43 ++++++++------------------------ 1 file changed, 10 insertions(+), 33 deletions(-) diff --git a/src/backend/langflow/__main__.py b/src/backend/langflow/__main__.py index d972eb147..01525302a 100644 --- a/src/backend/langflow/__main__.py +++ b/src/backend/langflow/__main__.py @@ -1,27 +1,22 @@ -import multiprocessing import platform import socket import sys -import time -import webbrowser from pathlib import Path from typing import Optional -import httpx import typer from dotenv import load_dotenv -from multiprocess import Process, cpu_count # type: ignore +from langflow.main import setup_app +from langflow.services.deps import get_settings_service +from langflow.services.utils import initialize_settings_service +from langflow.utils.logger import configure, logger +from multiprocess import cpu_count # type: ignore from rich import box from rich import print as rprint from rich.console import Console from rich.panel import Panel from rich.table import Table -from langflow.main import setup_app -from langflow.services.deps import get_settings_service -from langflow.services.utils import initialize_settings_service -from langflow.utils.logger import configure, logger - console = Console() app = typer.Typer(no_args_is_help=True) @@ -211,28 +206,12 @@ def run( run_on_windows(host, port, log_level, options, app) else: # Run using gunicorn on Linux - run_on_mac_or_linux(host, port, log_level, options, platform.system(), open_browser) + run_on_mac_or_linux(host, port, log_level, options, app) -def run_on_mac_or_linux(host, port, log_level, options, system, open_browser=True): - if system == "Darwin": - ctx = multiprocessing.get_context("spawn") - webapp_process = ctx.Process(target=run_langflow, args=(host, port, log_level, options)) - else: - webapp_process = Process(target=run_langflow, args=(host, port, log_level, options)) - webapp_process.start() - status_code = 0 - while status_code != 200: - try: - status_code = httpx.get(f"http://{host}:{port}/health").status_code - - except Exception: - time.sleep(1) - +def run_on_mac_or_linux(host, port, log_level, options, app): print_banner(host, port) - if open_browser: - webbrowser.open(f"http://{host}:{port}") - webapp_process.join() + run_langflow(host, port, log_level, options, app) def run_on_windows(host, port, log_level, options, app): @@ -302,7 +281,7 @@ def print_banner(host, port): rprint(panel) -def run_langflow(host, port, log_level, options): +def run_langflow(host, port, log_level, options, app): """ Run Langflow server on localhost """ @@ -315,12 +294,10 @@ def run_langflow(host, port, log_level, options): import uvicorn uvicorn.run( - "langflow.main:create_app", - factory=True, + app, host=host, port=port, log_level=log_level, - workers=options["workers"], ) else: from langflow.server import LangflowApplication From 7fc32b342a90cbec15bc89d9fa047c0c7a4d2a18 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Sun, 14 Jan 2024 18:15:56 -0300 Subject: [PATCH 2/3] Refactor imports and initialize services in __main__.py --- src/backend/langflow/__main__.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/backend/langflow/__main__.py b/src/backend/langflow/__main__.py index 01525302a..c1644c088 100644 --- a/src/backend/langflow/__main__.py +++ b/src/backend/langflow/__main__.py @@ -6,16 +6,19 @@ from typing import Optional import typer from dotenv import load_dotenv -from langflow.main import setup_app -from langflow.services.deps import get_settings_service -from langflow.services.utils import initialize_settings_service -from langflow.utils.logger import configure, logger from multiprocess import cpu_count # type: ignore from rich import box from rich import print as rprint from rich.console import Console from rich.panel import Panel from rich.table import Table +from sqlmodel import select + +from langflow.main import setup_app +from langflow.services.database.utils import session_getter +from langflow.services.deps import get_db_service, get_settings_service +from langflow.services.utils import initialize_services, initialize_settings_service +from langflow.utils.logger import configure, logger console = Console() From 3244e3b34a07b36b8e7c91f1454ee61260927711 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Sun, 14 Jan 2024 18:16:09 -0300 Subject: [PATCH 3/3] Update version to 0.6.5a3 in pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 97e6e4321..a7a77fdb5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "langflow" -version = "0.6.5a2" +version = "0.6.5a3" description = "A Python package with a built-in web application" authors = ["Logspace "] maintainers = [