""" Simple dotenv implementation for loading environment variables from .env files. This is a compatibility layer for the agent-zero framework. """ import os import re from typing import Optional, Dict def load_dotenv(path: Optional[str] = None) -> bool: """ Load environment variables from a .env file. Args: path: Path to the .env file. If None, looks for .env in current directory. Returns: True if the file was loaded successfully, False otherwise. """ if path is None: path = ".env" if not os.path.exists(path): return False try: with open(path, "r") as f: for line in f: line = line.strip() # Skip empty lines and comments if not line or line.startswith("#"): continue # Match KEY=VALUE or KEY="VALUE" or KEY='VALUE' match = re.match(r'^([A-Za-z_][A-Za-z0-9_]*)=(.*)$', line) if match: key = match.group(1) value = match.group(2) # Remove quotes if present if (value.startswith('"') and value.endswith('"')) or \ (value.startswith("'") and value.endswith("'")): value = value[1:-1] # Set environment variable os.environ[key] = value return True except Exception: return False