We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Remove duplicate-keys in `ivy\functional\backends\numpy\__init__.py`
In the file: `ivy\functional\backends\numpy\__init__.py` duplicate keys are present in the following lines
https://github.com/unifyai/ivy/blob/1be0f8c2c8d916b10f06ab538b43fc506a1992a6/ivy/functional/backends/numpy/__init__.py#L25
https://github.com/unifyai/ivy/blob/1be0f8c2c8d916b10f06ab538b43fc506a1992a6/ivy/functional/backends/numpy/__init__.py#L40
https://github.com/unifyai/ivy/blob/1be0f8c2c8d916b10f06ab538b43fc506a1992a6/ivy/functional/backends/numpy/__init__.py#L31
https://github.com/unifyai/ivy/blob/1be0f8c2c8d916b10f06ab538b43fc506a1992a6/ivy/functional/backends/numpy/__init__.py#L37
They can be removed.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `ivy/functional/backends/numpy/__init__.py`
Content:
```
1 # global
2 import sys
3 import numpy as np
4 
5 # local
6 import ivy
7 from ivy.func_wrapper import _dtype_from_version
8 
9 backend_version = {"version": np.__version__}
10 
11 # noinspection PyUnresolvedReferences
12 if not ivy.is_local():
13     _module_in_memory = sys.modules[__name__]
14 else:
15     _module_in_memory = sys.modules[ivy.import_module_path].import_cache[__name__]
16 
17 use = ivy.utils.backend.ContextManager(_module_in_memory)
18 
19 # wrap __array_ufunc__ method of ivy.Array to prioritize Ivy array methods when using numpu backend
20 
21 
22 def wrap__array_ufunc__(func):
23     def rep_method(self, ufunc, method, *inputs, **kwargs):
24         methods = {
25             "not_equal": "not_equal",
26             "greater": "greater",
27             "less": "less",
28             "greater_equal": "greater_equal",
29             "less_equal": "less_equal",
30             "multiply": "multiply",
31             "divide": "divide",
32             "remainder": "remainder",
33             "equal": "equal",
34             "bitwise_and": "bitwise_and",
35             "matmul": "matmul",
36             "power": "pow",
37             "divide": "divide",
38             "subtract": "subtract",
39             "add": "add",
40             "not_equal": "not_equal",
41         }
42         if ufunc.__name__ in methods.keys():
43             return eval("ivy." + methods[ufunc.__name__] + "(*inputs, **kwargs)")
44         return func(self, ufunc, method, *inputs, **kwargs)
45 
46     return rep_method
47 
48 
49 ivy.Array.__array_ufunc__ = wrap__array_ufunc__(ivy.Array.__array_ufunc__)
50 
51 NativeArray = np.ndarray
52 NativeDevice = str
53 NativeDtype = np.dtype
54 NativeShape = tuple
55 
56 NativeSparseArray = None
57 
58 
59 # devices
60 valid_devices = ("cpu",)
61 
62 invalid_devices = ("gpu", "tpu")
63 
64 # native data types
65 native_int8 = np.dtype("int8")
66 native_int16 = np.dtype("int16")
67 native_int32 = np.dtype("int32")
68 native_int64 = np.dtype("int64")
69 native_uint8 = np.dtype("uint8")
70 native_uint16 = np.dtype("uint16")
71 native_uint32 = np.dtype("uint32")
72 native_uint64 = np.dtype("uint64")
73 native_float16 = np.dtype("float16")
74 native_float32 = np.dtype("float32")
75 native_float64 = np.dtype("float64")
76 native_complex64 = np.dtype("complex64")
77 native_complex128 = np.dtype("complex128")
78 native_double = native_float64
79 native_bool = np.dtype("bool")
80 
81 # valid data types
82 # ToDo: Add complex dtypes to valid_dtypes and fix all resulting failures.
83 
84 # update these to add new dtypes
85 valid_dtypes = {
86     "1.26.0 and below": (
87         ivy.int8,
88         ivy.int16,
89         ivy.int32,
90         ivy.int64,
91         ivy.uint8,
92         ivy.uint16,
93         ivy.uint32,
94         ivy.uint64,
95         ivy.float16,
96         ivy.float32,
97         ivy.float64,
98         ivy.complex64,
99         ivy.complex128,
100         ivy.bool,
101     )
102 }
103 valid_numeric_dtypes = {
104     "1.26.0 and below": (
105         ivy.int8,
106         ivy.int16,
107         ivy.int32,
108         ivy.int64,
109         ivy.uint8,
110         ivy.uint16,
111         ivy.uint32,
112         ivy.uint64,
113         ivy.float16,
114         ivy.float32,
115         ivy.float64,
116         ivy.complex64,
117         ivy.complex128,
118     )
119 }
120 valid_int_dtypes = {
121     "1.26.0 and below": (
122         ivy.int8,
123         ivy.int16,
124         ivy.int32,
125         ivy.int64,
126         ivy.uint8,
127         ivy.uint16,
128         ivy.uint32,
129         ivy.uint64,
130     )
131 }
132 valid_float_dtypes = {"1.26.0 and below": (ivy.float16, ivy.float32, ivy.float64)}
133 valid_uint_dtypes = {
134     "1.26.0 and below": (ivy.uint8, ivy.uint16, ivy.uint32, ivy.uint64)
135 }
136 valid_complex_dtypes = {"1.26.0 and below": (ivy.complex64, ivy.complex128)}
137 
138 # leave these untouched
139 valid_dtypes = _dtype_from_version(valid_dtypes, backend_version)
140 valid_numeric_dtypes = _dtype_from_version(valid_numeric_dtypes, backend_version)
141 valid_int_dtypes = _dtype_from_version(valid_int_dtypes, backend_version)
142 valid_float_dtypes = _dtype_from_version(valid_float_dtypes, backend_version)
143 valid_uint_dtypes = _dtype_from_version(valid_uint_dtypes, backend_version)
144 valid_complex_dtypes = _dtype_from_version(valid_complex_dtypes, backend_version)
145 
146 # invalid data types
147 # update these to add new dtypes
148 invalid_dtypes = {"1.26.0 and below": (ivy.bfloat16,)}
149 invalid_numeric_dtypes = {"1.26.0 and below": (ivy.bfloat16,)}
150 invalid_int_dtypes = {"1.26.0 and below": ()}
151 invalid_float_dtypes = {"1.26.0 and below": (ivy.bfloat16,)}
152 invalid_uint_dtypes = {"1.26.0 and below": ()}
153 invalid_complex_dtypes = {"1.26.0 and below": ()}
154 
155 
156 # leave these untouched
157 invalid_dtypes = _dtype_from_version(invalid_dtypes, backend_version)
158 invalid_numeric_dtypes = _dtype_from_version(invalid_numeric_dtypes, backend_version)
159 invalid_int_dtypes = _dtype_from_version(invalid_int_dtypes, backend_version)
160 invalid_float_dtypes = _dtype_from_version(invalid_float_dtypes, backend_version)
161 invalid_uint_dtypes = _dtype_from_version(invalid_uint_dtypes, backend_version)
162 invalid_complex_dtypes = _dtype_from_version(invalid_complex_dtypes, backend_version)
163 
164 
165 native_inplace_support = True
166 
167 supports_gradients = False
168 
169 
170 def closest_valid_dtype(type=None, /, as_native=False):
171     if type is None:
172         type = ivy.default_dtype()
173     elif isinstance(type, str) and type in invalid_dtypes:
174         type = {"bfloat16": ivy.float16}[type]
175     return ivy.as_ivy_dtype(type) if not as_native else ivy.as_native_dtype(type)
176 
177 
178 backend = "numpy"
179 
180 
181 # local sub-modules
182 from . import activations
183 from .activations import *
184 from . import creation
185 from .creation import *
186 from . import data_type
187 from .data_type import *
188 from . import device
189 from .device import *
190 from . import elementwise
191 from .elementwise import *
192 from . import general
193 from .general import *
194 from . import gradients
195 from .gradients import *
196 from . import layers
197 from .layers import *
198 from . import linear_algebra as linalg
199 from .linear_algebra import *
200 from . import manipulation
201 from .manipulation import *
202 from . import random
203 from .random import *
204 from . import searching
205 from .searching import *
206 from . import set
207 from .set import *
208 from . import sorting
209 from .sorting import *
210 from . import statistical
211 from .statistical import *
212 from . import utility
213 from .utility import *
214 from . import experimental
215 from .experimental import *
216 from . import control_flow_ops
217 from .control_flow_ops import *
218 
219 
220 # sub-backends
221 
222 from . import sub_backends
223 from .sub_backends import *
224
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/ivy/functional/backends/numpy/__init__.py b/ivy/functional/backends/numpy/__init__.py
--- a/ivy/functional/backends/numpy/__init__.py
+++ b/ivy/functional/backends/numpy/__init__.py
@@ -34,10 +34,8 @@
             "bitwise_and": "bitwise_and",
             "matmul": "matmul",
             "power": "pow",
-            "divide": "divide",
             "subtract": "subtract",
             "add": "add",
-            "not_equal": "not_equal",
         }
         if ufunc.__name__ in methods.keys():
             return eval("ivy." + methods[ufunc.__name__] + "(*inputs, **kwargs)")

{"golden_diff": "diff --git a/ivy/functional/backends/numpy/__init__.py b/ivy/functional/backends/numpy/__init__.py\n--- a/ivy/functional/backends/numpy/__init__.py\n+++ b/ivy/functional/backends/numpy/__init__.py\n@@ -34,10 +34,8 @@\n             \"bitwise_and\": \"bitwise_and\",\n             \"matmul\": \"matmul\",\n             \"power\": \"pow\",\n-            \"divide\": \"divide\",\n             \"subtract\": \"subtract\",\n             \"add\": \"add\",\n-            \"not_equal\": \"not_equal\",\n         }\n         if ufunc.__name__ in methods.keys():\n             return eval(\"ivy.\" + methods[ufunc.__name__] + \"(*inputs, **kwargs)\")\n", "issue": "Remove duplicate-keys in `ivy\\functional\\backends\\numpy\\__init__.py`\nIn the file: `ivy\\functional\\backends\\numpy\\__init__.py` duplicate keys are present in the following lines\r\nhttps://github.com/unifyai/ivy/blob/1be0f8c2c8d916b10f06ab538b43fc506a1992a6/ivy/functional/backends/numpy/__init__.py#L25\r\nhttps://github.com/unifyai/ivy/blob/1be0f8c2c8d916b10f06ab538b43fc506a1992a6/ivy/functional/backends/numpy/__init__.py#L40\r\nhttps://github.com/unifyai/ivy/blob/1be0f8c2c8d916b10f06ab538b43fc506a1992a6/ivy/functional/backends/numpy/__init__.py#L31\r\nhttps://github.com/unifyai/ivy/blob/1be0f8c2c8d916b10f06ab538b43fc506a1992a6/ivy/functional/backends/numpy/__init__.py#L37\r\nThey can be removed.\n", "before_files": [{"content": "# global\nimport sys\nimport numpy as np\n\n# local\nimport ivy\nfrom ivy.func_wrapper import _dtype_from_version\n\nbackend_version = {\"version\": np.__version__}\n\n# noinspection PyUnresolvedReferences\nif not ivy.is_local():\n    _module_in_memory = sys.modules[__name__]\nelse:\n    _module_in_memory = sys.modules[ivy.import_module_path].import_cache[__name__]\n\nuse = ivy.utils.backend.ContextManager(_module_in_memory)\n\n# wrap __array_ufunc__ method of ivy.Array to prioritize Ivy array methods when using numpu backend\n\n\ndef wrap__array_ufunc__(func):\n    def rep_method(self, ufunc, method, *inputs, **kwargs):\n        methods = {\n            \"not_equal\": \"not_equal\",\n            \"greater\": \"greater\",\n            \"less\": \"less\",\n            \"greater_equal\": \"greater_equal\",\n            \"less_equal\": \"less_equal\",\n            \"multiply\": \"multiply\",\n            \"divide\": \"divide\",\n            \"remainder\": \"remainder\",\n            \"equal\": \"equal\",\n            \"bitwise_and\": \"bitwise_and\",\n            \"matmul\": \"matmul\",\n            \"power\": \"pow\",\n            \"divide\": \"divide\",\n            \"subtract\": \"subtract\",\n            \"add\": \"add\",\n            \"not_equal\": \"not_equal\",\n        }\n        if ufunc.__name__ in methods.keys():\n            return eval(\"ivy.\" + methods[ufunc.__name__] + \"(*inputs, **kwargs)\")\n        return func(self, ufunc, method, *inputs, **kwargs)\n\n    return rep_method\n\n\nivy.Array.__array_ufunc__ = wrap__array_ufunc__(ivy.Array.__array_ufunc__)\n\nNativeArray = np.ndarray\nNativeDevice = str\nNativeDtype = np.dtype\nNativeShape = tuple\n\nNativeSparseArray = None\n\n\n# devices\nvalid_devices = (\"cpu\",)\n\ninvalid_devices = (\"gpu\", \"tpu\")\n\n# native data types\nnative_int8 = np.dtype(\"int8\")\nnative_int16 = np.dtype(\"int16\")\nnative_int32 = np.dtype(\"int32\")\nnative_int64 = np.dtype(\"int64\")\nnative_uint8 = np.dtype(\"uint8\")\nnative_uint16 = np.dtype(\"uint16\")\nnative_uint32 = np.dtype(\"uint32\")\nnative_uint64 = np.dtype(\"uint64\")\nnative_float16 = np.dtype(\"float16\")\nnative_float32 = np.dtype(\"float32\")\nnative_float64 = np.dtype(\"float64\")\nnative_complex64 = np.dtype(\"complex64\")\nnative_complex128 = np.dtype(\"complex128\")\nnative_double = native_float64\nnative_bool = np.dtype(\"bool\")\n\n# valid data types\n# ToDo: Add complex dtypes to valid_dtypes and fix all resulting failures.\n\n# update these to add new dtypes\nvalid_dtypes = {\n    \"1.26.0 and below\": (\n        ivy.int8,\n        ivy.int16,\n        ivy.int32,\n        ivy.int64,\n        ivy.uint8,\n        ivy.uint16,\n        ivy.uint32,\n        ivy.uint64,\n        ivy.float16,\n        ivy.float32,\n        ivy.float64,\n        ivy.complex64,\n        ivy.complex128,\n        ivy.bool,\n    )\n}\nvalid_numeric_dtypes = {\n    \"1.26.0 and below\": (\n        ivy.int8,\n        ivy.int16,\n        ivy.int32,\n        ivy.int64,\n        ivy.uint8,\n        ivy.uint16,\n        ivy.uint32,\n        ivy.uint64,\n        ivy.float16,\n        ivy.float32,\n        ivy.float64,\n        ivy.complex64,\n        ivy.complex128,\n    )\n}\nvalid_int_dtypes = {\n    \"1.26.0 and below\": (\n        ivy.int8,\n        ivy.int16,\n        ivy.int32,\n        ivy.int64,\n        ivy.uint8,\n        ivy.uint16,\n        ivy.uint32,\n        ivy.uint64,\n    )\n}\nvalid_float_dtypes = {\"1.26.0 and below\": (ivy.float16, ivy.float32, ivy.float64)}\nvalid_uint_dtypes = {\n    \"1.26.0 and below\": (ivy.uint8, ivy.uint16, ivy.uint32, ivy.uint64)\n}\nvalid_complex_dtypes = {\"1.26.0 and below\": (ivy.complex64, ivy.complex128)}\n\n# leave these untouched\nvalid_dtypes = _dtype_from_version(valid_dtypes, backend_version)\nvalid_numeric_dtypes = _dtype_from_version(valid_numeric_dtypes, backend_version)\nvalid_int_dtypes = _dtype_from_version(valid_int_dtypes, backend_version)\nvalid_float_dtypes = _dtype_from_version(valid_float_dtypes, backend_version)\nvalid_uint_dtypes = _dtype_from_version(valid_uint_dtypes, backend_version)\nvalid_complex_dtypes = _dtype_from_version(valid_complex_dtypes, backend_version)\n\n# invalid data types\n# update these to add new dtypes\ninvalid_dtypes = {\"1.26.0 and below\": (ivy.bfloat16,)}\ninvalid_numeric_dtypes = {\"1.26.0 and below\": (ivy.bfloat16,)}\ninvalid_int_dtypes = {\"1.26.0 and below\": ()}\ninvalid_float_dtypes = {\"1.26.0 and below\": (ivy.bfloat16,)}\ninvalid_uint_dtypes = {\"1.26.0 and below\": ()}\ninvalid_complex_dtypes = {\"1.26.0 and below\": ()}\n\n\n# leave these untouched\ninvalid_dtypes = _dtype_from_version(invalid_dtypes, backend_version)\ninvalid_numeric_dtypes = _dtype_from_version(invalid_numeric_dtypes, backend_version)\ninvalid_int_dtypes = _dtype_from_version(invalid_int_dtypes, backend_version)\ninvalid_float_dtypes = _dtype_from_version(invalid_float_dtypes, backend_version)\ninvalid_uint_dtypes = _dtype_from_version(invalid_uint_dtypes, backend_version)\ninvalid_complex_dtypes = _dtype_from_version(invalid_complex_dtypes, backend_version)\n\n\nnative_inplace_support = True\n\nsupports_gradients = False\n\n\ndef closest_valid_dtype(type=None, /, as_native=False):\n    if type is None:\n        type = ivy.default_dtype()\n    elif isinstance(type, str) and type in invalid_dtypes:\n        type = {\"bfloat16\": ivy.float16}[type]\n    return ivy.as_ivy_dtype(type) if not as_native else ivy.as_native_dtype(type)\n\n\nbackend = \"numpy\"\n\n\n# local sub-modules\nfrom . import activations\nfrom .activations import *\nfrom . import creation\nfrom .creation import *\nfrom . import data_type\nfrom .data_type import *\nfrom . import device\nfrom .device import *\nfrom . import elementwise\nfrom .elementwise import *\nfrom . import general\nfrom .general import *\nfrom . import gradients\nfrom .gradients import *\nfrom . import layers\nfrom .layers import *\nfrom . import linear_algebra as linalg\nfrom .linear_algebra import *\nfrom . import manipulation\nfrom .manipulation import *\nfrom . import random\nfrom .random import *\nfrom . import searching\nfrom .searching import *\nfrom . import set\nfrom .set import *\nfrom . import sorting\nfrom .sorting import *\nfrom . import statistical\nfrom .statistical import *\nfrom . import utility\nfrom .utility import *\nfrom . import experimental\nfrom .experimental import *\nfrom . import control_flow_ops\nfrom .control_flow_ops import *\n\n\n# sub-backends\n\nfrom . import sub_backends\nfrom .sub_backends import *\n", "path": "ivy/functional/backends/numpy/__init__.py"}], "after_files": [{"content": "# global\nimport sys\nimport numpy as np\n\n# local\nimport ivy\nfrom ivy.func_wrapper import _dtype_from_version\n\nbackend_version = {\"version\": np.__version__}\n\n# noinspection PyUnresolvedReferences\nif not ivy.is_local():\n    _module_in_memory = sys.modules[__name__]\nelse:\n    _module_in_memory = sys.modules[ivy.import_module_path].import_cache[__name__]\n\nuse = ivy.utils.backend.ContextManager(_module_in_memory)\n\n# wrap __array_ufunc__ method of ivy.Array to prioritize Ivy array methods when using numpu backend\n\n\ndef wrap__array_ufunc__(func):\n    def rep_method(self, ufunc, method, *inputs, **kwargs):\n        methods = {\n            \"not_equal\": \"not_equal\",\n            \"greater\": \"greater\",\n            \"less\": \"less\",\n            \"greater_equal\": \"greater_equal\",\n            \"less_equal\": \"less_equal\",\n            \"multiply\": \"multiply\",\n            \"divide\": \"divide\",\n            \"remainder\": \"remainder\",\n            \"equal\": \"equal\",\n            \"bitwise_and\": \"bitwise_and\",\n            \"matmul\": \"matmul\",\n            \"power\": \"pow\",\n            \"subtract\": \"subtract\",\n            \"add\": \"add\",\n        }\n        if ufunc.__name__ in methods.keys():\n            return eval(\"ivy.\" + methods[ufunc.__name__] + \"(*inputs, **kwargs)\")\n        return func(self, ufunc, method, *inputs, **kwargs)\n\n    return rep_method\n\n\nivy.Array.__array_ufunc__ = wrap__array_ufunc__(ivy.Array.__array_ufunc__)\n\nNativeArray = np.ndarray\nNativeDevice = str\nNativeDtype = np.dtype\nNativeShape = tuple\n\nNativeSparseArray = None\n\n\n# devices\nvalid_devices = (\"cpu\",)\n\ninvalid_devices = (\"gpu\", \"tpu\")\n\n# native data types\nnative_int8 = np.dtype(\"int8\")\nnative_int16 = np.dtype(\"int16\")\nnative_int32 = np.dtype(\"int32\")\nnative_int64 = np.dtype(\"int64\")\nnative_uint8 = np.dtype(\"uint8\")\nnative_uint16 = np.dtype(\"uint16\")\nnative_uint32 = np.dtype(\"uint32\")\nnative_uint64 = np.dtype(\"uint64\")\nnative_float16 = np.dtype(\"float16\")\nnative_float32 = np.dtype(\"float32\")\nnative_float64 = np.dtype(\"float64\")\nnative_complex64 = np.dtype(\"complex64\")\nnative_complex128 = np.dtype(\"complex128\")\nnative_double = native_float64\nnative_bool = np.dtype(\"bool\")\n\n# valid data types\n# ToDo: Add complex dtypes to valid_dtypes and fix all resulting failures.\n\n# update these to add new dtypes\nvalid_dtypes = {\n    \"1.26.0 and below\": (\n        ivy.int8,\n        ivy.int16,\n        ivy.int32,\n        ivy.int64,\n        ivy.uint8,\n        ivy.uint16,\n        ivy.uint32,\n        ivy.uint64,\n        ivy.float16,\n        ivy.float32,\n        ivy.float64,\n        ivy.complex64,\n        ivy.complex128,\n        ivy.bool,\n    )\n}\nvalid_numeric_dtypes = {\n    \"1.26.0 and below\": (\n        ivy.int8,\n        ivy.int16,\n        ivy.int32,\n        ivy.int64,\n        ivy.uint8,\n        ivy.uint16,\n        ivy.uint32,\n        ivy.uint64,\n        ivy.float16,\n        ivy.float32,\n        ivy.float64,\n        ivy.complex64,\n        ivy.complex128,\n    )\n}\nvalid_int_dtypes = {\n    \"1.26.0 and below\": (\n        ivy.int8,\n        ivy.int16,\n        ivy.int32,\n        ivy.int64,\n        ivy.uint8,\n        ivy.uint16,\n        ivy.uint32,\n        ivy.uint64,\n    )\n}\nvalid_float_dtypes = {\"1.26.0 and below\": (ivy.float16, ivy.float32, ivy.float64)}\nvalid_uint_dtypes = {\n    \"1.26.0 and below\": (ivy.uint8, ivy.uint16, ivy.uint32, ivy.uint64)\n}\nvalid_complex_dtypes = {\"1.26.0 and below\": (ivy.complex64, ivy.complex128)}\n\n# leave these untouched\nvalid_dtypes = _dtype_from_version(valid_dtypes, backend_version)\nvalid_numeric_dtypes = _dtype_from_version(valid_numeric_dtypes, backend_version)\nvalid_int_dtypes = _dtype_from_version(valid_int_dtypes, backend_version)\nvalid_float_dtypes = _dtype_from_version(valid_float_dtypes, backend_version)\nvalid_uint_dtypes = _dtype_from_version(valid_uint_dtypes, backend_version)\nvalid_complex_dtypes = _dtype_from_version(valid_complex_dtypes, backend_version)\n\n# invalid data types\n# update these to add new dtypes\ninvalid_dtypes = {\"1.26.0 and below\": (ivy.bfloat16,)}\ninvalid_numeric_dtypes = {\"1.26.0 and below\": (ivy.bfloat16,)}\ninvalid_int_dtypes = {\"1.26.0 and below\": ()}\ninvalid_float_dtypes = {\"1.26.0 and below\": (ivy.bfloat16,)}\ninvalid_uint_dtypes = {\"1.26.0 and below\": ()}\ninvalid_complex_dtypes = {\"1.26.0 and below\": ()}\n\n\n# leave these untouched\ninvalid_dtypes = _dtype_from_version(invalid_dtypes, backend_version)\ninvalid_numeric_dtypes = _dtype_from_version(invalid_numeric_dtypes, backend_version)\ninvalid_int_dtypes = _dtype_from_version(invalid_int_dtypes, backend_version)\ninvalid_float_dtypes = _dtype_from_version(invalid_float_dtypes, backend_version)\ninvalid_uint_dtypes = _dtype_from_version(invalid_uint_dtypes, backend_version)\ninvalid_complex_dtypes = _dtype_from_version(invalid_complex_dtypes, backend_version)\n\n\nnative_inplace_support = True\n\nsupports_gradients = False\n\n\ndef closest_valid_dtype(type=None, /, as_native=False):\n    if type is None:\n        type = ivy.default_dtype()\n    elif isinstance(type, str) and type in invalid_dtypes:\n        type = {\"bfloat16\": ivy.float16}[type]\n    return ivy.as_ivy_dtype(type) if not as_native else ivy.as_native_dtype(type)\n\n\nbackend = \"numpy\"\n\n\n# local sub-modules\nfrom . import activations\nfrom .activations import *\nfrom . import creation\nfrom .creation import *\nfrom . import data_type\nfrom .data_type import *\nfrom . import device\nfrom .device import *\nfrom . import elementwise\nfrom .elementwise import *\nfrom . import general\nfrom .general import *\nfrom . import gradients\nfrom .gradients import *\nfrom . import layers\nfrom .layers import *\nfrom . import linear_algebra as linalg\nfrom .linear_algebra import *\nfrom . import manipulation\nfrom .manipulation import *\nfrom . import random\nfrom .random import *\nfrom . import searching\nfrom .searching import *\nfrom . import set\nfrom .set import *\nfrom . import sorting\nfrom .sorting import *\nfrom . import statistical\nfrom .statistical import *\nfrom . import utility\nfrom .utility import *\nfrom . import experimental\nfrom .experimental import *\nfrom . import control_flow_ops\nfrom .control_flow_ops import *\n\n\n# sub-backends\n\nfrom . import sub_backends\nfrom .sub_backends import *\n", "path": "ivy/functional/backends/numpy/__init__.py"}]}