From 226da379c8faa97b7a5e8626d516fd37db2a2e18 Mon Sep 17 00:00:00 2001 From: Sergi Delgado Date: Tue, 21 Jul 2026 17:46:16 +0200 Subject: [PATCH] Pin blessed < 1.40.0 Starting from blessed 1.40.0, Terminal.__init__ queries the terminal's capabilities via an XTGETTCAP escape sequence and blocks reading the response. This runs as a side effect of merely importing inquirer (control.py imports it at module scope). warnet pins inquirer==3.4.0, but inquirer doesn't pin its own dependency on blessed, so a fresh install always resolves to whatever blessed release is newest at install time. warnet deploy spawns one multiprocessing.Process per tank. In macOS deployments this becomes a problem, given multiprocessing's default start method is "spawn". When running `warnet deploy` in macOS, each spawned task will re-execute the whole warnet import tree, re-triger the inquirer import and run the blocking terminal query. --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 48d5d37f6..f5b4347a8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ dependencies = [ "docker==7.1.0", "flask==3.0.3", "inquirer==3.4.0", + "blessed<1.40", "kubernetes==30.1.0", "rich==13.7.1", "tabulate==0.9.0",