Helper Functions ================ .. currentmodule:: array_api_compat In addition to the wrapped library namespaces and functions in the array API specification, there are several helper functions included here that aren't part of the specification but which are useful for using the array API: Entry-point Helpers ------------------- The `array_namespace()` function is the primary entry-point for array API consuming libraries. .. autofunction:: array_namespace .. autofunction:: is_array_api_obj Array Method Helpers -------------------- array-api-compat does not attempt to wrap or monkey patch the array object for any library. Consequently, any API differences for the `array object `__ cannot be directly wrapped. Some libraries do not define some of these methods or define them differently. For these, helper functions are provided which can be used instead. Note that if you have a compatibility issue with an operator method (like `__add__`, i.e., `+`) you can prefer to use the corresponding `elementwise function `__ instead, which would be wrapped. .. autofunction:: device .. autofunction:: to_device .. autofunction:: size Inspection Helpers ------------------ These convenience functions can be used to test if an array or namespace comes from a specific library without importing that library if it hasn't been imported yet. .. autofunction:: is_numpy_array .. autofunction:: is_cupy_array .. autofunction:: is_torch_array .. autofunction:: is_dask_array .. autofunction:: is_jax_array .. autofunction:: is_pydata_sparse_array .. autofunction:: is_ndonnx_array .. autofunction:: is_numpy_namespace .. autofunction:: is_cupy_namespace .. autofunction:: is_torch_namespace .. autofunction:: is_dask_namespace .. autofunction:: is_jax_namespace .. autofunction:: is_pydata_sparse_namespace .. autofunction:: is_ndonnx_namespace .. autofunction:: is_array_api_strict_namespace