INNER CODE UNIT · Python
run_command
ClickHouse/ai-sdk-cpp · scripts/build.py:44
def run_command(cmd: List[str], cwd: Optional[Path] = None, check: bool = True) -> subprocess.CompletedProcess:
"""Run a command and handle errors with rich output."""
console.print(f"[dim]Running:[/dim] [cyan]{' '.join(cmd)}[/cyan]")
try:
result = subprocess.run(cmd, cwd=cwd, check=check, capture_output=True, text=True)
if result.stdout.strip():
console.print(f"[dim]{result.stdout.strip()}[/dim]")
return result
except subprocess.CalledProcessError as e:
console.print(f"[red]Error running command:[/red] {e}")
if e.stderr:
console.print(f"[red]Error output:[/red] {e.stderr}")
if e.stdout:
console.print(f"[yellow]Output:[/yellow] {e.stdout}")
sys.exit(1)