From efebf8f265db58d47d809af43f1573ff8c544daa Mon Sep 17 00:00:00 2001 From: Thomas Schmelzer Date: Sat, 22 Feb 2025 08:59:52 +0400 Subject: [PATCH 1/4] Update numpy_server.py --- src/np/flight/numpy_server.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/np/flight/numpy_server.py b/src/np/flight/numpy_server.py index 8addf58..92abeaa 100644 --- a/src/np/flight/numpy_server.py +++ b/src/np/flight/numpy_server.py @@ -13,7 +13,7 @@ class Server(fl.FlightServerBase, ABC): A Flight Server implementation that handles matrix data and performs computations on it. """ - def __init__(self, host, port, logger=None, **kwargs): + def __init__(self, host="0.0.0.0", port=8080, logger=None, **kwargs): """ Initialize the server with the provided host and port, and optionally a logger. @@ -22,7 +22,7 @@ def __init__(self, host, port, logger=None, **kwargs): :param logger: Optional logger to use for logging messages (defaults to loguru). :param kwargs: Additional arguments passed to the FlightServerBase constructor. """ - uri = f"grpc+tcp://{host}:{port}" + uri = f"grpc://{host}:{port}" super().__init__(uri, **kwargs) # Initialize the base FlightServer with the URI. self._logger = logger or loguru.logger # Use provided logger or default to loguru's logger. self._storage = {} # Dictionary to store uploaded data associated with specific commands. @@ -101,7 +101,7 @@ def do_get(self, context, ticket): return fl.RecordBatchStream(result_table) @classmethod - def start(cls, host="127.0.0.1", port=5008, logger=None, **kwargs): # pragma: no cover + def start(cls, host="0.0.0.0", port=8080, logger=None, **kwargs): # pragma: no cover """ Start the server with the specified port and logger. From 839a6afd3488d727b4f4dd16513cf66d56549b4f Mon Sep 17 00:00:00 2001 From: Thomas Schmelzer Date: Sat, 22 Feb 2025 21:56:22 +0400 Subject: [PATCH 2/4] no B104 test --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index afe223b..4616199 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,3 +49,4 @@ include = [ [tool.bandit] exclude_dirs = ["tests"] +skips = ["B104"] From cc2c029c9ae822fc29c9f2d2426ec99a38e46887 Mon Sep 17 00:00:00 2001 From: Thomas Schmelzer Date: Sat, 22 Feb 2025 21:58:28 +0400 Subject: [PATCH 3/4] loguru only dev dependency --- pyproject.toml | 2 +- uv.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4616199..31f0c22 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,6 @@ authors = [{name='Thomas Schmelzer', email= 'thomas.schmelzer@gmail.com'}] readme = "README.md" requires-python = ">=3.10" dependencies = [ - "loguru>=0.7.3", "numpy>=2.2.3", "pyarrow>=19.0.0", ] @@ -17,6 +16,7 @@ repository = "https://github.com/tschm/numpy-client" [dependency-groups] dev = [ + "loguru>=0.7.3", "pre-commit>=4.1.0", "pytest>=8.3.4", "pytest-cov>=6.0.0", diff --git a/uv.lock b/uv.lock index a50c06e..8313672 100644 --- a/uv.lock +++ b/uv.lock @@ -219,13 +219,13 @@ name = "numpy-flight" version = "0.0.0" source = { editable = "." } dependencies = [ - { name = "loguru" }, { name = "numpy" }, { name = "pyarrow" }, ] [package.dev-dependencies] dev = [ + { name = "loguru" }, { name = "pre-commit" }, { name = "pytest" }, { name = "pytest-cov" }, @@ -234,13 +234,13 @@ dev = [ [package.metadata] requires-dist = [ - { name = "loguru", specifier = ">=0.7.3" }, { name = "numpy", specifier = ">=2.2.3" }, { name = "pyarrow", specifier = ">=19.0.0" }, ] [package.metadata.requires-dev] dev = [ + { name = "loguru", specifier = ">=0.7.3" }, { name = "pre-commit", specifier = ">=4.1.0" }, { name = "pytest", specifier = ">=8.3.4" }, { name = "pytest-cov", specifier = ">=6.0.0" }, From e1c997185847c2aedc1d4b700b4ca30a3ad94adc Mon Sep 17 00:00:00 2001 From: Thomas Schmelzer Date: Sat, 22 Feb 2025 22:01:59 +0400 Subject: [PATCH 4/4] remove loguru as 1st class citizen --- src/np/flight/numpy_server.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/np/flight/numpy_server.py b/src/np/flight/numpy_server.py index 92abeaa..484c147 100644 --- a/src/np/flight/numpy_server.py +++ b/src/np/flight/numpy_server.py @@ -1,7 +1,7 @@ +import logging import threading # Module for creating and managing threads; used for thread safety with locking. from abc import ABC, abstractmethod -import loguru # Logging library that simplifies logging setup and usage. import numpy as np import pyarrow.flight as fl # PyArrow's Flight module to handle gRPC-based data transfer with Arrow. @@ -24,7 +24,7 @@ def __init__(self, host="0.0.0.0", port=8080, logger=None, **kwargs): """ uri = f"grpc://{host}:{port}" super().__init__(uri, **kwargs) # Initialize the base FlightServer with the URI. - self._logger = logger or loguru.logger # Use provided logger or default to loguru's logger. + self._logger = logger or logging.getLogger(__name__) # Use provided logger or default to loguru's logger. self._storage = {} # Dictionary to store uploaded data associated with specific commands. self._lock = threading.Lock() # Lock for ensuring thread safety when accessing shared resources. @@ -109,7 +109,6 @@ def start(cls, host="0.0.0.0", port=8080, logger=None, **kwargs): # pragma: no :param logger: Optional logger to use. :param kwargs: Additional arguments passed to the constructor. """ - logger = logger or loguru.logger # If no logger is provided, use loguru's default logger. server = cls(host=host, port=port, logger=logger, **kwargs) # Instantiate the server. server.logger.info(f"Starting {cls} Flight server on port {port}...") # Log the server start. server.serve() # Start the server to handle incoming requests.