 [semidet]py_with_gil(:Goal)
[semidet]py_with_gil(:Goal)once(Goal) while holding the Phyton 
GIL (Global Interpreter Lock). Note that all predicates that 
interact with Python lock the GIL. This predicate is only required if we 
wish to make multiple calls to Python while keeping the GIL. The GIL is 
a
recursive lock and thus calling py_call/1,2 
while holding the GIL does not deadlock.