diff --git a/src/embeddingbuddy/app.py b/src/embeddingbuddy/app.py index e04c3da..7f782eb 100644 --- a/src/embeddingbuddy/app.py +++ b/src/embeddingbuddy/app.py @@ -167,7 +167,7 @@ def serve(host=None, port=None, dev=False, debug=False): use_debug = dev or debug # Only print startup messages in main process (not in Flask reloader) - if not os.environ.get('WERKZEUG_RUN_MAIN'): + if not os.environ.get("WERKZEUG_RUN_MAIN"): mode = "development" if dev else ("debug" if debug else "production") print(f"Starting EmbeddingBuddy in {mode} mode...") print("Loading dependencies (this may take a few seconds)...") @@ -183,18 +183,15 @@ def serve(host=None, port=None, dev=False, debug=False): import logging # Suppress the werkzeug warning - warnings.filterwarnings('ignore', message='.*development server.*') + warnings.filterwarnings("ignore", message=".*development server.*") # Set werkzeug logger to ERROR level to suppress the warning - werkzeug_logger = logging.getLogger('werkzeug') + werkzeug_logger = logging.getLogger("werkzeug") werkzeug_logger.setLevel(logging.ERROR) # Use Flask's built-in server with appropriate settings app.run( - debug=use_debug, - host=actual_host, - port=actual_port, - use_reloader=use_reloader + debug=use_debug, host=actual_host, port=actual_port, use_reloader=use_reloader ) @@ -205,6 +202,7 @@ def main(): is now in embeddingbuddy.cli for faster startup. """ from .cli import main as cli_main + cli_main() diff --git a/src/embeddingbuddy/cli.py b/src/embeddingbuddy/cli.py index b7ffa09..4c0335f 100644 --- a/src/embeddingbuddy/cli.py +++ b/src/embeddingbuddy/cli.py @@ -4,6 +4,7 @@ Lightweight CLI entry point for EmbeddingBuddy. This module provides a fast command-line interface that only imports heavy dependencies when actually needed by subcommands. """ + import argparse import sys @@ -21,41 +22,32 @@ Examples: embeddingbuddy serve --debug # Debug logging only (no auto-reload) embeddingbuddy serve --port 8080 # Custom port embeddingbuddy serve --host 0.0.0.0 # Bind to all interfaces - """ + """, ) subparsers = parser.add_subparsers( - dest="command", - help="Available commands", - metavar="" + dest="command", help="Available commands", metavar="" ) # Serve subcommand serve_parser = subparsers.add_parser( "serve", help="Start the web server", - description="Start the EmbeddingBuddy web server for interactive visualization" + description="Start the EmbeddingBuddy web server for interactive visualization", ) serve_parser.add_argument( - "--host", - default=None, - help="Host to bind to (default: 127.0.0.1)" + "--host", default=None, help="Host to bind to (default: 127.0.0.1)" ) serve_parser.add_argument( - "--port", - type=int, - default=None, - help="Port to bind to (default: 8050)" + "--port", type=int, default=None, help="Port to bind to (default: 8050)" ) serve_parser.add_argument( "--dev", action="store_true", - help="Development mode: enable debug logging and auto-reload" + help="Development mode: enable debug logging and auto-reload", ) serve_parser.add_argument( - "--debug", - action="store_true", - help="Enable debug logging (no auto-reload)" + "--debug", action="store_true", help="Enable debug logging (no auto-reload)" ) args = parser.parse_args() @@ -63,6 +55,7 @@ Examples: if args.command == "serve": # Only import heavy dependencies when actually running serve from embeddingbuddy.app import serve + serve(host=args.host, port=args.port, dev=args.dev, debug=args.debug) else: # No command specified, show help diff --git a/src/embeddingbuddy/wsgi.py b/src/embeddingbuddy/wsgi.py index 0c1b632..a188527 100644 --- a/src/embeddingbuddy/wsgi.py +++ b/src/embeddingbuddy/wsgi.py @@ -2,6 +2,7 @@ WSGI entry point for production deployment. Use this with a production WSGI server like Gunicorn. """ + from embeddingbuddy.app import create_app # Create the application instance diff --git a/uv.lock b/uv.lock index 271789b..c23b62f 100644 --- a/uv.lock +++ b/uv.lock @@ -412,7 +412,7 @@ wheels = [ [[package]] name = "embeddingbuddy" -version = "0.6.3" +version = "0.6.4" source = { editable = "." } dependencies = [ { name = "dash" },