/usr/local/lib/swipl/library/ext/swipy/janus.pl
All Application Manual Name SummaryHelp

  • swipy
    • janus.pl -- Call Python from Prolog
      • py_version/0
      • py_call/1
      • py_call/2
      • py_call/3
      • py_iter/2
      • py_iter/3
      • py_setattr/3
      • py_is_object/1
      • py_is_dict/1
      • py_free/1
      • py_with_gil/1
      • py_gil_owner/1
      • py_func/3
      • py_func/4
      • py_dot/3
      • py_dot/4
      • values/3
      • keys/2
      • key/2
      • items/2
      • py_shell/0
      • py_pp/1
      • py_pp/2
      • py_pp/3
      • py_object_dir/2
      • py_object_dict/2
      • py_obj_dir/2
      • py_obj_dict/2
      • py_type/2
      • py_isinstance/2
      • py_module_exists/1
      • py_hasattr/2
      • py_import/2
      • py_module/2
      • py_initialize/3
      • py_lib_dirs/1
      • py_add_lib_dir/1
      • py_add_lib_dir/2
 py_with_gil(:Goal) is semidet
Run Goal as 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.