Fix .env file loading for CLI environment variables

- Add load_dotenv() call at module import to load .env before Click
  processes envvar parameters
- Add python-dotenv>=1.0.0 as explicit dependency in pyproject.toml

Click's envvar only reads from OS environment, not .env files.
By loading dotenv early, all CLI commands now respect .env configuration.
This commit is contained in:
Claude
2025-12-03 00:09:15 +00:00
parent 8971b580f8
commit 9e88fcc0b6
2 changed files with 5 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ dependencies = [
"click>=8.1.0",
"pydantic>=2.0.0",
"pydantic-settings>=2.0.0",
"python-dotenv>=1.0.0",
"sqlalchemy>=2.0.0",
"alembic>=1.12.0",
"fastapi>=0.100.0",

View File

@@ -1,11 +1,15 @@
"""MeshCore Hub CLI entry point."""
import click
from dotenv import load_dotenv
from meshcore_hub import __version__
from meshcore_hub.common.config import LogLevel
from meshcore_hub.common.logging import configure_logging
# Load .env file early so Click's envvar parameter picks up values
load_dotenv()
@click.group()
@click.version_option(version=__version__, prog_name="meshcore-hub")