#!/usr/bin/env python3 """Validate local .env and process settings without importing the application.""" import argparse import os import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parents[1])) from dotenv import load_dotenv from config.validation import ConfigurationError, validate_configuration def main() -> int: parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( "--development", action="store_true", help="allow missing secrets and local URLs", ) args = parser.parse_args() load_dotenv(Path(__file__).resolve().parents[1] / ".env", override=False) try: validate_configuration(os.environ, production=not args.development) except ConfigurationError as error: print(error, file=sys.stderr) return 1 print("Configuration valid.") return 0 if __name__ == "__main__": raise SystemExit(main())