Module Python_lib.Py_module

type t
val create : Base.string -> t

create module_name creates a new python module with the specified name. This module can directly be imported from python.

val create_with_eval : name:Base.string -> py_source:Base.string -> t

create_with_eval ~name ~py_source creates a new module defined by evaluating py_source which contains some python code.

val set_value : t -> Base.string -> Python_lib__.Import.pyobject -> Base.unit

set_value t name obj sets the field name on module t to hold value obj. This can be accessed via t.name in python.

val pyobject : t -> Python_lib__.Import.pyobject

pyobject t returns the underlying python object for a module.

val set_function : t -> ?⁠docstring:Base.string -> Base.string -> (Python_lib__.Import.pyobject Base.array -> Python_lib__.Import.pyobject) -> Base.unit

set_function t ?docstring name fn adds to module t a function named name which evaluates as the fn closure. This only handles positional arguments.

val set_function_with_keywords : t -> ?⁠docstring:Base.string -> Base.string -> (Python_lib__.Import.pyobject Base.array -> (Base.stringPython_lib__.Import.pyobjectBase.String.comparator_witness) Base.Map.t -> Python_lib__.Import.pyobject) -> Base.unit

set_function_with_keywords t ?docstring name fn adds to module t a function named name which evaluates as the fn closure. This handles both positional and keyword arguments.

val set : t -> ?⁠docstring:Base.string -> Base.string -> Python_lib__.Import.pyobject Defunc.t -> Base.unit

set t ?docstring name fn sets a function on module t named name. This function is defined by defunc fn.

val set_unit : t -> ?⁠docstring:Base.string -> Base.string -> Base.unit Defunc.t -> Base.unit

set_unit is a specialized version of set for function that return unit.

val set_no_arg : t -> ?⁠docstring:Base.string -> Base.string -> (Base.unit -> Python_lib__.Import.pyobject) -> Base.unit

set_no_arg t ?docstring name fn sets a function on module t named name. This function does not take any positional or keyword argument.

val keywords_of_python : Python_lib__.Import.pyobject -> (Base.stringPython_lib__.Import.pyobjectBase.String.comparator_witness) Base.Map.t Base.Or_error.t

Helper function to get keywords from a python object. When no keyword is present, null is used; otherwise a python dictionary with string key gets used.

val wrap_ocaml_errors : (Base.unit -> 'a) -> 'a
module Raw : sig ... end