diff --git a/doc/changelog.rst b/doc/changelog.rst index 8ec65806..404f5865 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -35,6 +35,7 @@ General attaching can be restored by setting the deep copy flag to 1. - Added :ref:`potential` and :ref:`kinetic` energy sensors. - Improved shadow rendering in the native renderer. +- Moved ``introspect`` to ``python/introspect``. .. admonition:: Breaking API changes :class: attention diff --git a/python/make_sdist.sh b/python/make_sdist.sh index 7abe811d..da4c3260 100755 --- a/python/make_sdist.sh +++ b/python/make_sdist.sh @@ -36,9 +36,9 @@ cp -r "${package_dir}"/* . # Generate header files. old_pythonpath="${PYTHONPATH}" if [[ "$(uname)" == CYGWIN* || "$(uname)" == MINGW* ]]; then - export PYTHONPATH="${old_pythonpath};${package_dir}/.." + export PYTHONPATH="${old_pythonpath};${package_dir}/mujoco/python/.." else - export PYTHONPATH="${old_pythonpath}:${package_dir}/.." + export PYTHONPATH="${old_pythonpath}:${package_dir}/mujoco/python/.." fi python "${package_dir}"/mujoco/codegen/generate_enum_traits.py > \ mujoco/enum_traits.h diff --git a/python/make_sdist_requirements.txt b/python/make_sdist_requirements.txt index 21c39fdf..10f531c1 100644 --- a/python/make_sdist_requirements.txt +++ b/python/make_sdist_requirements.txt @@ -18,5 +18,7 @@ pyproject_hooks==1.2.0 \ --hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913 tomli==2.1.0; python_version < '3.11' \ --hash=sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391 +typing-extensions==4.12.2 \ + --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d zipp==3.21.0 \ --hash=sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931 diff --git a/python/mujoco/CMakeLists.txt b/python/mujoco/CMakeLists.txt index f4e28502..e941eb99 100644 --- a/python/mujoco/CMakeLists.txt +++ b/python/mujoco/CMakeLists.txt @@ -215,7 +215,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/enum_traits.h) else() add_custom_command( OUTPUT enum_traits.h - COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${mujoco_SOURCE_DIR}/mujoco ${Python3_EXECUTABLE} + COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${mujoco_SOURCE_DIR}/mujoco/python/mujoco ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_enum_traits.py > enum_traits.h DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_enum_traits.py ) @@ -233,7 +233,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/function_traits.h) else() add_custom_command( OUTPUT function_traits.h - COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${mujoco_SOURCE_DIR}/mujoco ${Python3_EXECUTABLE} + COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${mujoco_SOURCE_DIR}/mujoco/python/mujoco ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_function_traits.py > function_traits.h DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_function_traits.py ) @@ -408,7 +408,7 @@ target_link_libraries( if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/specs.cc.inc) add_custom_command( OUTPUT specs.cc.inc - COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${mujoco_SOURCE_DIR}/mujoco ${Python3_EXECUTABLE} + COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${mujoco_SOURCE_DIR}/mujoco/python ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_spec_bindings.py > specs.cc.inc DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen/generate_spec_bindings.py ) diff --git a/python/mujoco/introspect/__init__.py b/python/mujoco/introspect/__init__.py new file mode 100644 index 00000000..8d9506aa --- /dev/null +++ b/python/mujoco/introspect/__init__.py @@ -0,0 +1,14 @@ +# Copyright 2025 DeepMind Technologies Limited +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== diff --git a/introspect/ast_nodes.py b/python/mujoco/introspect/ast_nodes.py similarity index 100% rename from introspect/ast_nodes.py rename to python/mujoco/introspect/ast_nodes.py diff --git a/introspect/ast_nodes_test.py b/python/mujoco/introspect/ast_nodes_test.py similarity index 100% rename from introspect/ast_nodes_test.py rename to python/mujoco/introspect/ast_nodes_test.py diff --git a/introspect/codegen/formatter.py b/python/mujoco/introspect/codegen/formatter.py similarity index 100% rename from introspect/codegen/formatter.py rename to python/mujoco/introspect/codegen/formatter.py diff --git a/introspect/codegen/generate_enums.py b/python/mujoco/introspect/codegen/generate_enums.py similarity index 100% rename from introspect/codegen/generate_enums.py rename to python/mujoco/introspect/codegen/generate_enums.py diff --git a/introspect/codegen/generate_functions.py b/python/mujoco/introspect/codegen/generate_functions.py similarity index 100% rename from introspect/codegen/generate_functions.py rename to python/mujoco/introspect/codegen/generate_functions.py diff --git a/introspect/codegen/generate_structs.py b/python/mujoco/introspect/codegen/generate_structs.py similarity index 100% rename from introspect/codegen/generate_structs.py rename to python/mujoco/introspect/codegen/generate_structs.py diff --git a/introspect/enums.py b/python/mujoco/introspect/enums.py similarity index 100% rename from introspect/enums.py rename to python/mujoco/introspect/enums.py diff --git a/introspect/enums_test.py b/python/mujoco/introspect/enums_test.py similarity index 100% rename from introspect/enums_test.py rename to python/mujoco/introspect/enums_test.py diff --git a/introspect/functions.py b/python/mujoco/introspect/functions.py similarity index 100% rename from introspect/functions.py rename to python/mujoco/introspect/functions.py diff --git a/introspect/functions_test.py b/python/mujoco/introspect/functions_test.py similarity index 100% rename from introspect/functions_test.py rename to python/mujoco/introspect/functions_test.py diff --git a/introspect/structs.py b/python/mujoco/introspect/structs.py similarity index 100% rename from introspect/structs.py rename to python/mujoco/introspect/structs.py diff --git a/introspect/structs_test.py b/python/mujoco/introspect/structs_test.py similarity index 100% rename from introspect/structs_test.py rename to python/mujoco/introspect/structs_test.py diff --git a/introspect/type_parsing.py b/python/mujoco/introspect/type_parsing.py similarity index 100% rename from introspect/type_parsing.py rename to python/mujoco/introspect/type_parsing.py diff --git a/introspect/type_parsing_test.py b/python/mujoco/introspect/type_parsing_test.py similarity index 100% rename from introspect/type_parsing_test.py rename to python/mujoco/introspect/type_parsing_test.py