"""Ensure required CLI tools are installed.""" import os import shutil import subprocess import sys def ensure_aws(): if shutil.which("aws"): subprocess.run(["aws", "--version"], check=True) return print("Installing awscli...") subprocess.run( [sys.executable, "-m", "pip", "install", "--quiet", "--break-system-packages", "awscli"], check=False, ) local_bin = os.path.expanduser("~/.local/bin") os.environ["PATH"] = f"{local_bin}:{os.environ['PATH']}" github_path = os.environ.get("GITHUB_PATH") if github_path: with open(github_path, "a") as f: f.write(f"{local_bin}\n") subprocess.run(["aws", "--version"], check=True) def ensure_jinja2(): try: import jinja2 except ImportError: print("Installing jinja2 + pyyaml...") subprocess.run( [sys.executable, "-m", "pip", "install", "--quiet", "--break-system-packages", "jinja2", "pyyaml"], check=True, ) if __name__ == "__main__": ensure_jinja2() ensure_aws() print("Setup complete")