class scipy.LowLevelCallable[source]

Low-level callback function.


function : {PyCapsule, ctypes function pointer, cffi function pointer}

Low-level callback function.

user_data : {PyCapsule, ctypes void pointer, cffi void pointer}

User data to pass on to the callback function.

signature : str, optional

Signature of the function. If omitted, determined from function, if possible.


The argument function can be one of:

  • PyCapsule, whose name contains the C function signature
  • ctypes function pointer
  • cffi function pointer

The signature of the low-level callback must match one of those expected by the routine it is passed to.

If constructing low-level functions from a PyCapsule, the name of the capsule must be the corresponding signature, in the format:

return_type (arg1_type, arg2_type, ...)

For example:

"void (double)"
"double (double, int *, void *)"

The context of a PyCapsule passed in as function is used as user_data, if an explicit value for user_data was not given.


function Callback function given
user_data User data given
signature Signature of the function.


from_cython(module, name[, user_data, signature]) Create a low-level callback function from an exported Cython function.