From 6afe96e0435d4bae32ea7524e0e918d4a8c5c1ca Mon Sep 17 00:00:00 2001 From: abhinav Date: Sun, 9 Aug 2026 13:10:35 +0530 Subject: [PATCH] fix: replace deprecated ndarray.shape assignment NumPy 2.5 deprecates setting the shape attribute on an array (numpy/numpy#29536). Use ndarray.reshape instead: - dm_control/mujoco/index.py: reshape the freshly built key array back to its original shape. - index_test.py / wrapper/core_test.py: reshape the synthetic contents arrays before comparing/writing. The data layout is unchanged (same total element count, same order), so indexing behavior is identical. --- dm_control/mujoco/index.py | 2 +- dm_control/mujoco/index_test.py | 2 +- dm_control/mujoco/wrapper/core_test.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dm_control/mujoco/index.py b/dm_control/mujoco/index.py index 76e534cc..fa0492b6 100644 --- a/dm_control/mujoco/index.py +++ b/dm_control/mujoco/index.py @@ -378,7 +378,7 @@ def convert_key_item(self, key_item): key_item = np.array([self._names_to_offsets[util.to_native_string(k)] for k in key_item.flat]) # Ensure the output shape is the same as that of the input. - key_item.shape = original_shape + key_item = key_item.reshape(original_shape) return key_item diff --git a/dm_control/mujoco/index_test.py b/dm_control/mujoco/index_test.py index 3eaeae53..f4144cbc 100644 --- a/dm_control/mujoco/index_test.py +++ b/dm_control/mujoco/index_test.py @@ -348,7 +348,7 @@ def testReadWrite_(self, field): # Don't write to non-float fields since these might contain pointers. if np.issubdtype(old_contents.dtype, np.floating): new_contents = np.arange(old_contents.size, dtype=old_contents.dtype) - new_contents.shape = old_contents.shape + new_contents = new_contents.reshape(old_contents.shape) field[:] = new_contents np.testing.assert_array_equal(new_contents, field[:]) diff --git a/dm_control/mujoco/wrapper/core_test.py b/dm_control/mujoco/wrapper/core_test.py index 3489f126..5f162e51 100644 --- a/dm_control/mujoco/wrapper/core_test.py +++ b/dm_control/mujoco/wrapper/core_test.py @@ -553,7 +553,7 @@ def _write_unique_values(self, attr_name, target_array): and not np.issubdtype(target_array.dtype, np.integer) and not np.issubdtype(target_array.dtype, np.bool_)): new_contents = np.arange(target_array.size, dtype=target_array.dtype) - new_contents.shape = target_array.shape + new_contents = new_contents.reshape(target_array.shape) target_array[:] = new_contents np.testing.assert_array_equal(new_contents, target_array[:])