From c854c0b9d4e9bc768e85172056f98f5f9e5580e3 Mon Sep 17 00:00:00 2001 From: Olivier Hoenen Date: Fri, 12 Jun 2026 20:35:33 +0200 Subject: [PATCH] fix deprecation warning with __array__'s copy keyword for Numpy>2 --- imas/ids_primitive.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/imas/ids_primitive.py b/imas/ids_primitive.py index a86faa95..8e64a7c6 100644 --- a/imas/ids_primitive.py +++ b/imas/ids_primitive.py @@ -334,7 +334,7 @@ class IDSNumeric0D(IDSPrimitive): __doc__ = IDSDoc(__doc__) __slots__ = () - def __array__(self, dtype=None): + def __array__(self, dtype=None, copy=None): return np.array(self.value, dtype=dtype) def __str__(self): @@ -437,7 +437,9 @@ class IDSNumericArray(IDSPrimitive, np.lib.mixins.NDArrayOperatorsMixin): # list, to support operations like np.add(array_like, list) _HANDLED_TYPES = (np.ndarray, Number) - def __array__(self, dtype=None): + def __array__(self, dtype=None, copy=None): + if copy: + return self.value.astype(dtype, copy=True) return self.value.astype(dtype, copy=False) def __array_ufunc__(self, ufunc, method, *inputs, **kwargs):