From 1cc0b1fb98b25c6a50be7b68acf1d6411b1e1016 Mon Sep 17 00:00:00 2001 From: valerii Date: Mon, 26 Jan 2026 14:42:02 +0300 Subject: [PATCH] feat: add version output to console and logs - Display version in console at startup (unless --quiet) - Log version information when logging is initialized - Improves debugging and user experience - Bump version to 8.0.4 Fixes #30 --- email_processor/__main__.py | 6 +++++- email_processor/__version__.py | 2 +- email_processor/logging/setup.py | 6 ++++++ pyproject.toml | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/email_processor/__main__.py b/email_processor/__main__.py index 6721463..a83ed50 100644 --- a/email_processor/__main__.py +++ b/email_processor/__main__.py @@ -4,7 +4,7 @@ import sys from email.utils import parseaddr -from email_processor import ConfigLoader +from email_processor import ConfigLoader, __version__ from email_processor.cli import CLIUI from email_processor.cli.args import parse_arguments from email_processor.cli.commands import config, imap, passwords, smtp, status @@ -127,6 +127,10 @@ def main() -> int: # Create UI instance with verbose/quiet flags ui = CLIUI(verbose=args.verbose, quiet=args.quiet) + # Print version to console (unless quiet mode) + if not args.quiet: + ui.info(f"Email Processor v{__version__}") + # Handle subcommands if not args.command: # Default: run command (backward compatibility) diff --git a/email_processor/__version__.py b/email_processor/__version__.py index c613e8a..3948ae9 100644 --- a/email_processor/__version__.py +++ b/email_processor/__version__.py @@ -1,3 +1,3 @@ """Version information for email_processor package.""" -__version__ = "8.0.3" +__version__ = "8.0.4" diff --git a/email_processor/logging/setup.py b/email_processor/logging/setup.py index b6a3d8d..ca05adb 100644 --- a/email_processor/logging/setup.py +++ b/email_processor/logging/setup.py @@ -8,6 +8,8 @@ import structlog +from email_processor import __version__ + def get_logger(uid: Optional[str] = None) -> structlog.BoundLogger: """ @@ -128,6 +130,10 @@ def setup_logging(log_config: dict[str, Any]) -> None: except Exception as e: print(f"Warning: Unexpected error setting up file logging: {e}", file=sys.stderr) + # Log version information after logging is set up + logger = get_logger() + logger.info("application_started", version=__version__) + class LoggingManager: """Logging manager class.""" diff --git a/pyproject.toml b/pyproject.toml index 307c3f3..ee7774d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ packages = {find = {}} [project] name = "email-processor" -version = "8.0.3" +version = "8.0.4" description = "Email attachment processor with IMAP and SMTP support" readme = "README.md" requires-python = ">=3.9"