From d71c6e8568e1d9a07f41b6caec5784496cdb0d31 Mon Sep 17 00:00:00 2001 From: phernandez Date: Wed, 24 Dec 2025 12:21:14 -0600 Subject: [PATCH] fix: suppress CLI warnings for cleaner output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Suppress DeprecationWarning from aiosqlite and LogfireNotConfiguredWarning that were cluttering CLI output. The key fix is applying warnings.filterwarnings("ignore") AFTER all imports in main.py, because authlib (imported via cloud commands) adds a DeprecationWarning filter that overrides earlier suppressions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Signed-off-by: phernandez --- src/basic_memory/cli/app.py | 5 +++++ src/basic_memory/cli/main.py | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/basic_memory/cli/app.py b/src/basic_memory/cli/app.py index c9c894bf..69dd8ee4 100644 --- a/src/basic_memory/cli/app.py +++ b/src/basic_memory/cli/app.py @@ -1,3 +1,8 @@ +# Suppress Logfire "not configured" warning - we only use Logfire in cloud/server contexts +import os + +os.environ.setdefault("LOGFIRE_IGNORE_NO_CONFIG", "1") + # Remove loguru's default handler IMMEDIATELY, before any other imports. # This prevents DEBUG logs from appearing on stdout during module-level # initialization (e.g., template_loader.TemplateLoader() logs at DEBUG level). diff --git a/src/basic_memory/cli/main.py b/src/basic_memory/cli/main.py index da61f949..38f4dd03 100644 --- a/src/basic_memory/cli/main.py +++ b/src/basic_memory/cli/main.py @@ -16,6 +16,12 @@ from basic_memory.cli.commands import ( # noqa: F401 # pragma: no cover tool, ) +# Re-apply warning filter AFTER all imports +# (authlib adds a DeprecationWarning filter that overrides ours) +import warnings # pragma: no cover + +warnings.filterwarnings("ignore") # pragma: no cover + if __name__ == "__main__": # pragma: no cover # start the app app()