C-Types Foreign Function Interface (numpy.ctypeslib)

numpy.ctypeslib.as_array(*args, **kwds)
numpy.ctypeslib.as_ctypes(*args, **kwds)
numpy.ctypeslib.ctypes_load_library(*args, **kwds)
numpy.ctypeslib.load_library(*args, **kwds)
numpy.ctypeslib.ndpointer(dtype=None, ndim=None, shape=None, flags=None)

Array-checking restype/argtypes.

An ndpointer instance is used to describe an ndarray in restypes and argtypes specifications. This approach is more flexible than using, for example, POINTER(c_double), since several restrictions can be specified, which are verified upon calling the ctypes function. These include data type, number of dimensions, shape and flags. If a given array does not satisfy the specified restrictions, a TypeError is raised.

Parameters:

dtype : data-type, optional

Array data-type.

ndim : int, optional

Number of array dimensions.

shape : tuple of ints, optional

Array shape.

flags : string or tuple of strings

Array flags; may be one or more of:

  • C_CONTIGUOUS / C / CONTIGUOUS
  • F_CONTIGUOUS / F / FORTRAN
  • OWNDATA / O
  • WRITEABLE / W
  • ALIGNED / A
  • UPDATEIFCOPY / U

Examples

>>> clib.somefunc.argtypes = [np.ctypeslib.ndpointer(dtype=float64,
...                                                  ndim=1,
...                                                  flags='C_CONTIGUOUS')]
>>> clib.somefunc(np.array([1, 2, 3], dtype=np.float64))