"""`uarray` provides functions for generating multimethods that dispatch to | |
multiple different backends | |
This should be imported, rather than `_uarray` so that an installed version could | |
be used instead, if available. This means that users can call | |
`uarray.set_backend` directly instead of going through SciPy. | |
""" | |
# Prefer an installed version of uarray, if available | |
try: | |
import uarray as _uarray | |
except ImportError: | |
_has_uarray = False | |
else: | |
from scipy._lib._pep440 import Version as _Version | |
_has_uarray = _Version(_uarray.__version__) >= _Version("0.8") | |
del _uarray | |
del _Version | |
if _has_uarray: | |
from uarray import * # noqa: F403 | |
from uarray import _Function | |
else: | |
from ._uarray import * # noqa: F403 | |
from ._uarray import _Function # noqa: F401 | |
del _has_uarray | |