From 1d0d9cbac168d80da85ba42b428cf63c6f0c62ce Mon Sep 17 00:00:00 2001 From: Roland Kaminski Date: Fri, 13 Mar 2026 11:31:54 +0100 Subject: [PATCH] flush output in print model --- lib/python-api/src/app.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/python-api/src/app.cc b/lib/python-api/src/app.cc index 3a0ed523e..403480e8c 100644 --- a/lib/python-api/src/app.cc +++ b/lib/python-api/src/app.cc @@ -1,3 +1,4 @@ +#include #include #include "app.hh" @@ -138,7 +139,11 @@ class App : public reference_keeper { void *data) -> bool { auto &app = *static_cast(data); CLINGO_TRY { + auto acquire = py::gil_scoped_acquire{}; + // NOTE: Python seems to directly write large buffers + std::cout.flush(); app.print_model(Model{model}, [printer, printer_data]() { handle_error(printer(printer_data)); }); + py::module_::import("sys").attr("stdout").attr("flush")(); } CLINGO_CATCH; }