From 244496dcfb3e3b75cab80ecf229ea51955940bbc Mon Sep 17 00:00:00 2001 From: Mustafa H <34825877+StafaH@users.noreply.github.com> Date: Wed, 23 Sep 2026 09:07:35 -0700 Subject: [PATCH 1/2] [Tasks] Fix Warp reorient reset sampling around the lower joint limit (#7970) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Description The `reset_hand` kernel in the experimental Warp reorientation env sampled hand joint reset positions around the **lower joint limit** instead of between the lower and upper limits: ```python dof_pos_noise = wp.randf(rng_state[env_id], -1.0, 1.0) rand_delta = delta_min + (delta_max - delta_min) * 0.5 * dof_pos_noise # centred on delta_min ``` As a result, every hand joint reset at or below its default position. With a large enough `reset_dof_pos_noise` it could also end up outside the joint limits. For example, with limits `[-1, 1]`, default `0.1` and noise scale `0.2`, resets fell in `[-0.32, 0.08]` instead of `[-0.12, 0.28]`. The torch reorient and handover tasks were already fixed in #6413 via `sample_joint_positions_within_limits`. This PR applies the same `[-1, 1] -> [0, 1]` mapping in the Warp kernel, so both versions of the task reset joints over the same range. This was the last copy of the formula from the issue on `develop`. Fixes #4404 ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Test I added `test_warp_reset_hand_samples_the_same_range_as_the_torch_helper` to the existing `source/isaaclab_tasks/test/core/test_reorient_utils.py`. It launches `reset_hand` on CPU for 512 envs and checks two things: - every sample stays inside the range that `sample_joint_positions_within_limits` produces; - each joint gets samples on both sides of its default. The test fails without the fix and passes with it (`uv run python -m pytest source/isaaclab_tasks/test/core/test_reorient_utils.py`: 12 passed). ## Checklist - [x] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have added a changelog fragment under `source//changelog.d/` for every touched package (do **not** edit `CHANGELOG.rst` or bump `extension.toml` — CI handles that) - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there - [x] Backport this pull request to the active release branch after it merges into `develop` --------- Co-authored-by: Claude Opus 5.5 (1M context) --- .../mhaiderbhai-warp-reorient-reset-sampling.rst | 6 ++++++ .../core/reorient/reorient_warp_env.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 source/isaaclab_tasks_experimental/changelog.d/mhaiderbhai-warp-reorient-reset-sampling.rst diff --git a/source/isaaclab_tasks_experimental/changelog.d/mhaiderbhai-warp-reorient-reset-sampling.rst b/source/isaaclab_tasks_experimental/changelog.d/mhaiderbhai-warp-reorient-reset-sampling.rst new file mode 100644 index 000000000000..2bbcf0722187 --- /dev/null +++ b/source/isaaclab_tasks_experimental/changelog.d/mhaiderbhai-warp-reorient-reset-sampling.rst @@ -0,0 +1,6 @@ +Fixed +^^^^^ + +* Fixed the Warp reorientation reset sampling hand joint positions around the + lower joint limit instead of between the lower and upper limits, matching the + torch reorientation tasks. diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/core/reorient/reorient_warp_env.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/core/reorient/reorient_warp_env.py index 1b68d553b56f..c2a34edc9da6 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/core/reorient/reorient_warp_env.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/core/reorient/reorient_warp_env.py @@ -163,7 +163,7 @@ def reset_hand( delta_max = upper_limits[env_id, dof_id] - default_joint_pos[env_id, dof_id] delta_min = lower_limits[env_id, dof_id] - default_joint_pos[env_id, dof_id] - rand_delta = delta_min + (delta_max - delta_min) * 0.5 * dof_pos_noise + rand_delta = delta_min + (delta_max - delta_min) * 0.5 * (dof_pos_noise + wp.float32(1.0)) pos = default_joint_pos[env_id, dof_id] + reset_dof_pos_noise * rand_delta dof_vel_noise = wp.randf(rng_state[env_id], wp.float32(-1.0), wp.float32(1.0)) From cff81e8473e65a8a51a20a1ee4e0959ea54f9878 Mon Sep 17 00:00:00 2001 From: Mustafa H <34825877+StafaH@users.noreply.github.com> Date: Wed, 23 Sep 2026 09:10:27 -0700 Subject: [PATCH 2/2] [Core] Refactor and cleanup core subpackage for 3.0 [1/N] (#7958) # Description First PR in a series that splits the core cleanup in #7949 into small, reviewable pieces. This PR only changes how imports are written in `source/isaaclab/isaaclab` and adds the import rules to `AGENTS.md`; there is no logic change. **Import rules (new `## Code style` section in `AGENTS.md`)** - Imports are grouped in PEP 8 order: `__future__`, standard library, third-party, Omniverse runtime packages, Isaac Lab packages, then local relative imports. The existing ruff isort config already enforces this. - Imports from the same package are relative when the target is at most three leading dots away (e.g. `from ...utils import math as math_utils`), and absolute for deeper targets and other packages. - Modules with an `if __name__ == "__main__":` block keep absolute imports, because some are executed by file path (e.g. `benchmark/entrypoints/multigpu.py` launches itself as the worker script), where relative imports fail. **Changes in the core package** - Applied the rule above across the package with an AST-based rewrite: 725 imports converted (686 `from isaaclab.x import ...`, 39 `import isaaclab.x.y as z` -> `from ...x import y as z`), then re-sorted with ruff. 103 imports that would need more than three dots stay absolute. - No imports are added, removed, or moved between scopes. - `test/sensors/test_ray_caster_kernels.py` loaded `utils/warp/kernels.py` by file path, which cannot resolve relative imports. It now imports the kernels as regular package modules; they import without Kit. Verification: - Every file's AST is identical to `develop` once relative imports are resolved to absolute names (520 files). - Importing every module under `isaaclab` gives the same result as on `develop`, both in one process and with each of the 203 top-level modules in a fresh process (checks for import-order-dependent cycles). - `isaaclab train --rl_library rsl_rl --task Isaac-Cartpole-Direct --num_envs 16 presets=newton_mjwarp --max_iterations 5` completes. - `pytest source/isaaclab/test/benchmark source/isaaclab/test/cli source/isaaclab/test/app/test_app_launcher_argv.py`: 661 passed. - `ruff check` (including isort) / `ruff format` are clean. ## Type of change - Code cleanup (non-breaking, no functional change) ## Checklist - [x] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have added a changelog fragment under `source//changelog.d/` for every touched package (`.skip`) - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there - [x] Backport this pull request to the active release branch after it merges into `develop` --- AGENTS.md | 10 ++++ .../changelog.d/core-cleanup-imports.skip | 1 + source/isaaclab/isaaclab/__init__.py | 2 +- .../isaaclab/isaaclab/actuators/__init__.py | 2 +- source/isaaclab/isaaclab/actuators/_compat.py | 2 +- .../isaaclab/actuators/actuator_base.py | 5 +- .../isaaclab/actuators/actuator_base_cfg.py | 2 +- .../isaaclab/actuators/actuator_collection.py | 7 ++- .../isaaclab/actuators/actuator_control.py | 3 +- .../isaaclab/actuators/actuator_kernels.py | 2 +- .../isaaclab/actuators/actuator_net.py | 5 +- .../isaaclab/actuators/actuator_net_cfg.py | 3 +- .../isaaclab/actuators/actuator_pd.py | 5 +- .../isaaclab/actuators/actuator_pd_cfg.py | 3 +- .../isaaclab/actuators/newton/adapter.py | 2 +- .../actuators/newton/physx_runtime.py | 2 +- source/isaaclab/isaaclab/app/__init__.py | 2 +- source/isaaclab/isaaclab/app/app_launcher.py | 14 +++--- source/isaaclab/isaaclab/app/sim_launcher.py | 22 ++++----- source/isaaclab/isaaclab/assets/__init__.py | 2 +- .../isaaclab/assets/articulation/__init__.py | 2 +- .../assets/articulation/articulation.py | 3 +- .../assets/articulation/articulation_cfg.py | 7 ++- .../assets/articulation/articulation_data.py | 3 +- .../assets/articulation/base_articulation.py | 7 ++- .../articulation/base_articulation_data.py | 10 ++-- .../assets/articulation/ordering_kernels.py | 2 +- .../assets/articulation/ordering_resolvers.py | 10 ++-- source/isaaclab/isaaclab/assets/asset.py | 6 +-- source/isaaclab/isaaclab/assets/asset_base.py | 9 ++-- .../isaaclab/assets/asset_base_cfg.py | 4 +- .../isaaclab/assets/cable_object/__init__.py | 2 +- .../assets/cable_object/base_cable_object.py | 4 +- .../cable_object/base_cable_object_data.py | 2 +- .../assets/cable_object/cable_object.py | 3 +- .../assets/cable_object/cable_object_cfg.py | 4 +- .../assets/cable_object/cable_object_data.py | 3 +- .../assets/deformable_object/__init__.py | 2 +- .../base_deformable_object.py | 6 +-- .../base_deformable_object_data.py | 2 +- .../deformable_object/deformable_object.py | 3 +- .../deformable_object_cfg.py | 8 ++-- .../deformable_object_data.py | 3 +- .../isaaclab/assets/rigid_object/__init__.py | 2 +- .../assets/rigid_object/base_rigid_object.py | 5 +- .../rigid_object/base_rigid_object_data.py | 6 +-- .../assets/rigid_object/rigid_object.py | 3 +- .../assets/rigid_object/rigid_object_cfg.py | 3 +- .../assets/rigid_object/rigid_object_data.py | 3 +- .../rigid_object_collection/__init__.py | 2 +- .../base_rigid_object_collection.py | 5 +- .../base_rigid_object_collection_data.py | 6 +-- .../rigid_object_collection.py | 3 +- .../rigid_object_collection_cfg.py | 4 +- .../rigid_object_collection_data.py | 3 +- .../assets/visual_material/__init__.py | 2 +- .../assets/visual_material/visual_material.py | 9 ++-- .../visual_material/visual_material_cfg.py | 6 +-- .../isaaclab/isaaclab/benchmark/__init__.py | 2 +- .../isaaclab/benchmark/asset_suites/cli.py | 2 +- .../isaaclab/benchmark/benchmark_core.py | 18 +++---- .../isaaclab/isaaclab/benchmark/builders.py | 4 +- source/isaaclab/isaaclab/benchmark/capture.py | 2 +- source/isaaclab/isaaclab/benchmark/console.py | 2 +- .../benchmark/entrypoints/__init__.py | 2 +- .../benchmark/entrypoints/early_stop.py | 4 +- .../isaaclab/isaaclab/benchmark/formatters.py | 6 +-- source/isaaclab/isaaclab/benchmark/metrics.py | 2 +- .../isaaclab/benchmark/microbenchmark.py | 4 +- .../isaaclab/benchmark/recorders/__init__.py | 2 +- .../benchmark/recorders/record_cpu_info.py | 4 +- .../benchmark/recorders/record_gpu_info.py | 4 +- .../benchmark/recorders/record_memory_info.py | 4 +- .../recorders/record_version_info.py | 6 +-- .../benchmark/sensor_suites/contact.py | 14 +++--- .../isaaclab/isaaclab/benchmark/stepping.py | 4 +- source/isaaclab/isaaclab/cli/__init__.py | 6 +-- .../isaaclab/isaaclab/cli/commands/deploy.py | 6 +-- source/isaaclab/isaaclab/cli/utils.py | 2 +- source/isaaclab/isaaclab/cloner/__init__.py | 2 +- source/isaaclab/isaaclab/cloner/clone_plan.py | 9 ++-- source/isaaclab/isaaclab/cloner/cloner_cfg.py | 3 +- .../isaaclab/cloner/replicate_session.py | 3 +- .../isaaclab/isaaclab/controllers/__init__.py | 2 +- .../isaaclab/controllers/config/rmp_flow.py | 4 +- .../isaaclab/controllers/differential_ik.py | 2 +- .../controllers/differential_ik_cfg.py | 2 +- .../controllers/joint_impedance_cfg.py | 2 +- .../isaaclab/controllers/operational_space.py | 2 +- .../controllers/operational_space_cfg.py | 2 +- .../isaaclab/controllers/pink_ik/__init__.py | 2 +- .../isaaclab/controllers/pink_ik/pink_ik.py | 11 ++--- .../controllers/pink_ik/pink_ik_cfg.py | 3 +- .../controllers/pink_ik/pink_task_cfg.py | 2 +- .../isaaclab/isaaclab/controllers/rmp_flow.py | 7 ++- .../isaaclab/controllers/rmp_flow_cfg.py | 2 +- source/isaaclab/isaaclab/controllers/utils.py | 2 +- source/isaaclab/isaaclab/devices/__init__.py | 2 +- .../isaaclab/isaaclab/devices/device_base.py | 4 +- .../isaaclab/devices/gamepad/__init__.py | 2 +- .../isaaclab/devices/gamepad/se2_gamepad.py | 3 +- .../devices/gamepad/se2_gamepad_cfg.py | 3 +- .../isaaclab/devices/gamepad/se3_gamepad.py | 3 +- .../devices/gamepad/se3_gamepad_cfg.py | 3 +- .../isaaclab/devices/haply/__init__.py | 2 +- .../isaaclab/devices/haply/se3_haply.py | 2 +- .../isaaclab/devices/keyboard/__init__.py | 2 +- .../devices/keyboard/se2_keyboard_cfg.py | 3 +- .../devices/keyboard/se3_keyboard_cfg.py | 3 +- .../isaaclab/devices/openxr/__init__.py | 2 +- .../isaaclab/devices/retargeter_base.py | 2 +- .../isaaclab/devices/spacemouse/__init__.py | 2 +- .../devices/spacemouse/se2_spacemouse.py | 3 +- .../devices/spacemouse/se2_spacemouse_cfg.py | 3 +- .../devices/spacemouse/se3_spacemouse_cfg.py | 3 +- source/isaaclab/isaaclab/envs/__init__.py | 2 +- source/isaaclab/isaaclab/envs/common.py | 4 +- .../isaaclab/isaaclab/envs/direct_marl_env.py | 13 +++-- .../isaaclab/envs/direct_marl_env_cfg.py | 11 ++--- .../isaaclab/isaaclab/envs/direct_rl_env.py | 13 +++-- .../isaaclab/envs/direct_rl_env_cfg.py | 11 ++--- .../isaaclab/envs/leapp_deployment_env.py | 8 ++-- .../isaaclab/envs/manager_based_env.py | 15 +++--- .../isaaclab/envs/manager_based_env_cfg.py | 17 ++++--- .../isaaclab/envs/manager_based_rl_env.py | 3 +- .../isaaclab/envs/manager_based_rl_env_cfg.py | 3 +- .../envs/manager_based_rl_mimic_env.py | 4 +- source/isaaclab/isaaclab/envs/mdp/__init__.py | 2 +- .../envs/mdp/actions/binary_joint_actions.py | 5 +- .../envs/mdp/actions/joint_actions.py | 5 +- .../mdp/actions/joint_actions_to_limits.py | 5 +- .../envs/mdp/actions/non_holonomic_actions.py | 5 +- .../mdp/actions/pink_task_space_actions.py | 5 +- .../mdp/actions/rmpflow_task_space_actions.py | 3 +- .../mdp/actions/surface_gripper_actions.py | 3 +- .../envs/mdp/actions/task_space_actions.py | 5 +- .../envs/mdp/actions/tendon_actions.py | 5 +- .../envs/mdp/commands/pose_2d_command.py | 3 +- .../envs/mdp/commands/pose_command.py | 3 +- .../envs/mdp/commands/velocity_command.py | 3 +- .../isaaclab/isaaclab/envs/mdp/curriculums.py | 4 +- source/isaaclab/isaaclab/envs/mdp/events.py | 32 ++++++------- .../isaaclab/envs/mdp/observations.py | 20 ++++---- source/isaaclab/isaaclab/envs/mdp/rewards.py | 14 +++--- .../isaaclab/envs/mdp/terminations.py | 11 ++--- .../isaaclab/envs/mdp/visual_events.py | 8 ++-- .../isaaclab/isaaclab/envs/mimic_env_cfg.py | 4 +- source/isaaclab/isaaclab/envs/ui/__init__.py | 2 +- .../isaaclab/envs/ui/base_env_window.py | 8 ++-- .../envs/ui/viewport_camera_controller.py | 2 +- .../isaaclab/envs/utils/camera_view.py | 6 +-- .../isaaclab/envs/utils/io_descriptors.py | 6 +-- .../isaaclab/envs/utils/video_recorder.py | 2 +- .../isaaclab/envs/utils/video_recorder_cfg.py | 2 +- source/isaaclab/isaaclab/managers/__init__.py | 2 +- .../isaaclab/managers/action_manager.py | 7 ++- .../isaaclab/managers/command_manager.py | 2 +- .../isaaclab/managers/curriculum_manager.py | 2 +- .../isaaclab/managers/event_manager.py | 2 +- .../isaaclab/managers/manager_base.py | 11 ++--- .../isaaclab/managers/manager_term_cfg.py | 7 ++- .../isaaclab/managers/observation_manager.py | 9 ++-- .../isaaclab/managers/recorder_manager.py | 7 ++- .../isaaclab/managers/reward_manager.py | 2 +- .../isaaclab/managers/scene_entity_cfg.py | 6 +-- .../isaaclab/managers/termination_manager.py | 2 +- source/isaaclab/isaaclab/markers/__init__.py | 2 +- .../isaaclab/markers/config/__init__.py | 6 +-- .../isaaclab/markers/visualization_markers.py | 3 +- .../markers/visualization_markers_cfg.py | 6 +-- source/isaaclab/isaaclab/physics/__init__.py | 2 +- .../isaaclab/physics/physics_manager.py | 12 ++--- .../isaaclab/physics/physics_manager_cfg.py | 2 +- .../isaaclab/isaaclab/renderers/__init__.py | 2 +- .../isaaclab/renderers/base_renderer.py | 4 +- .../isaaclab/renderers/camera_render_spec.py | 2 +- .../isaaclab/renderers/render_context.py | 5 +- .../isaaclab/renderers/renderer_cfg.py | 5 +- source/isaaclab/isaaclab/scene/__init__.py | 2 +- .../isaaclab/scene/interactive_scene.py | 27 +++++------ .../isaaclab/scene/interactive_scene_cfg.py | 11 ++--- .../isaaclab/isaaclab/scene_data/__init__.py | 2 +- .../scene_data/deformable_discovery.py | 2 +- source/isaaclab/isaaclab/sensors/__init__.py | 2 +- .../isaaclab/sensors/camera/__init__.py | 2 +- .../isaaclab/sensors/camera/camera.py | 17 ++++--- .../isaaclab/sensors/camera/camera_cfg.py | 9 ++-- .../isaaclab/sensors/camera/camera_data.py | 6 +-- .../sensors/camera/tiled_camera_cfg.py | 5 +- .../isaaclab/isaaclab/sensors/camera/utils.py | 4 +- .../sensors/contact_sensor/__init__.py | 2 +- .../contact_sensor/base_contact_sensor.py | 5 +- .../base_contact_sensor_data.py | 4 +- .../contact_sensor/contact_force_marker.py | 2 +- .../sensors/contact_sensor/contact_sensor.py | 3 +- .../contact_sensor/contact_sensor_cfg.py | 10 ++-- .../contact_sensor/contact_sensor_data.py | 3 +- .../sensors/frame_transformer/__init__.py | 2 +- .../base_frame_transformer.py | 3 +- .../base_frame_transformer_data.py | 4 +- .../frame_transformer/frame_transformer.py | 3 +- .../frame_transformer_cfg.py | 5 +- .../frame_transformer_data.py | 3 +- .../isaaclab/isaaclab/sensors/imu/__init__.py | 2 +- .../isaaclab/sensors/imu/base_imu_data.py | 4 +- source/isaaclab/isaaclab/sensors/imu/imu.py | 3 +- .../isaaclab/isaaclab/sensors/imu/imu_cfg.py | 3 +- .../isaaclab/isaaclab/sensors/imu/imu_data.py | 3 +- .../isaaclab/sensors/joint_wrench/__init__.py | 2 +- .../joint_wrench/base_joint_wrench_sensor.py | 3 +- .../base_joint_wrench_sensor_data.py | 2 +- .../joint_wrench/joint_wrench_sensor.py | 3 +- .../joint_wrench/joint_wrench_sensor_cfg.py | 3 +- .../joint_wrench/joint_wrench_sensor_data.py | 3 +- .../isaaclab/isaaclab/sensors/pva/__init__.py | 2 +- .../isaaclab/sensors/pva/base_pva_data.py | 4 +- source/isaaclab/isaaclab/sensors/pva/pva.py | 3 +- .../isaaclab/isaaclab/sensors/pva/pva_cfg.py | 7 ++- .../isaaclab/isaaclab/sensors/pva/pva_data.py | 3 +- .../isaaclab/sensors/ray_caster/__init__.py | 2 +- .../ray_caster/base_multi_mesh_ray_caster.py | 16 +++---- .../base_multi_mesh_ray_caster_camera.py | 5 +- .../sensors/ray_caster/base_ray_caster.py | 13 +++-- .../ray_caster/base_ray_caster_camera.py | 9 ++-- .../ray_caster/multi_mesh_ray_caster.py | 3 +- .../multi_mesh_ray_caster_camera.py | 3 +- .../multi_mesh_ray_caster_camera_cfg.py | 3 +- .../multi_mesh_ray_caster_camera_data.py | 4 +- .../ray_caster/multi_mesh_ray_caster_cfg.py | 3 +- .../ray_caster/multi_mesh_ray_caster_data.py | 3 +- .../isaaclab/sensors/ray_caster/ray_caster.py | 3 +- .../sensors/ray_caster/ray_caster_camera.py | 3 +- .../ray_caster/ray_caster_camera_cfg.py | 3 +- .../sensors/ray_caster/ray_caster_cfg.py | 9 ++-- .../sensors/ray_caster/ray_caster_data.py | 4 +- .../isaaclab/isaaclab/sensors/sensor_base.py | 16 +++---- .../isaaclab/sensors/sensor_base_cfg.py | 2 +- source/isaaclab/isaaclab/sim/__init__.py | 2 +- .../isaaclab/sim/converters/__init__.py | 2 +- .../sim/converters/asset_converter_base.py | 6 +-- .../converters/asset_converter_base_cfg.py | 2 +- .../isaaclab/sim/converters/mesh_converter.py | 12 ++--- .../sim/converters/mesh_converter_cfg.py | 6 +-- .../isaaclab/sim/converters/mjcf_converter.py | 5 +- .../sim/converters/mjcf_converter_cfg.py | 4 +- .../isaaclab/sim/converters/urdf_converter.py | 5 +- .../sim/converters/urdf_converter_cfg.py | 4 +- .../isaaclab/isaaclab/sim/schemas/__init__.py | 2 +- .../isaaclab/isaaclab/sim/schemas/schemas.py | 7 ++- .../isaaclab/sim/schemas/schemas_actuators.py | 32 ++++++------- .../isaaclab/sim/schemas/schemas_cfg.py | 2 +- .../isaaclab/isaaclab/sim/simulation_cfg.py | 8 ++-- .../isaaclab/sim/simulation_context.py | 32 ++++++------- .../isaaclab/sim/spawners/__init__.py | 2 +- .../isaaclab/isaaclab/sim/spawners/_utils.py | 4 +- .../sim/spawners/from_files/from_files.py | 15 +++--- .../sim/spawners/from_files/from_files_cfg.py | 7 +-- .../isaaclab/sim/spawners/lights/lights.py | 2 +- .../sim/spawners/lights/lights_cfg.py | 3 +- .../spawners/materials/physics_materials.py | 6 +-- .../materials/physics_materials_cfg.py | 3 +- .../spawners/materials/visual_materials.py | 5 +- .../materials/visual_materials_cfg.py | 3 +- .../isaaclab/sim/spawners/meshes/meshes.py | 7 ++- .../sim/spawners/meshes/meshes_cfg.py | 5 +- .../isaaclab/sim/spawners/sensors/sensors.py | 3 +- .../sim/spawners/sensors/sensors_cfg.py | 3 +- .../isaaclab/sim/spawners/shapes/shapes.py | 8 ++-- .../sim/spawners/shapes/shapes_cfg.py | 7 +-- .../isaaclab/sim/spawners/spawner_cfg.py | 4 +- .../sim/spawners/wrappers/wrappers.py | 3 +- .../sim/spawners/wrappers/wrappers_cfg.py | 5 +- .../isaaclab/isaaclab/sim/utils/__init__.py | 2 +- .../isaaclab/sim/utils/newton_model_utils.py | 2 +- source/isaaclab/isaaclab/sim/utils/prims.py | 7 ++- source/isaaclab/isaaclab/sim/utils/queries.py | 5 +- source/isaaclab/isaaclab/sim/utils/stage.py | 2 +- .../isaaclab/isaaclab/sim/views/__init__.py | 2 +- .../isaaclab/sim/views/base_frame_view.py | 2 +- .../sim/views/fabric_xform_selection.py | 4 +- .../isaaclab/isaaclab/sim/views/frame_view.py | 5 +- .../isaaclab/sim/views/usd_frame_view.py | 5 +- .../isaaclab/sim/views/xform_space_writer.py | 2 +- source/isaaclab/isaaclab/terrains/__init__.py | 2 +- .../isaaclab/terrains/config/__init__.py | 2 +- .../isaaclab/terrains/config/rough.py | 3 +- .../terrains/height_field/__init__.py | 2 +- .../terrains/height_field/hf_terrains_cfg.py | 3 +- .../isaaclab/terrains/sub_terrain_cfg.py | 2 +- .../isaaclab/terrains/terrain_generator.py | 9 ++-- .../terrains/terrain_generator_cfg.py | 3 +- .../isaaclab/terrains/terrain_importer.py | 11 ++--- .../isaaclab/terrains/terrain_importer_cfg.py | 6 +-- .../isaaclab/terrains/trimesh/__init__.py | 2 +- .../terrains/trimesh/mesh_terrains_cfg.py | 3 +- source/isaaclab/isaaclab/terrains/utils.py | 6 +-- source/isaaclab/isaaclab/test/env_cfgs.py | 8 ++-- .../isaaclab/test/integration_scene_cfgs.py | 12 ++--- .../test/utils/actuator_equivalence.py | 12 ++--- .../isaaclab/ui/live_plots/__init__.py | 2 +- .../ui/live_plots/manager_live_plots.py | 2 +- .../isaaclab/isaaclab/ui/widgets/__init__.py | 2 +- .../isaaclab/isaaclab/ui/widgets/line_plot.py | 2 +- .../ui/widgets/manager_live_visualizer.py | 9 ++-- .../isaaclab/ui/xr_widgets/__init__.py | 2 +- .../ui/xr_widgets/instruction_widget.py | 2 +- .../ui/xr_widgets/scene_visualization.py | 4 +- .../teleop_visualization_manager.py | 4 +- source/isaaclab/isaaclab/utils/assets.py | 4 +- .../isaaclab/isaaclab/utils/backend_utils.py | 4 +- .../isaaclab/utils/buffers/__init__.py | 2 +- .../isaaclab/utils/datasets/__init__.py | 2 +- .../datasets/hdf5_dataset_file_handler.py | 3 +- source/isaaclab/isaaclab/utils/images.py | 2 +- .../isaaclab/utils/interpolation/__init__.py | 2 +- source/isaaclab/isaaclab/utils/io/__init__.py | 2 +- source/isaaclab/isaaclab/utils/io/yaml.py | 2 +- .../isaaclab/isaaclab/utils/leapp/__init__.py | 2 +- .../isaaclab/utils/leapp/export_annotator.py | 11 ++--- .../isaaclab/utils/leapp/leapp_semantics.py | 2 +- source/isaaclab/isaaclab/utils/leapp/proxy.py | 5 +- source/isaaclab/isaaclab/utils/leapp/utils.py | 3 +- .../isaaclab/utils/modifiers/__init__.py | 2 +- .../isaaclab/utils/modifiers/modifier_cfg.py | 2 +- .../isaaclab/isaaclab/utils/noise/__init__.py | 2 +- .../isaaclab/utils/noise/noise_cfg.py | 2 +- source/isaaclab/isaaclab/utils/timer.py | 4 +- .../isaaclab/isaaclab/utils/warp/__init__.py | 2 +- .../isaaclab/isaaclab/utils/warp/kernels.py | 2 +- .../isaaclab/utils/wrench_composer.py | 6 +-- .../isaaclab/isaaclab/visualizers/__init__.py | 2 +- .../isaaclab/visualizers/base_visualizer.py | 15 +++--- .../isaaclab/visualizers/visualizer_cfg.py | 2 +- .../test/sensors/test_ray_caster_kernels.py | 47 +++---------------- 334 files changed, 762 insertions(+), 902 deletions(-) create mode 100644 source/isaaclab/changelog.d/core-cleanup-imports.skip diff --git a/AGENTS.md b/AGENTS.md index dc87f64f280c..be46a9f6edf1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -23,6 +23,16 @@ - Use `./isaaclab.sh` only for installer workflows that require it. - Do not define Warp kernels in `python -c`; write a temporary Python file instead so Warp can inspect the source. +## Code style + +- Group imports in PEP 8 order, separated by blank lines: `__future__`, standard library, third-party, + Omniverse runtime packages (`isaacsim`, `omni`, `pxr`, `carb`, ...), Isaac Lab packages, then local relative imports. + Ruff enforces this order through `uv run isaaclab -f`; do not sort imports by hand. +- Import from the same package with relative imports when the target is at most three leading dots away + (e.g. `from ...utils import math as math_utils`). Use absolute imports for deeper targets and for other packages. +- Keep absolute imports in modules that can run as scripts (with an `if __name__ == "__main__":` block), + since relative imports fail there. + ## Testing and validation - Run the narrowest relevant test first. diff --git a/source/isaaclab/changelog.d/core-cleanup-imports.skip b/source/isaaclab/changelog.d/core-cleanup-imports.skip new file mode 100644 index 000000000000..b34a285f66b4 --- /dev/null +++ b/source/isaaclab/changelog.d/core-cleanup-imports.skip @@ -0,0 +1 @@ +Switched same-package imports in the core package to relative form up to three levels. diff --git a/source/isaaclab/isaaclab/__init__.py b/source/isaaclab/isaaclab/__init__.py index fbb6a6fc92c6..7d2b208327b9 100644 --- a/source/isaaclab/isaaclab/__init__.py +++ b/source/isaaclab/isaaclab/__init__.py @@ -174,6 +174,6 @@ def bootstrap_kernel(): def main(): """Run the ``isaaclab`` command through its compatibility dispatcher.""" - from isaaclab.__main__ import main as _main + from .__main__ import main as _main sys.exit(_main()) diff --git a/source/isaaclab/isaaclab/actuators/__init__.py b/source/isaaclab/isaaclab/actuators/__init__.py index 90909810a825..1193802a23d3 100644 --- a/source/isaaclab/isaaclab/actuators/__init__.py +++ b/source/isaaclab/isaaclab/actuators/__init__.py @@ -23,6 +23,6 @@ which is exposed through :attr:`isaaclab.assets.Articulation.actuators`. """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/actuators/_compat.py b/source/isaaclab/isaaclab/actuators/_compat.py index 07fa1e0d5392..82a49e9d4d2b 100644 --- a/source/isaaclab/isaaclab/actuators/_compat.py +++ b/source/isaaclab/isaaclab/actuators/_compat.py @@ -17,7 +17,7 @@ import torch -from isaaclab.utils.string import _resolve_matching_values_dense +from ..utils.string import _resolve_matching_values_dense from .actuator_base_cfg import _is_implicit_actuator_cfg diff --git a/source/isaaclab/isaaclab/actuators/actuator_base.py b/source/isaaclab/isaaclab/actuators/actuator_base.py index a27f2d91733a..3b8f181908c6 100644 --- a/source/isaaclab/isaaclab/actuators/actuator_base.py +++ b/source/isaaclab/isaaclab/actuators/actuator_base.py @@ -12,9 +12,8 @@ import torch -import isaaclab.utils.string as string_utils -from isaaclab.utils.types import ArticulationActions - +from ..utils import string as string_utils +from ..utils.types import ArticulationActions from ._compat import _limits_equal, _resolve_limit_aliases if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/actuators/actuator_base_cfg.py b/source/isaaclab/isaaclab/actuators/actuator_base_cfg.py index 04936134a4f6..9dbecb6a6917 100644 --- a/source/isaaclab/isaaclab/actuators/actuator_base_cfg.py +++ b/source/isaaclab/isaaclab/actuators/actuator_base_cfg.py @@ -7,7 +7,7 @@ from dataclasses import MISSING -from isaaclab.utils import configclass +from ..utils import configclass def _is_implicit_actuator_cfg(cfg: ActuatorBaseCfg) -> bool: diff --git a/source/isaaclab/isaaclab/actuators/actuator_collection.py b/source/isaaclab/isaaclab/actuators/actuator_collection.py index ddf8e213a189..6eb81d02d38d 100644 --- a/source/isaaclab/isaaclab/actuators/actuator_collection.py +++ b/source/isaaclab/isaaclab/actuators/actuator_collection.py @@ -17,10 +17,9 @@ import warp as wp from prettytable import PrettyTable -from isaaclab.utils.types import ArticulationActions -from isaaclab.utils.warp import ProxyArray -from isaaclab.utils.warp.launch_cache import _WarpLaunchCache - +from ..utils.types import ArticulationActions +from ..utils.warp import ProxyArray +from ..utils.warp.launch_cache import _WarpLaunchCache from . import actuator_kernels from ._compat import _resolve_limit_aliases from .actuator_base import ActuatorBase, resolve_joint_parameter diff --git a/source/isaaclab/isaaclab/actuators/actuator_control.py b/source/isaaclab/isaaclab/actuators/actuator_control.py index c831a1f5d33c..2ed1424e8bc2 100644 --- a/source/isaaclab/isaaclab/actuators/actuator_control.py +++ b/source/isaaclab/isaaclab/actuators/actuator_control.py @@ -14,8 +14,7 @@ import torch import warp as wp -from isaaclab.utils.warp import ProxyArray - +from ..utils.warp import ProxyArray from .actuator_base_cfg import ActuatorBaseCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/actuators/actuator_kernels.py b/source/isaaclab/isaaclab/actuators/actuator_kernels.py index b68d51e78220..52c92f803e9c 100644 --- a/source/isaaclab/isaaclab/actuators/actuator_kernels.py +++ b/source/isaaclab/isaaclab/actuators/actuator_kernels.py @@ -12,7 +12,7 @@ import torch import warp as wp -from isaaclab.utils.warp.index_kernel import IndexKernelDispatcher +from ..utils.warp.index_kernel import IndexKernelDispatcher @wp.kernel(enable_backward=False) diff --git a/source/isaaclab/isaaclab/actuators/actuator_net.py b/source/isaaclab/isaaclab/actuators/actuator_net.py index 2274d1b78db3..148dce18481e 100644 --- a/source/isaaclab/isaaclab/actuators/actuator_net.py +++ b/source/isaaclab/isaaclab/actuators/actuator_net.py @@ -19,9 +19,8 @@ import torch -from isaaclab.utils.assets import read_file -from isaaclab.utils.types import ArticulationActions - +from ..utils.assets import read_file +from ..utils.types import ArticulationActions from .actuator_pd import DCMotor if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/actuators/actuator_net_cfg.py b/source/isaaclab/isaaclab/actuators/actuator_net_cfg.py index ab8f53151b70..9f649682819c 100644 --- a/source/isaaclab/isaaclab/actuators/actuator_net_cfg.py +++ b/source/isaaclab/isaaclab/actuators/actuator_net_cfg.py @@ -7,8 +7,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Literal -from isaaclab.utils import configclass - +from ..utils import configclass from .actuator_pd_cfg import DCMotorCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/actuators/actuator_pd.py b/source/isaaclab/isaaclab/actuators/actuator_pd.py index d278ac9a1d5a..09cb45f2d526 100644 --- a/source/isaaclab/isaaclab/actuators/actuator_pd.py +++ b/source/isaaclab/isaaclab/actuators/actuator_pd.py @@ -12,9 +12,8 @@ import torch -from isaaclab.utils import DelayBuffer, LinearInterpolation -from isaaclab.utils.types import ArticulationActions - +from ..utils import DelayBuffer, LinearInterpolation +from ..utils.types import ArticulationActions from ._compat import _limits_equal from .actuator_base import ActuatorBase, resolve_joint_parameter diff --git a/source/isaaclab/isaaclab/actuators/actuator_pd_cfg.py b/source/isaaclab/isaaclab/actuators/actuator_pd_cfg.py index 7e0236cd0753..354cd062eea5 100644 --- a/source/isaaclab/isaaclab/actuators/actuator_pd_cfg.py +++ b/source/isaaclab/isaaclab/actuators/actuator_pd_cfg.py @@ -6,8 +6,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ..utils import configclass from .actuator_base_cfg import ActuatorBaseCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/actuators/newton/adapter.py b/source/isaaclab/isaaclab/actuators/newton/adapter.py index 9dc50f833ae2..b62ad77ec5cf 100644 --- a/source/isaaclab/isaaclab/actuators/newton/adapter.py +++ b/source/isaaclab/isaaclab/actuators/newton/adapter.py @@ -37,7 +37,7 @@ ) if TYPE_CHECKING: - from isaaclab.actuators import ActuatorCollection + from .. import ActuatorCollection # --------------------------------------------------------------------------- # Abstract base — backend-independent logic diff --git a/source/isaaclab/isaaclab/actuators/newton/physx_runtime.py b/source/isaaclab/isaaclab/actuators/newton/physx_runtime.py index 4765d202ce6c..76bc8a8d1885 100644 --- a/source/isaaclab/isaaclab/actuators/newton/physx_runtime.py +++ b/source/isaaclab/isaaclab/actuators/newton/physx_runtime.py @@ -17,7 +17,7 @@ from .physx_wrapper import PhysxActuatorWrapper if TYPE_CHECKING: - from isaaclab.actuators import ActuatorCollection + from .. import ActuatorCollection class PhysxActuatorRuntime: diff --git a/source/isaaclab/isaaclab/app/__init__.py b/source/isaaclab/isaaclab/app/__init__.py index e630c2e21f97..c7d2939f3348 100644 --- a/source/isaaclab/isaaclab/app/__init__.py +++ b/source/isaaclab/isaaclab/app/__init__.py @@ -12,6 +12,6 @@ """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/app/app_launcher.py b/source/isaaclab/isaaclab/app/app_launcher.py index 8bc108266c54..cc431512eea6 100644 --- a/source/isaaclab/isaaclab/app/app_launcher.py +++ b/source/isaaclab/isaaclab/app/app_launcher.py @@ -33,12 +33,12 @@ SimulationApp = getattr(isaacsim, "SimulationApp", None) -from isaaclab.app.loading_screen import report_activity -from isaaclab.app.logging_utils import apply_python_logging_level, resolve_python_logging_level -from isaaclab.app.settings_manager import get_settings_manager, initialize_carb_settings -from isaaclab.paths import ISAACLAB_ROOT -from isaaclab.utils._device import set_cuda_device -from isaaclab.utils.renderers import ISAAC_RTX_SHOW_ALL_PARTITIONS_BY_DEFAULT_SETTING +from ..paths import ISAACLAB_ROOT +from ..utils._device import set_cuda_device +from ..utils.renderers import ISAAC_RTX_SHOW_ALL_PARTITIONS_BY_DEFAULT_SETTING +from .loading_screen import report_activity +from .logging_utils import apply_python_logging_level, resolve_python_logging_level +from .settings_manager import get_settings_manager, initialize_carb_settings # import logger logger = logging.getLogger(__name__) @@ -345,7 +345,7 @@ def __init__(self, launcher_args: argparse.Namespace | dict | None = None, **kwa # additional ``pip_prebundle`` or conflicting extension directories onto # ``sys.path`` during startup. A second pass ensures pip-installed # packages still take priority over bundled copies. - from isaaclab import _deprioritize_prebundle_paths + from .. import _deprioritize_prebundle_paths _deprioritize_prebundle_paths() diff --git a/source/isaaclab/isaaclab/app/sim_launcher.py b/source/isaaclab/isaaclab/app/sim_launcher.py index e7524ec1d36d..f6894e298d21 100644 --- a/source/isaaclab/isaaclab/app/sim_launcher.py +++ b/source/isaaclab/isaaclab/app/sim_launcher.py @@ -28,11 +28,11 @@ from isaaclab_physx.physics import PhysxCfg from isaaclab_physx.renderers import IsaacRtxRendererCfg -from isaaclab.app.logging_utils import apply_python_logging_level, resolve_python_logging_level -from isaaclab.physics.physics_manager_cfg import PhysicsCfg, PhysxAutoCfg, _resolve_physx_auto_cfg -from isaaclab.renderers.renderer_cfg import RendererCfg -from isaaclab.sensors.camera.camera_cfg import CameraCfg -from isaaclab.utils._device import set_cuda_device +from ..physics.physics_manager_cfg import PhysicsCfg, PhysxAutoCfg, _resolve_physx_auto_cfg +from ..renderers.renderer_cfg import RendererCfg +from ..sensors.camera.camera_cfg import CameraCfg +from ..utils._device import set_cuda_device +from .logging_utils import apply_python_logging_level, resolve_python_logging_level logger = logging.getLogger(__name__) @@ -47,7 +47,7 @@ def add_launcher_args(parser: argparse.ArgumentParser) -> None: Delegates to :meth:`AppLauncher.add_app_launcher_args` so that user scripts do not need to import ``AppLauncher`` directly. """ - from isaaclab.app import AppLauncher + from . import AppLauncher AppLauncher.add_app_launcher_args(parser) @@ -548,10 +548,10 @@ def launch_simulation( close_fn: Any = None if needs_kit: _ensure_isaac_sim_available() - from isaaclab.utils import has_kit + from ..utils import has_kit if not has_kit(): - from isaaclab.app import AppLauncher + from . import AppLauncher app_launcher = AppLauncher(launcher_args) # AppLauncher may refine the device choice; propagate its final value, @@ -563,7 +563,7 @@ def launch_simulation( elif visualizer_types or visualizer_explicit_none: # Kitless path: AppLauncher is skipped, so persist the visualizer selection in # SettingsManager so SimulationContext._get_cli_visualizer_types() can find it. - from isaaclab.app import AppLauncher + from . import AppLauncher disable_all = visualizer_explicit_none or "none" in visualizer_types base = vars(launcher_args) if isinstance(launcher_args, argparse.Namespace) else launcher_args @@ -576,7 +576,7 @@ def launch_simulation( try: # The import stays after the Kit launch decision. With no selected profile this is a # no-op; with one, it installs process-wide OmniClient routing before user code runs. - from isaaclab.utils.assets import configure_storage_profile + from ..utils.assets import configure_storage_profile configure_storage_profile() yield physics_cfg @@ -596,7 +596,7 @@ def launch_simulation( def _ensure_isaac_sim_available() -> None: """Raise ``SystemExit`` with an actionable hint when Isaac Sim / Kit is missing.""" - from isaaclab.app import AppLauncher # noqa: PLC0415 + from . import AppLauncher # noqa: PLC0415 if AppLauncher.is_available(): return diff --git a/source/isaaclab/isaaclab/assets/__init__.py b/source/isaaclab/isaaclab/assets/__init__.py index 8d55bda10601..179b9b6275eb 100644 --- a/source/isaaclab/isaaclab/assets/__init__.py +++ b/source/isaaclab/isaaclab/assets/__init__.py @@ -37,6 +37,6 @@ the corresponding actuator torques. """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/assets/articulation/__init__.py b/source/isaaclab/isaaclab/assets/articulation/__init__.py index 91dd3a0caa25..e1afaafcf4d7 100644 --- a/source/isaaclab/isaaclab/assets/articulation/__init__.py +++ b/source/isaaclab/isaaclab/assets/articulation/__init__.py @@ -5,6 +5,6 @@ """Sub-module for rigid articulated assets.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/assets/articulation/articulation.py b/source/isaaclab/isaaclab/assets/articulation/articulation.py index 4efd70745859..42eaab009ba9 100644 --- a/source/isaaclab/isaaclab/assets/articulation/articulation.py +++ b/source/isaaclab/isaaclab/assets/articulation/articulation.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_articulation import BaseArticulation from .base_articulation_data import BaseArticulationData diff --git a/source/isaaclab/isaaclab/assets/articulation/articulation_cfg.py b/source/isaaclab/isaaclab/assets/articulation/articulation_cfg.py index 0305d883faef..bf7fe46afac7 100644 --- a/source/isaaclab/isaaclab/assets/articulation/articulation_cfg.py +++ b/source/isaaclab/isaaclab/assets/articulation/articulation_cfg.py @@ -8,9 +8,8 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Any -from isaaclab.actuators import ActuatorBaseCfg -from isaaclab.utils import configclass - +from ...actuators import ActuatorBaseCfg +from ...utils import configclass from ..asset_base_cfg import AssetBaseCfg from .ordering import ArticulationOrderingConvention @@ -122,7 +121,7 @@ def _post_spawn(self, stage: Any) -> None: """ if self.actuators is MISSING: return - from isaaclab.sim.schemas.schemas_actuators import define_actuator_properties # noqa: PLC0415 + from ...sim.schemas.schemas_actuators import define_actuator_properties # noqa: PLC0415 # In InteractiveScene, articulated assets are often spawned first under # a template path (for example ``/World/template/Robot``) and cloned diff --git a/source/isaaclab/isaaclab/assets/articulation/articulation_data.py b/source/isaaclab/isaaclab/assets/articulation/articulation_data.py index 5a45d0d1425b..79a9bb2cc634 100644 --- a/source/isaaclab/isaaclab/assets/articulation/articulation_data.py +++ b/source/isaaclab/isaaclab/assets/articulation/articulation_data.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_articulation_data import BaseArticulationData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/assets/articulation/base_articulation.py b/source/isaaclab/isaaclab/assets/articulation/base_articulation.py index 7fd0faa66ea4..2bf2b1606213 100644 --- a/source/isaaclab/isaaclab/assets/articulation/base_articulation.py +++ b/source/isaaclab/isaaclab/assets/articulation/base_articulation.py @@ -27,9 +27,8 @@ from .ordering_resolvers import _resolve_articulation_ordering_names if TYPE_CHECKING: - from isaaclab.actuators import ActuatorCollection - from isaaclab.utils.wrench_composer import WrenchComposer - + from ...actuators import ActuatorCollection + from ...utils.wrench_composer import WrenchComposer from .articulation_cfg import ArticulationCfg from .base_articulation_data import BaseArticulationData @@ -1684,7 +1683,7 @@ def _write_deprecated_native_actuator_gain( joint_ids: torch.Tensor, ) -> None: """Warn and forward a legacy native-controller gain write.""" - from isaaclab.actuators.newton import write_group_parameter # noqa: PLC0415 + from ...actuators.newton import write_group_parameter # noqa: PLC0415 warnings.warn( f"{writer_name} is deprecated in 3.x and will be removed in 3.1. Use " diff --git a/source/isaaclab/isaaclab/assets/articulation/base_articulation_data.py b/source/isaaclab/isaaclab/assets/articulation/base_articulation_data.py index 141a75433aab..3532559b7f4a 100644 --- a/source/isaaclab/isaaclab/assets/articulation/base_articulation_data.py +++ b/source/isaaclab/isaaclab/assets/articulation/base_articulation_data.py @@ -11,7 +11,7 @@ import warp as wp -from isaaclab.utils.leapp import ( +from ...utils.leapp import ( POSE6_ELEMENT_NAMES, POSE7_ELEMENT_NAMES, QUAT_XYZW_ELEMENT_NAMES, @@ -24,14 +24,12 @@ joint_names_resolver, leapp_tensor_semantics, ) -from isaaclab.utils.warp import ProxyArray - +from ...utils.warp import ProxyArray from . import ordering_kernels if TYPE_CHECKING: - from isaaclab.actuators import ActuatorCollection - from isaaclab.utils.buffers import TimestampedBufferWarp - + from ...actuators import ActuatorCollection + from ...utils.buffers import TimestampedBufferWarp from .ordering import ArticulationNameMap diff --git a/source/isaaclab/isaaclab/assets/articulation/ordering_kernels.py b/source/isaaclab/isaaclab/assets/articulation/ordering_kernels.py index 42dd19175412..817e8e01fbe2 100644 --- a/source/isaaclab/isaaclab/assets/articulation/ordering_kernels.py +++ b/source/isaaclab/isaaclab/assets/articulation/ordering_kernels.py @@ -40,7 +40,7 @@ import warp as wp -from isaaclab.utils.warp.index_kernel import IndexKernelDispatcher +from ...utils.warp.index_kernel import IndexKernelDispatcher if TYPE_CHECKING: import torch diff --git a/source/isaaclab/isaaclab/assets/articulation/ordering_resolvers.py b/source/isaaclab/isaaclab/assets/articulation/ordering_resolvers.py index 8c2d46041f80..8c0f5b352865 100644 --- a/source/isaaclab/isaaclab/assets/articulation/ordering_resolvers.py +++ b/source/isaaclab/isaaclab/assets/articulation/ordering_resolvers.py @@ -349,7 +349,7 @@ def _get_complete_convention_names_by_kind( def _get_source_asset_prim(articulation: BaseArticulation) -> Usd.Prim | None: """Return the source asset prim for an articulation config when available.""" prim_path = articulation.cfg.prim_path - from isaaclab.sim.utils.queries import resolve_matching_prims_from_source # noqa: PLC0415 + from ...sim.utils.queries import resolve_matching_prims_from_source # noqa: PLC0415 source_asset_matches = resolve_matching_prims_from_source(prim_path, expected_num_matches=1) if not source_asset_matches: @@ -437,8 +437,8 @@ def _get_names_from_newton_usd_builder( from pxr import UsdGeom, UsdPhysics # noqa: PLC0415 - from isaaclab.sim.utils.queries import resolve_matching_prims_from_source # noqa: PLC0415 - from isaaclab.sim.utils.stage import get_current_stage # noqa: PLC0415 + from ...sim.utils.queries import resolve_matching_prims_from_source # noqa: PLC0415 + from ...sim.utils.stage import get_current_stage # noqa: PLC0415 except ModuleNotFoundError as exc: missing_module = exc.name or "" if missing_module not in {"newton", "pxr"} and not missing_module.startswith(("newton.", "pxr.")): @@ -563,8 +563,8 @@ def _describe_newton_usd_builder_unavailability(articulation: BaseArticulation) from pxr import UsdPhysics # noqa: PLC0415 - from isaaclab.sim.utils.queries import resolve_matching_prims_from_source # noqa: PLC0415 - from isaaclab.sim.utils.stage import get_current_stage # noqa: PLC0415 + from ...sim.utils.queries import resolve_matching_prims_from_source # noqa: PLC0415 + from ...sim.utils.stage import get_current_stage # noqa: PLC0415 except ModuleNotFoundError as exc: return f"'{exc.name or 'unknown'}' module is not installed" diff --git a/source/isaaclab/isaaclab/assets/asset.py b/source/isaaclab/isaaclab/assets/asset.py index 2c3c98aa739c..2bf7baab8e10 100644 --- a/source/isaaclab/isaaclab/assets/asset.py +++ b/source/isaaclab/isaaclab/assets/asset.py @@ -10,9 +10,9 @@ import torch -import isaaclab.sim as sim_utils -from isaaclab.cloner.cloner_cfg import expand_env_regex_ns -from isaaclab.sim.utils.stage import get_current_stage +from .. import sim as sim_utils +from ..cloner.cloner_cfg import expand_env_regex_ns +from ..sim.utils.stage import get_current_stage if TYPE_CHECKING: from pxr import Usd diff --git a/source/isaaclab/isaaclab/assets/asset_base.py b/source/isaaclab/isaaclab/assets/asset_base.py index d8a93e3c1b24..51db15260b05 100644 --- a/source/isaaclab/isaaclab/assets/asset_base.py +++ b/source/isaaclab/isaaclab/assets/asset_base.py @@ -15,11 +15,10 @@ import torch import warp as wp -import isaaclab.sim as sim_utils -from isaaclab.physics import PhysicsEvent, PhysicsManager -from isaaclab.sim.simulation_context import SimulationContext -from isaaclab.utils.warp import ProxyArray - +from .. import sim as sim_utils +from ..physics import PhysicsEvent, PhysicsManager +from ..sim.simulation_context import SimulationContext +from ..utils.warp import ProxyArray from .asset import Asset if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/assets/asset_base_cfg.py b/source/isaaclab/isaaclab/assets/asset_base_cfg.py index 3555b6ca8203..6d4e028f74a2 100644 --- a/source/isaaclab/isaaclab/assets/asset_base_cfg.py +++ b/source/isaaclab/isaaclab/assets/asset_base_cfg.py @@ -8,8 +8,8 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Any, Literal -from isaaclab.sim import SpawnerCfg -from isaaclab.utils import configclass +from ..sim import SpawnerCfg +from ..utils import configclass if TYPE_CHECKING: from .asset import Asset diff --git a/source/isaaclab/isaaclab/assets/cable_object/__init__.py b/source/isaaclab/isaaclab/assets/cable_object/__init__.py index 53046388d61c..4457a57a1c91 100644 --- a/source/isaaclab/isaaclab/assets/cable_object/__init__.py +++ b/source/isaaclab/isaaclab/assets/cable_object/__init__.py @@ -5,6 +5,6 @@ """Sub-module for cable object assets.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/assets/cable_object/base_cable_object.py b/source/isaaclab/isaaclab/assets/cable_object/base_cable_object.py index 28387035c331..4f9dcf94698d 100644 --- a/source/isaaclab/isaaclab/assets/cable_object/base_cable_object.py +++ b/source/isaaclab/isaaclab/assets/cable_object/base_cable_object.py @@ -12,8 +12,8 @@ import torch import warp as wp -from isaaclab.assets.asset_base import AssetBase -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray +from ..asset_base import AssetBase if TYPE_CHECKING: from .base_cable_object_data import BaseCableObjectData diff --git a/source/isaaclab/isaaclab/assets/cable_object/base_cable_object_data.py b/source/isaaclab/isaaclab/assets/cable_object/base_cable_object_data.py index fef3b52fc46e..87682eace784 100644 --- a/source/isaaclab/isaaclab/assets/cable_object/base_cable_object_data.py +++ b/source/isaaclab/isaaclab/assets/cable_object/base_cable_object_data.py @@ -5,7 +5,7 @@ from abc import ABC, abstractmethod -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray class BaseCableObjectData(ABC): diff --git a/source/isaaclab/isaaclab/assets/cable_object/cable_object.py b/source/isaaclab/isaaclab/assets/cable_object/cable_object.py index bfb69c707aac..314d5b41f88e 100644 --- a/source/isaaclab/isaaclab/assets/cable_object/cable_object.py +++ b/source/isaaclab/isaaclab/assets/cable_object/cable_object.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_cable_object import BaseCableObject from .base_cable_object_data import BaseCableObjectData diff --git a/source/isaaclab/isaaclab/assets/cable_object/cable_object_cfg.py b/source/isaaclab/isaaclab/assets/cable_object/cable_object_cfg.py index a625d5375e68..8e45dd8bc26c 100644 --- a/source/isaaclab/isaaclab/assets/cable_object/cable_object_cfg.py +++ b/source/isaaclab/isaaclab/assets/cable_object/cable_object_cfg.py @@ -7,8 +7,8 @@ from typing import TYPE_CHECKING -from isaaclab.assets.asset_base_cfg import AssetBaseCfg -from isaaclab.utils import configclass +from ...utils import configclass +from ..asset_base_cfg import AssetBaseCfg if TYPE_CHECKING: from .cable_object import CableObject diff --git a/source/isaaclab/isaaclab/assets/cable_object/cable_object_data.py b/source/isaaclab/isaaclab/assets/cable_object/cable_object_data.py index 83e157b32fa6..f43a9e89dde1 100644 --- a/source/isaaclab/isaaclab/assets/cable_object/cable_object_data.py +++ b/source/isaaclab/isaaclab/assets/cable_object/cable_object_data.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_cable_object_data import BaseCableObjectData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/assets/deformable_object/__init__.py b/source/isaaclab/isaaclab/assets/deformable_object/__init__.py index 525b6ae5fd98..b417e33b573d 100644 --- a/source/isaaclab/isaaclab/assets/deformable_object/__init__.py +++ b/source/isaaclab/isaaclab/assets/deformable_object/__init__.py @@ -5,6 +5,6 @@ """Sub-module for deformable object assets.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/assets/deformable_object/base_deformable_object.py b/source/isaaclab/isaaclab/assets/deformable_object/base_deformable_object.py index e21895a10bfb..3bc01655c870 100644 --- a/source/isaaclab/isaaclab/assets/deformable_object/base_deformable_object.py +++ b/source/isaaclab/isaaclab/assets/deformable_object/base_deformable_object.py @@ -13,9 +13,9 @@ import torch import warp as wp -import isaaclab.utils.math as math_utils -from isaaclab.assets.asset_base import AssetBase -from isaaclab.utils.warp import ProxyArray +from ...utils import math as math_utils +from ...utils.warp import ProxyArray +from ..asset_base import AssetBase if TYPE_CHECKING: from .base_deformable_object_data import BaseDeformableObjectData diff --git a/source/isaaclab/isaaclab/assets/deformable_object/base_deformable_object_data.py b/source/isaaclab/isaaclab/assets/deformable_object/base_deformable_object_data.py index e0b1ae497511..b6fde739815c 100644 --- a/source/isaaclab/isaaclab/assets/deformable_object/base_deformable_object_data.py +++ b/source/isaaclab/isaaclab/assets/deformable_object/base_deformable_object_data.py @@ -7,7 +7,7 @@ from abc import ABC, abstractmethod -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray class BaseDeformableObjectData(ABC): diff --git a/source/isaaclab/isaaclab/assets/deformable_object/deformable_object.py b/source/isaaclab/isaaclab/assets/deformable_object/deformable_object.py index 3bd41c8728be..ef1f49a63d42 100644 --- a/source/isaaclab/isaaclab/assets/deformable_object/deformable_object.py +++ b/source/isaaclab/isaaclab/assets/deformable_object/deformable_object.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_deformable_object import BaseDeformableObject from .base_deformable_object_data import BaseDeformableObjectData diff --git a/source/isaaclab/isaaclab/assets/deformable_object/deformable_object_cfg.py b/source/isaaclab/isaaclab/assets/deformable_object/deformable_object_cfg.py index 7dbf060c27b6..20ecd5649066 100644 --- a/source/isaaclab/isaaclab/assets/deformable_object/deformable_object_cfg.py +++ b/source/isaaclab/isaaclab/assets/deformable_object/deformable_object_cfg.py @@ -7,10 +7,10 @@ from typing import TYPE_CHECKING -from isaaclab.assets.asset_base_cfg import AssetBaseCfg -from isaaclab.markers import VisualizationMarkersCfg -from isaaclab.markers.config import DEFORMABLE_TARGET_MARKER_CFG -from isaaclab.utils import configclass +from ...markers import VisualizationMarkersCfg +from ...markers.config import DEFORMABLE_TARGET_MARKER_CFG +from ...utils import configclass +from ..asset_base_cfg import AssetBaseCfg if TYPE_CHECKING: from .deformable_object import DeformableObject diff --git a/source/isaaclab/isaaclab/assets/deformable_object/deformable_object_data.py b/source/isaaclab/isaaclab/assets/deformable_object/deformable_object_data.py index 35567aceb847..ddd5d00a9505 100644 --- a/source/isaaclab/isaaclab/assets/deformable_object/deformable_object_data.py +++ b/source/isaaclab/isaaclab/assets/deformable_object/deformable_object_data.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_deformable_object_data import BaseDeformableObjectData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/assets/rigid_object/__init__.py b/source/isaaclab/isaaclab/assets/rigid_object/__init__.py index 89af788c3f4f..8952c0d3d944 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object/__init__.py +++ b/source/isaaclab/isaaclab/assets/rigid_object/__init__.py @@ -5,6 +5,6 @@ """Sub-module for rigid object assets.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/assets/rigid_object/base_rigid_object.py b/source/isaaclab/isaaclab/assets/rigid_object/base_rigid_object.py index 2a37ad7d8297..ac2e84eb581a 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object/base_rigid_object.py +++ b/source/isaaclab/isaaclab/assets/rigid_object/base_rigid_object.py @@ -13,9 +13,8 @@ import torch import warp as wp -from isaaclab.utils.warp import ProxyArray -from isaaclab.utils.wrench_composer import WrenchComposer - +from ...utils.warp import ProxyArray +from ...utils.wrench_composer import WrenchComposer from ..asset_base import AssetBase if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/assets/rigid_object/base_rigid_object_data.py b/source/isaaclab/isaaclab/assets/rigid_object/base_rigid_object_data.py index a4ea0d31e001..026d0bb46b83 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object/base_rigid_object_data.py +++ b/source/isaaclab/isaaclab/assets/rigid_object/base_rigid_object_data.py @@ -8,7 +8,7 @@ import warp as wp -from isaaclab.utils.leapp import ( +from ...utils.leapp import ( POSE6_ELEMENT_NAMES, POSE7_ELEMENT_NAMES, QUAT_XYZW_ELEMENT_NAMES, @@ -20,8 +20,8 @@ body_xyz_resolver, leapp_tensor_semantics, ) -from isaaclab.utils.warp import ProxyArray -from isaaclab.utils.warp.launch_cache import _WarpLaunchCache +from ...utils.warp import ProxyArray +from ...utils.warp.launch_cache import _WarpLaunchCache class BaseRigidObjectData(ABC): diff --git a/source/isaaclab/isaaclab/assets/rigid_object/rigid_object.py b/source/isaaclab/isaaclab/assets/rigid_object/rigid_object.py index d1a8ecc11ce9..e121ef147000 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object/rigid_object.py +++ b/source/isaaclab/isaaclab/assets/rigid_object/rigid_object.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_rigid_object import BaseRigidObject from .base_rigid_object_data import BaseRigidObjectData diff --git a/source/isaaclab/isaaclab/assets/rigid_object/rigid_object_cfg.py b/source/isaaclab/isaaclab/assets/rigid_object/rigid_object_cfg.py index 099bbdeea784..221173f109ba 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object/rigid_object_cfg.py +++ b/source/isaaclab/isaaclab/assets/rigid_object/rigid_object_cfg.py @@ -5,8 +5,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from ..asset_base_cfg import AssetBaseCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/assets/rigid_object/rigid_object_data.py b/source/isaaclab/isaaclab/assets/rigid_object/rigid_object_data.py index a81e44892c0a..501bc880fc58 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object/rigid_object_data.py +++ b/source/isaaclab/isaaclab/assets/rigid_object/rigid_object_data.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_rigid_object_data import BaseRigidObjectData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/assets/rigid_object_collection/__init__.py b/source/isaaclab/isaaclab/assets/rigid_object_collection/__init__.py index bb3636b55d8a..a31e21acff32 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object_collection/__init__.py +++ b/source/isaaclab/isaaclab/assets/rigid_object_collection/__init__.py @@ -5,6 +5,6 @@ """Sub-module for rigid object collection.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/assets/rigid_object_collection/base_rigid_object_collection.py b/source/isaaclab/isaaclab/assets/rigid_object_collection/base_rigid_object_collection.py index 05e3c9cb9c6d..0437de2c848e 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object_collection/base_rigid_object_collection.py +++ b/source/isaaclab/isaaclab/assets/rigid_object_collection/base_rigid_object_collection.py @@ -13,9 +13,8 @@ import torch import warp as wp -from isaaclab.utils.warp import ProxyArray -from isaaclab.utils.wrench_composer import WrenchComposer - +from ...utils.warp import ProxyArray +from ...utils.wrench_composer import WrenchComposer from ..asset_base import AssetBase if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/assets/rigid_object_collection/base_rigid_object_collection_data.py b/source/isaaclab/isaaclab/assets/rigid_object_collection/base_rigid_object_collection_data.py index 56a89710e38b..6022e300ac93 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object_collection/base_rigid_object_collection_data.py +++ b/source/isaaclab/isaaclab/assets/rigid_object_collection/base_rigid_object_collection_data.py @@ -8,7 +8,7 @@ import warp as wp -from isaaclab.utils.leapp import ( +from ...utils.leapp import ( InputKindEnum, body_pose6_resolver, body_pose_resolver, @@ -16,8 +16,8 @@ body_xyz_resolver, leapp_tensor_semantics, ) -from isaaclab.utils.warp import ProxyArray -from isaaclab.utils.warp.launch_cache import _WarpLaunchCache +from ...utils.warp import ProxyArray +from ...utils.warp.launch_cache import _WarpLaunchCache class BaseRigidObjectCollectionData(ABC): diff --git a/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection.py b/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection.py index 21071e3d6967..dbfbb51461c2 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection.py +++ b/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_rigid_object_collection import BaseRigidObjectCollection from .base_rigid_object_collection_data import BaseRigidObjectCollectionData diff --git a/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_cfg.py b/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_cfg.py index c995c99c34c1..5ad3027e2745 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_cfg.py +++ b/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_cfg.py @@ -6,8 +6,8 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.assets.rigid_object import RigidObjectCfg -from isaaclab.utils import configclass +from ...utils import configclass +from ..rigid_object import RigidObjectCfg if TYPE_CHECKING: from .rigid_object_collection import RigidObjectCollection diff --git a/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_data.py b/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_data.py index c9ca2f7ccada..b8bebce17759 100644 --- a/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_data.py +++ b/source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_data.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_rigid_object_collection_data import BaseRigidObjectCollectionData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/assets/visual_material/__init__.py b/source/isaaclab/isaaclab/assets/visual_material/__init__.py index 71843e337dda..30f8be690ea7 100644 --- a/source/isaaclab/isaaclab/assets/visual_material/__init__.py +++ b/source/isaaclab/isaaclab/assets/visual_material/__init__.py @@ -5,6 +5,6 @@ """Runtime-writable visual material assets.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/assets/visual_material/visual_material.py b/source/isaaclab/isaaclab/assets/visual_material/visual_material.py index a3e4a370ada4..b30e108018e6 100644 --- a/source/isaaclab/isaaclab/assets/visual_material/visual_material.py +++ b/source/isaaclab/isaaclab/assets/visual_material/visual_material.py @@ -13,11 +13,10 @@ from pxr import Sdf, UsdShade -from isaaclab import cloner -from isaaclab.assets.asset_base import AssetBase -from isaaclab.sim import SimulationContext -from isaaclab.sim.utils import find_matching_prim_paths - +from ... import cloner +from ...sim import SimulationContext +from ...sim.utils import find_matching_prim_paths +from ..asset_base import AssetBase from .visual_material_cfg import VisualMaterialCfg _PREVIEW_CHANNELS = { diff --git a/source/isaaclab/isaaclab/assets/visual_material/visual_material_cfg.py b/source/isaaclab/isaaclab/assets/visual_material/visual_material_cfg.py index bf7a2c857442..6e756ded05ee 100644 --- a/source/isaaclab/isaaclab/assets/visual_material/visual_material_cfg.py +++ b/source/isaaclab/isaaclab/assets/visual_material/visual_material_cfg.py @@ -5,9 +5,9 @@ from dataclasses import MISSING -from isaaclab.assets.asset_base_cfg import AssetBaseCfg -from isaaclab.sim.spawners.materials import VisualMaterialCfg as VisualMaterialSpawnerCfg -from isaaclab.utils import configclass +from ...sim.spawners.materials import VisualMaterialCfg as VisualMaterialSpawnerCfg +from ...utils import configclass +from ..asset_base_cfg import AssetBaseCfg @configclass diff --git a/source/isaaclab/isaaclab/benchmark/__init__.py b/source/isaaclab/isaaclab/benchmark/__init__.py index f94e920d8bb2..edd58c2af293 100644 --- a/source/isaaclab/isaaclab/benchmark/__init__.py +++ b/source/isaaclab/isaaclab/benchmark/__init__.py @@ -8,6 +8,6 @@ This package provides the public benchmark framework and workflow API. """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/benchmark/asset_suites/cli.py b/source/isaaclab/isaaclab/benchmark/asset_suites/cli.py index b5fe3b517351..8a215bed5e82 100644 --- a/source/isaaclab/isaaclab/benchmark/asset_suites/cli.py +++ b/source/isaaclab/isaaclab/benchmark/asset_suites/cli.py @@ -65,7 +65,7 @@ def run_asset_benchmark_cli( ) parser.add_argument("--no_shape_checks", action="store_true", help="Disable shape and dtype assertions") if include_app_launcher_args: - from isaaclab.app import AppLauncher + from ...app import AppLauncher AppLauncher.add_app_launcher_args(parser) else: diff --git a/source/isaaclab/isaaclab/benchmark/benchmark_core.py b/source/isaaclab/isaaclab/benchmark/benchmark_core.py index 54cc9ac696a5..8610333fab57 100644 --- a/source/isaaclab/isaaclab/benchmark/benchmark_core.py +++ b/source/isaaclab/isaaclab/benchmark/benchmark_core.py @@ -11,10 +11,11 @@ from pathlib import Path from typing import TYPE_CHECKING -from isaaclab.benchmark import formatters -from isaaclab.benchmark.formatters import get_default_output_filename -from isaaclab.benchmark.interfaces import MeasurementDataRecorder -from isaaclab.benchmark.measurements import ( +from ..utils import has_kit +from . import formatters +from .formatters import get_default_output_filename +from .interfaces import MeasurementDataRecorder +from .measurements import ( DictMetadata, FloatMetadata, IntMetadata, @@ -25,11 +26,10 @@ StringMetadata, TestPhase, ) -from isaaclab.benchmark.recorders import CPUInfoRecorder, GPUInfoRecorder, MemoryInfoRecorder, VersionInfoRecorder -from isaaclab.utils import has_kit +from .recorders import CPUInfoRecorder, GPUInfoRecorder, MemoryInfoRecorder, VersionInfoRecorder if TYPE_CHECKING: - from isaaclab.benchmark.schema import ( + from .schema import ( LearningCurve, MeanStd, PlayBundle, @@ -165,7 +165,7 @@ def _measurements_from_bundle( bundle: "RuntimeBundle | TrainingBundle | StartupBundle | PlayBundle", ) -> dict[str, list[Measurement]]: """Project a typed bundle into flat phases for non-schema formatters.""" - from isaaclab.benchmark.schema import PlayBundle, StartupBundle, TrainingBundle + from .schema import PlayBundle, StartupBundle, TrainingBundle if isinstance(bundle, StartupBundle): projected: dict[str, list[Measurement]] = {} @@ -300,7 +300,7 @@ def __init__( elif self._use_frametime_recorders: try: # Enable the benchmark services extension first - from isaaclab.sim.utils import enable_extension + from ..sim.utils import enable_extension enable_extension("isaacsim.benchmark.services") diff --git a/source/isaaclab/isaaclab/benchmark/builders.py b/source/isaaclab/isaaclab/benchmark/builders.py index 566806d5f657..a085d7e273ee 100644 --- a/source/isaaclab/isaaclab/benchmark/builders.py +++ b/source/isaaclab/isaaclab/benchmark/builders.py @@ -16,8 +16,8 @@ from collections.abc import Sequence from datetime import datetime -from isaaclab.benchmark.metrics import ema, mean_std_peak -from isaaclab.benchmark.schema import ( +from .metrics import ema, mean_std_peak +from .schema import ( EnvironmentStepTiming, Hardware, Learning, diff --git a/source/isaaclab/isaaclab/benchmark/capture.py b/source/isaaclab/isaaclab/benchmark/capture.py index d93c47821039..b3f95af443d9 100644 --- a/source/isaaclab/isaaclab/benchmark/capture.py +++ b/source/isaaclab/isaaclab/benchmark/capture.py @@ -22,7 +22,7 @@ from datetime import datetime, timezone from typing import Any -from isaaclab.benchmark.schema import ( +from .schema import ( GpuDeviceInfo, GpuResources, Hardware, diff --git a/source/isaaclab/isaaclab/benchmark/console.py b/source/isaaclab/isaaclab/benchmark/console.py index b3ca50b4c03f..c5ef173575ad 100644 --- a/source/isaaclab/isaaclab/benchmark/console.py +++ b/source/isaaclab/isaaclab/benchmark/console.py @@ -16,7 +16,7 @@ if TYPE_CHECKING: from pathlib import Path - from isaaclab.benchmark.schema import MeanStd, RuntimeBundle, StartupBundle, TrainingBundle + from .schema import MeanStd, RuntimeBundle, StartupBundle, TrainingBundle _WIDTH = 64 """Total width of the report block.""" diff --git a/source/isaaclab/isaaclab/benchmark/entrypoints/__init__.py b/source/isaaclab/isaaclab/benchmark/entrypoints/__init__.py index 36aae9678265..a3e2108903ee 100644 --- a/source/isaaclab/isaaclab/benchmark/entrypoints/__init__.py +++ b/source/isaaclab/isaaclab/benchmark/entrypoints/__init__.py @@ -5,7 +5,7 @@ import warp as wp -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export wp.config.enable_backward = False diff --git a/source/isaaclab/isaaclab/benchmark/entrypoints/early_stop.py b/source/isaaclab/isaaclab/benchmark/entrypoints/early_stop.py index 0f9c2a07d9dd..2b20f9e0a78c 100644 --- a/source/isaaclab/isaaclab/benchmark/entrypoints/early_stop.py +++ b/source/isaaclab/isaaclab/benchmark/entrypoints/early_stop.py @@ -11,8 +11,8 @@ import os from typing import TYPE_CHECKING -from isaaclab.benchmark import SingleMeasurement -from isaaclab.benchmark.metrics import SuccessRateTracker, get_success_rate_log +from .. import SingleMeasurement +from ..metrics import SuccessRateTracker, get_success_rate_log if TYPE_CHECKING: from types import TracebackType diff --git a/source/isaaclab/isaaclab/benchmark/formatters.py b/source/isaaclab/isaaclab/benchmark/formatters.py index 88d928f328eb..3df7f54ce5b8 100644 --- a/source/isaaclab/isaaclab/benchmark/formatters.py +++ b/source/isaaclab/isaaclab/benchmark/formatters.py @@ -13,10 +13,10 @@ from typing import TYPE_CHECKING, Any from uuid import uuid4 -from isaaclab.benchmark.measurements import SingleMeasurement, StatisticalMeasurement, TestPhase, TestPhaseEncoder +from .measurements import SingleMeasurement, StatisticalMeasurement, TestPhase, TestPhaseEncoder if TYPE_CHECKING: - from isaaclab.benchmark.schema import PlayBundle, RuntimeBundle, StartupBundle, TrainingBundle + from .schema import PlayBundle, RuntimeBundle, StartupBundle, TrainingBundle logger = logging.getLogger(__name__) @@ -678,7 +678,7 @@ def finalize( raise RuntimeError("The schema formatter requires a benchmark bundle.") # Lazy import keeps formatters.py free of the schema layer at module import time. - from isaaclab.benchmark.serialize import write_bundle_file + from .serialize import write_bundle_file path = os.path.join(output_path, f"{output_filename}.json") write_bundle_file(bundle, path) diff --git a/source/isaaclab/isaaclab/benchmark/metrics.py b/source/isaaclab/isaaclab/benchmark/metrics.py index 0e89a2a75ac4..677819d18f41 100644 --- a/source/isaaclab/isaaclab/benchmark/metrics.py +++ b/source/isaaclab/isaaclab/benchmark/metrics.py @@ -17,7 +17,7 @@ from tensorboard.backend.event_processing import event_accumulator -from isaaclab.benchmark.schema import Framework, MeanStd +from .schema import Framework, MeanStd SUCCESS_RATE_LOG_TAGS = ("Metrics/success_rate", "Episode/Metrics/success_rate") diff --git a/source/isaaclab/isaaclab/benchmark/microbenchmark.py b/source/isaaclab/isaaclab/benchmark/microbenchmark.py index e5537d113536..2501bd17476c 100644 --- a/source/isaaclab/isaaclab/benchmark/microbenchmark.py +++ b/source/isaaclab/isaaclab/benchmark/microbenchmark.py @@ -13,8 +13,8 @@ from pathlib import Path from types import MappingProxyType -from isaaclab.cli.utils import run_python_command -from isaaclab.paths import ISAACLAB_ROOT +from ..cli.utils import run_python_command +from ..paths import ISAACLAB_ROOT @dataclass(frozen=True) diff --git a/source/isaaclab/isaaclab/benchmark/recorders/__init__.py b/source/isaaclab/isaaclab/benchmark/recorders/__init__.py index e14e0f6d52c5..e31db2c15db0 100644 --- a/source/isaaclab/isaaclab/benchmark/recorders/__init__.py +++ b/source/isaaclab/isaaclab/benchmark/recorders/__init__.py @@ -3,6 +3,6 @@ # # SPDX-License-Identifier: BSD-3-Clause -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/benchmark/recorders/record_cpu_info.py b/source/isaaclab/isaaclab/benchmark/recorders/record_cpu_info.py index 17ea21ecbd83..13cf3225d376 100644 --- a/source/isaaclab/isaaclab/benchmark/recorders/record_cpu_info.py +++ b/source/isaaclab/isaaclab/benchmark/recorders/record_cpu_info.py @@ -10,8 +10,8 @@ import psutil -from isaaclab.benchmark.interfaces import MeasurementData, MeasurementDataRecorder -from isaaclab.benchmark.measurements import IntMetadata, SingleMeasurement, StringMetadata +from ..interfaces import MeasurementData, MeasurementDataRecorder +from ..measurements import IntMetadata, SingleMeasurement, StringMetadata class CPUInfoRecorder(MeasurementDataRecorder): diff --git a/source/isaaclab/isaaclab/benchmark/recorders/record_gpu_info.py b/source/isaaclab/isaaclab/benchmark/recorders/record_gpu_info.py index bbf96684e38a..9655470d98c2 100644 --- a/source/isaaclab/isaaclab/benchmark/recorders/record_gpu_info.py +++ b/source/isaaclab/isaaclab/benchmark/recorders/record_gpu_info.py @@ -9,8 +9,8 @@ import torch -from isaaclab.benchmark.interfaces import MeasurementData, MeasurementDataRecorder -from isaaclab.benchmark.measurements import ( +from ..interfaces import MeasurementData, MeasurementDataRecorder +from ..measurements import ( DictMetadata, IntMetadata, SingleMeasurement, diff --git a/source/isaaclab/isaaclab/benchmark/recorders/record_memory_info.py b/source/isaaclab/isaaclab/benchmark/recorders/record_memory_info.py index 969325ff450b..51c92b6659b5 100644 --- a/source/isaaclab/isaaclab/benchmark/recorders/record_memory_info.py +++ b/source/isaaclab/isaaclab/benchmark/recorders/record_memory_info.py @@ -8,8 +8,8 @@ import psutil -from isaaclab.benchmark.interfaces import MeasurementData, MeasurementDataRecorder -from isaaclab.benchmark.measurements import FloatMetadata, SingleMeasurement +from ..interfaces import MeasurementData, MeasurementDataRecorder +from ..measurements import FloatMetadata, SingleMeasurement class MemoryInfoRecorder(MeasurementDataRecorder): diff --git a/source/isaaclab/isaaclab/benchmark/recorders/record_version_info.py b/source/isaaclab/isaaclab/benchmark/recorders/record_version_info.py index 330363f4fd0c..4355e27066f4 100644 --- a/source/isaaclab/isaaclab/benchmark/recorders/record_version_info.py +++ b/source/isaaclab/isaaclab/benchmark/recorders/record_version_info.py @@ -8,9 +8,9 @@ import subprocess import sys -from isaaclab.benchmark.interfaces import MeasurementData, MeasurementDataRecorder -from isaaclab.benchmark.measurements import DictMetadata, StringMetadata -from isaaclab.paths import ISAACLAB_ROOT +from ...paths import ISAACLAB_ROOT +from ..interfaces import MeasurementData, MeasurementDataRecorder +from ..measurements import DictMetadata, StringMetadata # Path to the source checkout or installed wheel resources. _REPO_ROOT = str(ISAACLAB_ROOT) diff --git a/source/isaaclab/isaaclab/benchmark/sensor_suites/contact.py b/source/isaaclab/isaaclab/benchmark/sensor_suites/contact.py index 68a9559aa096..5b9e0c92bc1c 100644 --- a/source/isaaclab/isaaclab/benchmark/sensor_suites/contact.py +++ b/source/isaaclab/isaaclab/benchmark/sensor_suites/contact.py @@ -16,7 +16,7 @@ from .timing import SensorLatencySamples, add_sensor_latency_measurements if TYPE_CHECKING: - from isaaclab.scene import InteractiveSceneCfg + from ...scene import InteractiveSceneCfg def create_contact_sensor_scene_cfg( @@ -34,12 +34,12 @@ def create_contact_sensor_scene_cfg( """ from isaaclab_physx.sim.schemas import PhysxRigidBodyCfg - import isaaclab.sim as sim_utils - from isaaclab.assets import RigidObjectCfg - from isaaclab.scene import InteractiveSceneCfg - from isaaclab.sensors import ContactSensorCfg - from isaaclab.terrains import TerrainImporterCfg - from isaaclab.utils import configclass + from ... import sim as sim_utils + from ...assets import RigidObjectCfg + from ...scene import InteractiveSceneCfg + from ...sensors import ContactSensorCfg + from ...terrains import TerrainImporterCfg + from ...utils import configclass @configclass class ContactSensorBenchmarkSceneCfg(InteractiveSceneCfg): diff --git a/source/isaaclab/isaaclab/benchmark/stepping.py b/source/isaaclab/isaaclab/benchmark/stepping.py index 12ffeec0b71f..abc2e8ea7fc9 100644 --- a/source/isaaclab/isaaclab/benchmark/stepping.py +++ b/source/isaaclab/isaaclab/benchmark/stepping.py @@ -151,7 +151,7 @@ def __enter__(self) -> EnvironmentStepTimingRecorder: import torch # noqa: PLC0415 import warp as wp # noqa: PLC0415 - from isaaclab.utils.timer import Timer # noqa: PLC0415 + from ..utils.timer import Timer # noqa: PLC0415 assert self.simulation_step_times_s is not None self.simulation_step_times_s.clear() @@ -352,7 +352,7 @@ def run_play_loop(env, policy, num_steps: int) -> tuple[list[float], MeanStd | N """ import torch # noqa: PLC0415 - from isaaclab.benchmark.metrics import mean_std_peak # noqa: PLC0415 + from .metrics import mean_std_peak # noqa: PLC0415 u = env.unwrapped num_envs = u.num_envs diff --git a/source/isaaclab/isaaclab/cli/__init__.py b/source/isaaclab/isaaclab/cli/__init__.py index 07217efa21dc..dcb6ea9e9bf6 100644 --- a/source/isaaclab/isaaclab/cli/__init__.py +++ b/source/isaaclab/isaaclab/cli/__init__.py @@ -87,7 +87,7 @@ def leapp(args: list[str] | None = None) -> None: _exit_on_error(run_export_cli(command_args)) else: - from isaaclab.cli.commands.deploy import command_deploy_leapp + from .commands.deploy import command_deploy_leapp _exit_on_error(command_deploy_leapp(command_args)) @@ -138,14 +138,14 @@ def benchmark(args: list[str] | None = None) -> None: Args: args: Command-line arguments. Uses sys.argv when omitted. """ - from isaaclab.benchmark import run_benchmark_cli + from ..benchmark import run_benchmark_cli _exit_on_error(run_benchmark_cli(args)) def microbenchmark(args: list[str] | None = None) -> None: """Run a component micro-benchmark with an exact physics variant.""" - from isaaclab.benchmark import run_microbenchmark_cli + from ..benchmark import run_microbenchmark_cli _exit_on_error(run_microbenchmark_cli(args)) diff --git a/source/isaaclab/isaaclab/cli/commands/deploy.py b/source/isaaclab/isaaclab/cli/commands/deploy.py index 6b53131e9a73..03e8a61854f6 100644 --- a/source/isaaclab/isaaclab/cli/commands/deploy.py +++ b/source/isaaclab/isaaclab/cli/commands/deploy.py @@ -13,11 +13,11 @@ import torch -from isaaclab.app import AppLauncher - import isaaclab_tasks # noqa: F401 from isaaclab_tasks.utils.hydra import resolve_task_config +from ...app import AppLauncher + def command_deploy_leapp(argv: list[str] | None = None) -> int: """Deploy a LEAPP pipeline in an Isaac Lab simulation. @@ -50,7 +50,7 @@ def command_deploy_leapp(argv: list[str] | None = None) -> int: # Runtime environment classes load simulation modules and must only be # imported after SimulationApp has initialized Kit. - from isaaclab.envs import LeappDeploymentEnv + from ...envs import LeappDeploymentEnv task_name = args_cli.task.split(":")[-1] env_cfg, _ = resolve_task_config(task_name, "") diff --git a/source/isaaclab/isaaclab/cli/utils.py b/source/isaaclab/isaaclab/cli/utils.py index d585ce303d7b..4df4fc29fecd 100644 --- a/source/isaaclab/isaaclab/cli/utils.py +++ b/source/isaaclab/isaaclab/cli/utils.py @@ -13,7 +13,7 @@ from pathlib import Path from typing import IO, Any -from isaaclab.paths import ISAACLAB_ROOT +from ..paths import ISAACLAB_ROOT # Default path to look for Isaac Sim is _isaac_sim symlink. DEFAULT_ISAAC_SIM_PATH = ISAACLAB_ROOT / "_isaac_sim" diff --git a/source/isaaclab/isaaclab/cloner/__init__.py b/source/isaaclab/isaaclab/cloner/__init__.py index e14e0f6d52c5..a4a827c659b7 100644 --- a/source/isaaclab/isaaclab/cloner/__init__.py +++ b/source/isaaclab/isaaclab/cloner/__init__.py @@ -3,6 +3,6 @@ # # SPDX-License-Identifier: BSD-3-Clause -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/cloner/clone_plan.py b/source/isaaclab/isaaclab/cloner/clone_plan.py index 9a0296edea3b..de580bbdfef3 100644 --- a/source/isaaclab/isaaclab/cloner/clone_plan.py +++ b/source/isaaclab/isaaclab/cloner/clone_plan.py @@ -28,11 +28,10 @@ import numpy as np -import isaaclab.sim as sim_utils -from isaaclab.sensors.camera.camera_cfg import CameraCfg -from isaaclab.utils.string import string_to_callable -from isaaclab.utils.version import has_kit - +from .. import sim as sim_utils +from ..sensors.camera.camera_cfg import CameraCfg +from ..utils.string import string_to_callable +from ..utils.version import has_kit from .cloner_cfg import DEFAULT_ENV_TEMPLATE, CloneCfg, InclusionSet, expand_env_regex_ns from .cloner_strategies import sequential from .path import match, under diff --git a/source/isaaclab/isaaclab/cloner/cloner_cfg.py b/source/isaaclab/isaaclab/cloner/cloner_cfg.py index a174185841fc..c2d4e43cef75 100644 --- a/source/isaaclab/isaaclab/cloner/cloner_cfg.py +++ b/source/isaaclab/isaaclab/cloner/cloner_cfg.py @@ -10,8 +10,7 @@ import numpy as np -from isaaclab.utils import configclass - +from ..utils import configclass from .cloner_strategies import sequential DEFAULT_ENV_TEMPLATE = "/World/envs/env_{}" diff --git a/source/isaaclab/isaaclab/cloner/replicate_session.py b/source/isaaclab/isaaclab/cloner/replicate_session.py index 00c7b52d2bf2..5aedc6ee72f0 100644 --- a/source/isaaclab/isaaclab/cloner/replicate_session.py +++ b/source/isaaclab/isaaclab/cloner/replicate_session.py @@ -12,8 +12,7 @@ import numpy as np -from isaaclab.sim import SimulationContext - +from ..sim import SimulationContext from .clone_plan import make_clone_plan from .cloner_cfg import DEFAULT_ENV_TEMPLATE from .cloner_strategies import sequential diff --git a/source/isaaclab/isaaclab/controllers/__init__.py b/source/isaaclab/isaaclab/controllers/__init__.py index b1704a4bc445..31d2975df194 100644 --- a/source/isaaclab/isaaclab/controllers/__init__.py +++ b/source/isaaclab/isaaclab/controllers/__init__.py @@ -11,6 +11,6 @@ commands to be sent to the robot. """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/controllers/config/rmp_flow.py b/source/isaaclab/isaaclab/controllers/config/rmp_flow.py index a7545d0a9917..c2d912ee2d5c 100644 --- a/source/isaaclab/isaaclab/controllers/config/rmp_flow.py +++ b/source/isaaclab/isaaclab/controllers/config/rmp_flow.py @@ -5,8 +5,8 @@ import os -from isaaclab.controllers.rmp_flow_cfg import RmpFlowControllerCfg -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from ...utils.assets import ISAACLAB_NUCLEUS_DIR +from ..rmp_flow_cfg import RmpFlowControllerCfg # Directory on Nucleus Server for RMP-Flow assets (URDFs, collision models, etc.) ISAACLAB_NUCLEUS_RMPFLOW_DIR = os.path.join(ISAACLAB_NUCLEUS_DIR, "Controllers", "RmpFlowAssets") diff --git a/source/isaaclab/isaaclab/controllers/differential_ik.py b/source/isaaclab/isaaclab/controllers/differential_ik.py index 08b469a41ed3..41e7ed94ca0e 100644 --- a/source/isaaclab/isaaclab/controllers/differential_ik.py +++ b/source/isaaclab/isaaclab/controllers/differential_ik.py @@ -9,7 +9,7 @@ import torch -from isaaclab.utils.math import apply_delta_pose, compute_pose_error +from ..utils.math import apply_delta_pose, compute_pose_error if TYPE_CHECKING: from .differential_ik_cfg import DifferentialIKControllerCfg diff --git a/source/isaaclab/isaaclab/controllers/differential_ik_cfg.py b/source/isaaclab/isaaclab/controllers/differential_ik_cfg.py index 4cd916df1878..5860d3a9bf49 100644 --- a/source/isaaclab/isaaclab/controllers/differential_ik_cfg.py +++ b/source/isaaclab/isaaclab/controllers/differential_ik_cfg.py @@ -8,7 +8,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Literal -from isaaclab.utils import configclass +from ..utils import configclass if TYPE_CHECKING: from .differential_ik import DifferentialIKController diff --git a/source/isaaclab/isaaclab/controllers/joint_impedance_cfg.py b/source/isaaclab/isaaclab/controllers/joint_impedance_cfg.py index 8245b0e50ab0..da5b3334e3c3 100644 --- a/source/isaaclab/isaaclab/controllers/joint_impedance_cfg.py +++ b/source/isaaclab/isaaclab/controllers/joint_impedance_cfg.py @@ -8,7 +8,7 @@ from collections.abc import Sequence from dataclasses import MISSING -from isaaclab.utils import configclass +from ..utils import configclass @configclass diff --git a/source/isaaclab/isaaclab/controllers/operational_space.py b/source/isaaclab/isaaclab/controllers/operational_space.py index 1cb17649a2c7..e9348637b563 100644 --- a/source/isaaclab/isaaclab/controllers/operational_space.py +++ b/source/isaaclab/isaaclab/controllers/operational_space.py @@ -9,7 +9,7 @@ import torch -from isaaclab.utils.math import ( +from ..utils.math import ( apply_delta_pose, combine_frame_transforms, compute_pose_error, diff --git a/source/isaaclab/isaaclab/controllers/operational_space_cfg.py b/source/isaaclab/isaaclab/controllers/operational_space_cfg.py index 0e5052534500..2d18d5fa7a4b 100644 --- a/source/isaaclab/isaaclab/controllers/operational_space_cfg.py +++ b/source/isaaclab/isaaclab/controllers/operational_space_cfg.py @@ -9,7 +9,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.utils import configclass +from ..utils import configclass if TYPE_CHECKING: from .operational_space import OperationalSpaceController diff --git a/source/isaaclab/isaaclab/controllers/pink_ik/__init__.py b/source/isaaclab/isaaclab/controllers/pink_ik/__init__.py index e9c1756448a3..d22a07905aa0 100644 --- a/source/isaaclab/isaaclab/controllers/pink_ik/__init__.py +++ b/source/isaaclab/isaaclab/controllers/pink_ik/__init__.py @@ -8,6 +8,6 @@ This package provides integration between Pink inverse kinematics solver and IsaacLab. """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/controllers/pink_ik/pink_ik.py b/source/isaaclab/isaaclab/controllers/pink_ik/pink_ik.py index ed69b6a4cee9..af9a36b03cb6 100644 --- a/source/isaaclab/isaaclab/controllers/pink_ik/pink_ik.py +++ b/source/isaaclab/isaaclab/controllers/pink_ik/pink_ik.py @@ -22,11 +22,10 @@ from pink.tasks import Task from qpsolvers.exceptions import SolverNotFound -from isaaclab.assets import ArticulationCfg -from isaaclab.controllers import utils as controller_utils -from isaaclab.utils.assets import retrieve_file_path -from isaaclab.utils.string import resolve_matching_names_values - +from ...assets import ArticulationCfg +from ...utils.assets import retrieve_file_path +from ...utils.string import resolve_matching_names_values +from .. import utils as controller_utils from .null_space_posture_task import NullSpacePostureTask from .pink_kinematics_configuration import PinkKinematicsConfiguration from .pink_task_cfg import PinkIKTaskCfg @@ -252,7 +251,7 @@ def _return_current_joint_positions(error: Exception) -> torch.Tensor: ) if self.cfg.xr_enabled: - from isaaclab.ui.xr_widgets import XRVisualization + from ...ui.xr_widgets import XRVisualization XRVisualization.push_event("ik_error", {"error": error}) return torch.tensor(curr_controlled_joint_pos, device=self.device, dtype=torch.float32) diff --git a/source/isaaclab/isaaclab/controllers/pink_ik/pink_ik_cfg.py b/source/isaaclab/isaaclab/controllers/pink_ik/pink_ik_cfg.py index bb0839fcf1bf..70d0dc882a56 100644 --- a/source/isaaclab/isaaclab/controllers/pink_ik/pink_ik_cfg.py +++ b/source/isaaclab/isaaclab/controllers/pink_ik/pink_ik_cfg.py @@ -10,8 +10,7 @@ from dataclasses import field from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from .pink_task_cfg import PinkIKTaskCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/controllers/pink_ik/pink_task_cfg.py b/source/isaaclab/isaaclab/controllers/pink_ik/pink_task_cfg.py index c6472131babc..835585d1a637 100644 --- a/source/isaaclab/isaaclab/controllers/pink_ik/pink_task_cfg.py +++ b/source/isaaclab/isaaclab/controllers/pink_ik/pink_task_cfg.py @@ -10,7 +10,7 @@ from dataclasses import MISSING, field from typing import Any -from isaaclab.utils import configclass +from ...utils import configclass @configclass diff --git a/source/isaaclab/isaaclab/controllers/rmp_flow.py b/source/isaaclab/isaaclab/controllers/rmp_flow.py index fcfdcb4e0a1d..568ea12f2ef6 100644 --- a/source/isaaclab/isaaclab/controllers/rmp_flow.py +++ b/source/isaaclab/isaaclab/controllers/rmp_flow.py @@ -10,10 +10,9 @@ import numpy as np import torch -import isaaclab.sim as sim_utils -from isaaclab.utils.assets import retrieve_file_path -from isaaclab.utils.math import matrix_from_quat - +from .. import sim as sim_utils +from ..utils.assets import retrieve_file_path +from ..utils.math import matrix_from_quat from .rmp_flow_cfg import RmpFlowControllerCfg # noqa: F401 from .utils import import_lula, resolve_rmpflow_path diff --git a/source/isaaclab/isaaclab/controllers/rmp_flow_cfg.py b/source/isaaclab/isaaclab/controllers/rmp_flow_cfg.py index e94e94f2377b..eaecef35612f 100644 --- a/source/isaaclab/isaaclab/controllers/rmp_flow_cfg.py +++ b/source/isaaclab/isaaclab/controllers/rmp_flow_cfg.py @@ -9,7 +9,7 @@ from dataclasses import MISSING -from isaaclab.utils import configclass +from ..utils import configclass @configclass diff --git a/source/isaaclab/isaaclab/controllers/utils.py b/source/isaaclab/isaaclab/controllers/utils.py index 6d34b3293fd4..f6ec8e5e63c3 100644 --- a/source/isaaclab/isaaclab/controllers/utils.py +++ b/source/isaaclab/isaaclab/controllers/utils.py @@ -16,7 +16,7 @@ import sys import xml.etree.ElementTree as ET -from isaaclab.sim.utils import enable_extension, get_extension_path +from ..sim.utils import enable_extension, get_extension_path # import logger logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/devices/__init__.py b/source/isaaclab/isaaclab/devices/__init__.py index f6830252e40d..ee57e19a288b 100644 --- a/source/isaaclab/isaaclab/devices/__init__.py +++ b/source/isaaclab/isaaclab/devices/__init__.py @@ -20,6 +20,6 @@ the peripheral device. """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/devices/device_base.py b/source/isaaclab/isaaclab/devices/device_base.py index 00c7100ab523..23e9a53063fe 100644 --- a/source/isaaclab/isaaclab/devices/device_base.py +++ b/source/isaaclab/isaaclab/devices/device_base.py @@ -15,8 +15,8 @@ import torch -from isaaclab.devices.retargeter_base import RetargeterBase, RetargeterCfg -from isaaclab.utils import configclass +from ..utils import configclass +from .retargeter_base import RetargeterBase, RetargeterCfg @configclass diff --git a/source/isaaclab/isaaclab/devices/gamepad/__init__.py b/source/isaaclab/isaaclab/devices/gamepad/__init__.py index 2957e08ed477..b9032063c2a1 100644 --- a/source/isaaclab/isaaclab/devices/gamepad/__init__.py +++ b/source/isaaclab/isaaclab/devices/gamepad/__init__.py @@ -5,6 +5,6 @@ """Gamepad device for SE(2) and SE(3) control.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/devices/gamepad/se2_gamepad.py b/source/isaaclab/isaaclab/devices/gamepad/se2_gamepad.py index 46fa3ba58993..500302a62996 100644 --- a/source/isaaclab/isaaclab/devices/gamepad/se2_gamepad.py +++ b/source/isaaclab/isaaclab/devices/gamepad/se2_gamepad.py @@ -18,8 +18,7 @@ import carb.input import omni -from isaaclab.app.settings_manager import get_settings_manager - +from ...app.settings_manager import get_settings_manager from ..device_base import DeviceBase if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/devices/gamepad/se2_gamepad_cfg.py b/source/isaaclab/isaaclab/devices/gamepad/se2_gamepad_cfg.py index fc4239538070..1adfef8d7b34 100644 --- a/source/isaaclab/isaaclab/devices/gamepad/se2_gamepad_cfg.py +++ b/source/isaaclab/isaaclab/devices/gamepad/se2_gamepad_cfg.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from ..device_base import DeviceCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/devices/gamepad/se3_gamepad.py b/source/isaaclab/isaaclab/devices/gamepad/se3_gamepad.py index 70e579c7c7d1..fbcafdccc847 100644 --- a/source/isaaclab/isaaclab/devices/gamepad/se3_gamepad.py +++ b/source/isaaclab/isaaclab/devices/gamepad/se3_gamepad.py @@ -18,8 +18,7 @@ import carb import omni -from isaaclab.app.settings_manager import get_settings_manager - +from ...app.settings_manager import get_settings_manager from ..device_base import DeviceBase if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/devices/gamepad/se3_gamepad_cfg.py b/source/isaaclab/isaaclab/devices/gamepad/se3_gamepad_cfg.py index 123105fa10dc..3dd6c72a1227 100644 --- a/source/isaaclab/isaaclab/devices/gamepad/se3_gamepad_cfg.py +++ b/source/isaaclab/isaaclab/devices/gamepad/se3_gamepad_cfg.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from ..device_base import DeviceCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/devices/haply/__init__.py b/source/isaaclab/isaaclab/devices/haply/__init__.py index be758d6029cf..01b78b706e6a 100644 --- a/source/isaaclab/isaaclab/devices/haply/__init__.py +++ b/source/isaaclab/isaaclab/devices/haply/__init__.py @@ -5,6 +5,6 @@ """Haply device interface for teleoperation.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/devices/haply/se3_haply.py b/source/isaaclab/isaaclab/devices/haply/se3_haply.py index f9e190de8a4a..c417480ae9de 100644 --- a/source/isaaclab/isaaclab/devices/haply/se3_haply.py +++ b/source/isaaclab/isaaclab/devices/haply/se3_haply.py @@ -16,7 +16,7 @@ import numpy as np import torch -from isaaclab.utils import configclass +from ...utils import configclass try: import websockets diff --git a/source/isaaclab/isaaclab/devices/keyboard/__init__.py b/source/isaaclab/isaaclab/devices/keyboard/__init__.py index d5a91b84fdd1..0e30128451b6 100644 --- a/source/isaaclab/isaaclab/devices/keyboard/__init__.py +++ b/source/isaaclab/isaaclab/devices/keyboard/__init__.py @@ -5,6 +5,6 @@ """Keyboard device for SE(2) and SE(3) control.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/devices/keyboard/se2_keyboard_cfg.py b/source/isaaclab/isaaclab/devices/keyboard/se2_keyboard_cfg.py index acecde3ae7d6..c21577592c69 100644 --- a/source/isaaclab/isaaclab/devices/keyboard/se2_keyboard_cfg.py +++ b/source/isaaclab/isaaclab/devices/keyboard/se2_keyboard_cfg.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from ..device_base import DeviceCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/devices/keyboard/se3_keyboard_cfg.py b/source/isaaclab/isaaclab/devices/keyboard/se3_keyboard_cfg.py index 3ac55205360a..24af0a7cbd80 100644 --- a/source/isaaclab/isaaclab/devices/keyboard/se3_keyboard_cfg.py +++ b/source/isaaclab/isaaclab/devices/keyboard/se3_keyboard_cfg.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from ..device_base import DeviceCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/devices/openxr/__init__.py b/source/isaaclab/isaaclab/devices/openxr/__init__.py index 8c6f0d4c36ff..aecc554a5f47 100644 --- a/source/isaaclab/isaaclab/devices/openxr/__init__.py +++ b/source/isaaclab/isaaclab/devices/openxr/__init__.py @@ -15,6 +15,6 @@ :class:`DeprecationWarning` at instantiation time. """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/devices/retargeter_base.py b/source/isaaclab/isaaclab/devices/retargeter_base.py index 0859dd5342cf..f923276a726c 100644 --- a/source/isaaclab/isaaclab/devices/retargeter_base.py +++ b/source/isaaclab/isaaclab/devices/retargeter_base.py @@ -19,7 +19,7 @@ from enum import Enum from typing import Any -from isaaclab.utils import configclass +from ..utils import configclass @configclass diff --git a/source/isaaclab/isaaclab/devices/spacemouse/__init__.py b/source/isaaclab/isaaclab/devices/spacemouse/__init__.py index 6f792b31546c..fbf695f505d5 100644 --- a/source/isaaclab/isaaclab/devices/spacemouse/__init__.py +++ b/source/isaaclab/isaaclab/devices/spacemouse/__init__.py @@ -5,6 +5,6 @@ """Spacemouse device for SE(2) and SE(3) control.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/devices/spacemouse/se2_spacemouse.py b/source/isaaclab/isaaclab/devices/spacemouse/se2_spacemouse.py index 17afcfcd9903..ff1050c069b4 100644 --- a/source/isaaclab/isaaclab/devices/spacemouse/se2_spacemouse.py +++ b/source/isaaclab/isaaclab/devices/spacemouse/se2_spacemouse.py @@ -16,8 +16,7 @@ import numpy as np import torch -from isaaclab.utils.array import convert_to_torch - +from ...utils.array import convert_to_torch from ..device_base import DeviceBase from .utils import convert_buffer, describe_open_failure, device_not_found_message, resolve_device_name diff --git a/source/isaaclab/isaaclab/devices/spacemouse/se2_spacemouse_cfg.py b/source/isaaclab/isaaclab/devices/spacemouse/se2_spacemouse_cfg.py index 91e6a823833a..b7fef620d02f 100644 --- a/source/isaaclab/isaaclab/devices/spacemouse/se2_spacemouse_cfg.py +++ b/source/isaaclab/isaaclab/devices/spacemouse/se2_spacemouse_cfg.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from ..device_base import DeviceCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/devices/spacemouse/se3_spacemouse_cfg.py b/source/isaaclab/isaaclab/devices/spacemouse/se3_spacemouse_cfg.py index ba63dae831b6..dfc7f9240f22 100644 --- a/source/isaaclab/isaaclab/devices/spacemouse/se3_spacemouse_cfg.py +++ b/source/isaaclab/isaaclab/devices/spacemouse/se3_spacemouse_cfg.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from ..device_base import DeviceCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/envs/__init__.py b/source/isaaclab/isaaclab/envs/__init__.py index 0fad56a90948..acb20a1f4fc8 100644 --- a/source/isaaclab/isaaclab/envs/__init__.py +++ b/source/isaaclab/isaaclab/envs/__init__.py @@ -42,7 +42,7 @@ .. _`Task Design Workflows`: https://docs.isaacsim.omniverse.nvidia.com/latest/introduction/workflows.html """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export from .common import ViewerCfg # noqa: F401 # deprecated — kept for backwards compatibility from .utils.video_recorder_cfg import VideoRecorderCfg # noqa: F401 diff --git a/source/isaaclab/isaaclab/envs/common.py b/source/isaaclab/isaaclab/envs/common.py index f1db323d74fe..97108796915c 100644 --- a/source/isaaclab/isaaclab/envs/common.py +++ b/source/isaaclab/isaaclab/envs/common.py @@ -12,7 +12,7 @@ import gymnasium as gym import torch -from isaaclab.utils import configclass +from ..utils import configclass ## # Deprecated: ViewerCfg @@ -179,7 +179,7 @@ def _apply_deprecated_viewer_cfg(env_cfg: object) -> None: **({"window_width": resolution[0], "window_height": resolution[1]} if resolution is not None else {}), ) except ImportError: - from isaaclab.visualizers import VisualizerCfg + from ..visualizers import VisualizerCfg sim_cfg.default_visualizer_cfg = VisualizerCfg( eye=tuple(viewer.eye), diff --git a/source/isaaclab/isaaclab/envs/direct_marl_env.py b/source/isaaclab/isaaclab/envs/direct_marl_env.py index 48fd05776cd2..76de2df11a8c 100644 --- a/source/isaaclab/isaaclab/envs/direct_marl_env.py +++ b/source/isaaclab/isaaclab/envs/direct_marl_env.py @@ -18,13 +18,12 @@ import numpy as np import torch -from isaaclab.managers import EventManager -from isaaclab.sim import SimulationContext -from isaaclab.sim.utils.stage import use_stage -from isaaclab.utils.noise import NoiseModel -from isaaclab.utils.seed import configure_seed -from isaaclab.utils.timer import Timer - +from ..managers import EventManager +from ..sim import SimulationContext +from ..sim.utils.stage import use_stage +from ..utils.noise import NoiseModel +from ..utils.seed import configure_seed +from ..utils.timer import Timer from .common import ActionType, AgentID, EnvStepReturn, ObsType, StateType, _apply_deprecated_viewer_cfg from .direct_marl_env_cfg import DirectMARLEnvCfg from .utils.spaces import sample_space, spec_to_gym_space diff --git a/source/isaaclab/isaaclab/envs/direct_marl_env_cfg.py b/source/isaaclab/isaaclab/envs/direct_marl_env_cfg.py index 599eab724029..a2d534b2dc7f 100644 --- a/source/isaaclab/isaaclab/envs/direct_marl_env_cfg.py +++ b/source/isaaclab/isaaclab/envs/direct_marl_env_cfg.py @@ -9,13 +9,12 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: - from isaaclab.devices.openxr import XrCfg - -from isaaclab.scene import InteractiveSceneCfg -from isaaclab.sim import SimulationCfg -from isaaclab.utils import configclass -from isaaclab.utils.noise import NoiseModelCfg + from ..devices.openxr import XrCfg +from ..scene import InteractiveSceneCfg +from ..sim import SimulationCfg +from ..utils import configclass +from ..utils.noise import NoiseModelCfg from .common import AgentID, SpaceType, ViewerCfg from .utils.video_recorder_cfg import VideoRecorderCfg diff --git a/source/isaaclab/isaaclab/envs/direct_rl_env.py b/source/isaaclab/isaaclab/envs/direct_rl_env.py index 909782ef11d4..9422d89d97ec 100644 --- a/source/isaaclab/isaaclab/envs/direct_rl_env.py +++ b/source/isaaclab/isaaclab/envs/direct_rl_env.py @@ -19,13 +19,12 @@ import numpy as np import torch -from isaaclab.managers import EventManager -from isaaclab.sim import SimulationContext -from isaaclab.sim.utils.stage import use_stage -from isaaclab.utils.noise import NoiseModel -from isaaclab.utils.seed import configure_seed -from isaaclab.utils.timer import Timer - +from ..managers import EventManager +from ..sim import SimulationContext +from ..sim.utils.stage import use_stage +from ..utils.noise import NoiseModel +from ..utils.seed import configure_seed +from ..utils.timer import Timer from .common import VecEnvObs, VecEnvStepReturn, _apply_deprecated_viewer_cfg from .direct_rl_env_cfg import DirectRLEnvCfg from .utils.spaces import sample_space, spec_to_gym_space diff --git a/source/isaaclab/isaaclab/envs/direct_rl_env_cfg.py b/source/isaaclab/isaaclab/envs/direct_rl_env_cfg.py index 074c8731b893..f8e6b8c91876 100644 --- a/source/isaaclab/isaaclab/envs/direct_rl_env_cfg.py +++ b/source/isaaclab/isaaclab/envs/direct_rl_env_cfg.py @@ -9,12 +9,11 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: - from isaaclab.devices.openxr import XrCfg -from isaaclab.scene import InteractiveSceneCfg -from isaaclab.sim import SimulationCfg -from isaaclab.utils import configclass -from isaaclab.utils.noise import NoiseModelCfg - + from ..devices.openxr import XrCfg +from ..scene import InteractiveSceneCfg +from ..sim import SimulationCfg +from ..utils import configclass +from ..utils.noise import NoiseModelCfg from .common import SpaceType, ViewerCfg from .utils.video_recorder_cfg import VideoRecorderCfg diff --git a/source/isaaclab/isaaclab/envs/leapp_deployment_env.py b/source/isaaclab/isaaclab/envs/leapp_deployment_env.py index 66d6eb2ae82d..0decf9c7b270 100644 --- a/source/isaaclab/isaaclab/envs/leapp_deployment_env.py +++ b/source/isaaclab/isaaclab/envs/leapp_deployment_env.py @@ -27,10 +27,10 @@ except ImportError as e: raise ImportError("LEAPP package is required for policy deployment testing. Install with: pip install leapp") from e -from isaaclab.managers import CommandManager, EventManager -from isaaclab.scene import InteractiveScene -from isaaclab.sim import SimulationContext -from isaaclab.sim.utils.stage import use_stage +from ..managers import CommandManager, EventManager +from ..scene import InteractiveScene +from ..sim import SimulationContext +from ..sim.utils.stage import use_stage logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/envs/manager_based_env.py b/source/isaaclab/isaaclab/envs/manager_based_env.py index f880d09300b8..e35059279f0c 100644 --- a/source/isaaclab/isaaclab/envs/manager_based_env.py +++ b/source/isaaclab/isaaclab/envs/manager_based_env.py @@ -14,14 +14,13 @@ import torch -from isaaclab.app.loading_screen import report_activity -from isaaclab.managers import ActionManager, EventManager, ObservationManager, RecorderManager -from isaaclab.scene import InteractiveScene -from isaaclab.sim import SimulationContext -from isaaclab.sim.utils.stage import use_stage -from isaaclab.utils.seed import configure_seed -from isaaclab.utils.timer import Timer - +from ..app.loading_screen import report_activity +from ..managers import ActionManager, EventManager, ObservationManager, RecorderManager +from ..scene import InteractiveScene +from ..sim import SimulationContext +from ..sim.utils.stage import use_stage +from ..utils.seed import configure_seed +from ..utils.timer import Timer from .common import VecEnvObs, _apply_deprecated_viewer_cfg from .manager_based_env_cfg import ManagerBasedEnvCfg from .utils.io_descriptors import ( diff --git a/source/isaaclab/isaaclab/envs/manager_based_env_cfg.py b/source/isaaclab/isaaclab/envs/manager_based_env_cfg.py index 63dc107cd840..9ecb341bd473 100644 --- a/source/isaaclab/isaaclab/envs/manager_based_env_cfg.py +++ b/source/isaaclab/isaaclab/envs/manager_based_env_cfg.py @@ -14,17 +14,16 @@ from dataclasses import MISSING, field from typing import TYPE_CHECKING -import isaaclab.envs.mdp as mdp -from isaaclab.devices.device_base import DevicesCfg +from ..devices.device_base import DevicesCfg +from . import mdp as mdp if TYPE_CHECKING: - from isaaclab.devices.openxr import XrCfg -from isaaclab.managers import EventTermCfg as EventTerm -from isaaclab.managers import RecorderManagerBaseCfg as DefaultEmptyRecorderManagerCfg -from isaaclab.scene import InteractiveSceneCfg -from isaaclab.sim import SimulationCfg -from isaaclab.utils import configclass - + from ..devices.openxr import XrCfg +from ..managers import EventTermCfg as EventTerm +from ..managers import RecorderManagerBaseCfg as DefaultEmptyRecorderManagerCfg +from ..scene import InteractiveSceneCfg +from ..sim import SimulationCfg +from ..utils import configclass from .common import ViewerCfg from .utils.video_recorder_cfg import VideoRecorderCfg diff --git a/source/isaaclab/isaaclab/envs/manager_based_rl_env.py b/source/isaaclab/isaaclab/envs/manager_based_rl_env.py index ed751f1dd95e..1f04e094da7d 100644 --- a/source/isaaclab/isaaclab/envs/manager_based_rl_env.py +++ b/source/isaaclab/isaaclab/envs/manager_based_rl_env.py @@ -14,8 +14,7 @@ import numpy as np import torch -from isaaclab.managers import CommandManager, CurriculumManager, RewardManager, TerminationManager - +from ..managers import CommandManager, CurriculumManager, RewardManager, TerminationManager from .common import VecEnvStepReturn from .manager_based_env import ManagerBasedEnv from .manager_based_rl_env_cfg import ManagerBasedRLEnvCfg diff --git a/source/isaaclab/isaaclab/envs/manager_based_rl_env_cfg.py b/source/isaaclab/isaaclab/envs/manager_based_rl_env_cfg.py index 4f379ca0f805..5db57ff095b6 100644 --- a/source/isaaclab/isaaclab/envs/manager_based_rl_env_cfg.py +++ b/source/isaaclab/isaaclab/envs/manager_based_rl_env_cfg.py @@ -7,8 +7,7 @@ from dataclasses import MISSING -from isaaclab.utils import configclass - +from ..utils import configclass from .manager_based_env_cfg import ManagerBasedEnvCfg diff --git a/source/isaaclab/isaaclab/envs/manager_based_rl_mimic_env.py b/source/isaaclab/isaaclab/envs/manager_based_rl_mimic_env.py index d32284d029de..e74f634d6ea1 100644 --- a/source/isaaclab/isaaclab/envs/manager_based_rl_mimic_env.py +++ b/source/isaaclab/isaaclab/envs/manager_based_rl_mimic_env.py @@ -8,8 +8,8 @@ import torch -import isaaclab.utils.math as PoseUtils -from isaaclab.envs import ManagerBasedRLEnv +from ..utils import math as PoseUtils +from . import ManagerBasedRLEnv def optional_method(func): diff --git a/source/isaaclab/isaaclab/envs/mdp/__init__.py b/source/isaaclab/isaaclab/envs/mdp/__init__.py index 4525c197c439..db830d3519a7 100644 --- a/source/isaaclab/isaaclab/envs/mdp/__init__.py +++ b/source/isaaclab/isaaclab/envs/mdp/__init__.py @@ -15,6 +15,6 @@ """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/envs/mdp/actions/binary_joint_actions.py b/source/isaaclab/isaaclab/envs/mdp/actions/binary_joint_actions.py index 33516125a1bc..0d05bb3c05ea 100644 --- a/source/isaaclab/isaaclab/envs/mdp/actions/binary_joint_actions.py +++ b/source/isaaclab/isaaclab/envs/mdp/actions/binary_joint_actions.py @@ -16,9 +16,8 @@ from isaaclab.managers.action_manager import ActionTerm if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - from isaaclab.envs.utils.io_descriptors import GenericActionIODescriptor - + from ... import ManagerBasedEnv + from ...utils.io_descriptors import GenericActionIODescriptor from . import actions_cfg # import logger diff --git a/source/isaaclab/isaaclab/envs/mdp/actions/joint_actions.py b/source/isaaclab/isaaclab/envs/mdp/actions/joint_actions.py index 435a04574a06..ca5cee718de2 100644 --- a/source/isaaclab/isaaclab/envs/mdp/actions/joint_actions.py +++ b/source/isaaclab/isaaclab/envs/mdp/actions/joint_actions.py @@ -16,9 +16,8 @@ from isaaclab.managers.action_manager import ActionTerm if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - from isaaclab.envs.utils.io_descriptors import GenericActionIODescriptor - + from ... import ManagerBasedEnv + from ...utils.io_descriptors import GenericActionIODescriptor from . import actions_cfg # import logger diff --git a/source/isaaclab/isaaclab/envs/mdp/actions/joint_actions_to_limits.py b/source/isaaclab/isaaclab/envs/mdp/actions/joint_actions_to_limits.py index f6c416b97337..6dd26f25dfe9 100644 --- a/source/isaaclab/isaaclab/envs/mdp/actions/joint_actions_to_limits.py +++ b/source/isaaclab/isaaclab/envs/mdp/actions/joint_actions_to_limits.py @@ -17,9 +17,8 @@ from isaaclab.managers.action_manager import ActionTerm if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - from isaaclab.envs.utils.io_descriptors import GenericActionIODescriptor - + from ... import ManagerBasedEnv + from ...utils.io_descriptors import GenericActionIODescriptor from . import actions_cfg # import logger diff --git a/source/isaaclab/isaaclab/envs/mdp/actions/non_holonomic_actions.py b/source/isaaclab/isaaclab/envs/mdp/actions/non_holonomic_actions.py index 08d5e9be1c85..de1d88f25ecc 100644 --- a/source/isaaclab/isaaclab/envs/mdp/actions/non_holonomic_actions.py +++ b/source/isaaclab/isaaclab/envs/mdp/actions/non_holonomic_actions.py @@ -17,9 +17,8 @@ from isaaclab.utils.math import euler_xyz_from_quat if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - from isaaclab.envs.utils.io_descriptors import GenericActionIODescriptor - + from ... import ManagerBasedEnv + from ...utils.io_descriptors import GenericActionIODescriptor from . import actions_cfg # import logger diff --git a/source/isaaclab/isaaclab/envs/mdp/actions/pink_task_space_actions.py b/source/isaaclab/isaaclab/envs/mdp/actions/pink_task_space_actions.py index 3a5e67ffc426..8ce81fb1a5ec 100644 --- a/source/isaaclab/isaaclab/envs/mdp/actions/pink_task_space_actions.py +++ b/source/isaaclab/isaaclab/envs/mdp/actions/pink_task_space_actions.py @@ -18,9 +18,8 @@ from isaaclab.managers.action_manager import ActionTerm if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - from isaaclab.envs.utils.io_descriptors import GenericActionIODescriptor - + from ... import ManagerBasedEnv + from ...utils.io_descriptors import GenericActionIODescriptor from . import pink_actions_cfg diff --git a/source/isaaclab/isaaclab/envs/mdp/actions/rmpflow_task_space_actions.py b/source/isaaclab/isaaclab/envs/mdp/actions/rmpflow_task_space_actions.py index 6cccf308e1d5..91cd18ec7ba8 100644 --- a/source/isaaclab/isaaclab/envs/mdp/actions/rmpflow_task_space_actions.py +++ b/source/isaaclab/isaaclab/envs/mdp/actions/rmpflow_task_space_actions.py @@ -18,8 +18,7 @@ from isaaclab.managers.action_manager import ActionTerm if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - + from ... import ManagerBasedEnv from . import rmpflow_actions_cfg # import logger diff --git a/source/isaaclab/isaaclab/envs/mdp/actions/surface_gripper_actions.py b/source/isaaclab/isaaclab/envs/mdp/actions/surface_gripper_actions.py index 8d4f80c14549..00712d505b8b 100644 --- a/source/isaaclab/isaaclab/envs/mdp/actions/surface_gripper_actions.py +++ b/source/isaaclab/isaaclab/envs/mdp/actions/surface_gripper_actions.py @@ -16,8 +16,7 @@ if TYPE_CHECKING: from isaaclab_physx.assets import SurfaceGripper - from isaaclab.envs import ManagerBasedEnv - + from ... import ManagerBasedEnv from . import actions_cfg # import logger diff --git a/source/isaaclab/isaaclab/envs/mdp/actions/task_space_actions.py b/source/isaaclab/isaaclab/envs/mdp/actions/task_space_actions.py index e34343ef3194..a9c47e91fe9a 100644 --- a/source/isaaclab/isaaclab/envs/mdp/actions/task_space_actions.py +++ b/source/isaaclab/isaaclab/envs/mdp/actions/task_space_actions.py @@ -23,9 +23,8 @@ from isaaclab.sim.utils.queries import resolve_matching_prims_from_source if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - from isaaclab.envs.utils.io_descriptors import GenericActionIODescriptor - + from ... import ManagerBasedEnv + from ...utils.io_descriptors import GenericActionIODescriptor from . import actions_cfg # import logger diff --git a/source/isaaclab/isaaclab/envs/mdp/actions/tendon_actions.py b/source/isaaclab/isaaclab/envs/mdp/actions/tendon_actions.py index bad34a7b0cf6..aa9251747549 100644 --- a/source/isaaclab/isaaclab/envs/mdp/actions/tendon_actions.py +++ b/source/isaaclab/isaaclab/envs/mdp/actions/tendon_actions.py @@ -18,9 +18,8 @@ from isaaclab.managers.action_manager import ActionTerm if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - from isaaclab.envs.utils.io_descriptors import GenericActionIODescriptor - + from ... import ManagerBasedEnv + from ...utils.io_descriptors import GenericActionIODescriptor from . import actions_cfg # import logger diff --git a/source/isaaclab/isaaclab/envs/mdp/commands/pose_2d_command.py b/source/isaaclab/isaaclab/envs/mdp/commands/pose_2d_command.py index 866f09cf7ffb..9c636170f87d 100644 --- a/source/isaaclab/isaaclab/envs/mdp/commands/pose_2d_command.py +++ b/source/isaaclab/isaaclab/envs/mdp/commands/pose_2d_command.py @@ -19,8 +19,7 @@ from isaaclab.utils.math import quat_apply_inverse, quat_from_euler_xyz, wrap_to_pi, yaw_quat if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - + from ... import ManagerBasedEnv from .commands_cfg import TerrainBasedPose2dCommandCfg, UniformPose2dCommandCfg diff --git a/source/isaaclab/isaaclab/envs/mdp/commands/pose_command.py b/source/isaaclab/isaaclab/envs/mdp/commands/pose_command.py index 920911dfbeb1..28b53d0c0d3c 100644 --- a/source/isaaclab/isaaclab/envs/mdp/commands/pose_command.py +++ b/source/isaaclab/isaaclab/envs/mdp/commands/pose_command.py @@ -19,8 +19,7 @@ from isaaclab.utils.math import combine_frame_transforms, compute_pose_error, quat_from_euler_xyz, quat_unique if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - + from ... import ManagerBasedEnv from .commands_cfg import UniformPoseCommandCfg diff --git a/source/isaaclab/isaaclab/envs/mdp/commands/velocity_command.py b/source/isaaclab/isaaclab/envs/mdp/commands/velocity_command.py index e20e2ced7fb9..905c1f5a01d8 100644 --- a/source/isaaclab/isaaclab/envs/mdp/commands/velocity_command.py +++ b/source/isaaclab/isaaclab/envs/mdp/commands/velocity_command.py @@ -19,8 +19,7 @@ from isaaclab.markers import VisualizationMarkers if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv - + from ... import ManagerBasedEnv from .commands_cfg import NormalVelocityCommandCfg, UniformVelocityCommandCfg # import logger diff --git a/source/isaaclab/isaaclab/envs/mdp/curriculums.py b/source/isaaclab/isaaclab/envs/mdp/curriculums.py index 910fc6dd2202..0f66e1b76075 100644 --- a/source/isaaclab/isaaclab/envs/mdp/curriculums.py +++ b/source/isaaclab/isaaclab/envs/mdp/curriculums.py @@ -17,10 +17,10 @@ import torch -from isaaclab.managers import CurriculumTermCfg, ManagerTermBase +from ...managers import CurriculumTermCfg, ManagerTermBase if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedRLEnv + from .. import ManagerBasedRLEnv class modify_reward_weight(ManagerTermBase): diff --git a/source/isaaclab/isaaclab/envs/mdp/events.py b/source/isaaclab/isaaclab/envs/mdp/events.py index 4fe08183f7b8..8e4ca55c8832 100644 --- a/source/isaaclab/isaaclab/envs/mdp/events.py +++ b/source/isaaclab/isaaclab/envs/mdp/events.py @@ -22,17 +22,17 @@ import torch import warp as wp -import isaaclab.sim as sim_utils -import isaaclab.utils.math as math_utils -from isaaclab.managers import EventTermCfg, ManagerTermBase, SceneEntityCfg -from isaaclab.utils.version import compare_versions +from ... import sim as sim_utils +from ...managers import EventTermCfg, ManagerTermBase, SceneEntityCfg +from ...utils import math as math_utils +from ...utils.version import compare_versions if TYPE_CHECKING: from isaaclab_physx.assets import DeformableObject - from isaaclab.assets import Articulation, RigidObject - from isaaclab.envs import ManagerBasedEnv - from isaaclab.terrains import TerrainImporter + from ...assets import Articulation, RigidObject + from ...terrains import TerrainImporter + from .. import ManagerBasedEnv # import logger logger = logging.getLogger(__name__) @@ -160,7 +160,7 @@ class _RandomizeRigidBodyMaterialPhysx: def __init__( self, cfg: EventTermCfg, env: ManagerBasedEnv, asset: RigidObject | Articulation, asset_cfg: SceneEntityCfg ): - from isaaclab.assets import BaseArticulation + from ...assets import BaseArticulation # obtain parameters for sampling friction and restitution values static_friction_range = cfg.params.get("static_friction_range", (1.0, 1.0)) @@ -400,7 +400,7 @@ def __init__( import isaaclab_ov.tensor_types as ovphysx_tt # noqa: PLC0415 from isaaclab_ov.sim.views.ovphysx_view import OvPhysxView # noqa: PLC0415 - from isaaclab.assets import BaseArticulation # noqa: PLC0415 + from ...assets import BaseArticulation # noqa: PLC0415 # sample material buckets once (PhysX-style; the 64000 unique-material limit applies) static_friction_range = cfg.params.get("static_friction_range", (1.0, 1.0)) @@ -608,7 +608,7 @@ def __init__(self, cfg: EventTermCfg, env: ManagerBasedEnv): Raises: ValueError: If the asset is not a RigidObject or an Articulation. """ - from isaaclab.assets import BaseArticulation, BaseRigidObject + from ...assets import BaseArticulation, BaseRigidObject super().__init__(cfg, env) @@ -815,7 +815,7 @@ def __init__(self, cfg: EventTermCfg, env: ManagerBasedEnv): ValueError: If the lower bound is negative or zero when not allowed for scale operation. ValueError: If the upper bound is less than the lower bound. """ - from isaaclab.assets import BaseArticulation, BaseRigidObject, BaseRigidObjectCollection + from ...assets import BaseArticulation, BaseRigidObject, BaseRigidObjectCollection super().__init__(cfg, env) @@ -1058,7 +1058,7 @@ class _RandomizeRigidBodyColliderOffsetsOvPhysx: def __init__(self, asset: RigidObject | Articulation): import isaaclab_ov.tensor_types as ovphysx_tt # noqa: PLC0415 - from isaaclab.assets import BaseArticulation # noqa: PLC0415 + from ...assets import BaseArticulation # noqa: PLC0415 self.asset = asset if isinstance(asset, BaseArticulation): @@ -1232,7 +1232,7 @@ def __init__(self, cfg: EventTermCfg, env: ManagerBasedEnv): Raises: ValueError: If the asset is not a RigidObject or an Articulation. """ - from isaaclab.assets import BaseArticulation, BaseRigidObject + from ...assets import BaseArticulation, BaseRigidObject super().__init__(cfg, env) @@ -1496,7 +1496,7 @@ def __init__(self, cfg: EventTermCfg, env: ManagerBasedEnv): # Ownership decides the gain source and write path per group: implicit groups are # articulation-owned, Newton-executed groups are controller-owned (their mapping # entries are the Newton actuator objects), and Lab explicit groups own their tensors. - from isaaclab.actuators import IdealPDActuator # noqa: PLC0415 + from ...actuators import IdealPDActuator # noqa: PLC0415 collection = self.asset.actuators self._native_group_names = getattr(collection, "_native_group_names", set()) @@ -1514,7 +1514,7 @@ def __init__(self, cfg: EventTermCfg, env: ManagerBasedEnv): } self.default_actuator_stiffness: dict[str, torch.Tensor] = {} self.default_actuator_damping: dict[str, torch.Tensor] = {} - from isaaclab.actuators.newton import read_group_parameter # noqa: PLC0415 + from ...actuators.newton import read_group_parameter # noqa: PLC0415 for name, actuator in self._gain_actuators.items(): joint_ids = self._group_joint_indices[name] @@ -1555,7 +1555,7 @@ def __call__( operation: Literal["add", "scale", "abs"] = "abs", distribution: Literal["uniform", "log_uniform", "gaussian"] = "uniform", ): - from isaaclab.actuators.newton import write_group_parameter # noqa: PLC0415 + from ...actuators.newton import write_group_parameter # noqa: PLC0415 # Resolve environment ids if env_ids is None: diff --git a/source/isaaclab/isaaclab/envs/mdp/observations.py b/source/isaaclab/isaaclab/envs/mdp/observations.py index b8c5a9a14fa6..24c119894265 100644 --- a/source/isaaclab/isaaclab/envs/mdp/observations.py +++ b/source/isaaclab/isaaclab/envs/mdp/observations.py @@ -15,19 +15,19 @@ import torch -import isaaclab.utils.math as math_utils -from isaaclab.managers import SceneEntityCfg -from isaaclab.managers.manager_base import ManagerTermBase -from isaaclab.managers.manager_term_cfg import ObservationTermCfg -from isaaclab.utils.buffers import CircularBuffer -from isaaclab.utils.images import is_rgb_like, normalize_camera_image +from ...managers import SceneEntityCfg +from ...managers.manager_base import ManagerTermBase +from ...managers.manager_term_cfg import ObservationTermCfg +from ...utils import math as math_utils +from ...utils.buffers import CircularBuffer +from ...utils.images import is_rgb_like, normalize_camera_image if TYPE_CHECKING: - from isaaclab.assets import Articulation, RigidObject - from isaaclab.envs import ManagerBasedEnv, ManagerBasedRLEnv - from isaaclab.sensors import Camera, Imu, JointWrenchSensor, Pva, RayCaster, RayCasterCamera + from ...assets import Articulation, RigidObject + from ...sensors import Camera, Imu, JointWrenchSensor, Pva, RayCaster, RayCasterCamera + from .. import ManagerBasedEnv, ManagerBasedRLEnv -from isaaclab.envs.utils.io_descriptors import ( +from ..utils.io_descriptors import ( generic_io_descriptor, record_body_names, record_dtype, diff --git a/source/isaaclab/isaaclab/envs/mdp/rewards.py b/source/isaaclab/isaaclab/envs/mdp/rewards.py index 2526e3cfffcb..0e75986ffd44 100644 --- a/source/isaaclab/isaaclab/envs/mdp/rewards.py +++ b/source/isaaclab/isaaclab/envs/mdp/rewards.py @@ -15,15 +15,15 @@ import torch -from isaaclab.managers import SceneEntityCfg -from isaaclab.managers.manager_base import ManagerTermBase -from isaaclab.managers.manager_term_cfg import RewardTermCfg -from isaaclab.utils.math import combine_frame_transforms, quat_error_magnitude, quat_mul, wrap_to_pi +from ...managers import SceneEntityCfg +from ...managers.manager_base import ManagerTermBase +from ...managers.manager_term_cfg import RewardTermCfg +from ...utils.math import combine_frame_transforms, quat_error_magnitude, quat_mul, wrap_to_pi if TYPE_CHECKING: - from isaaclab.assets import Articulation, RigidObject - from isaaclab.envs import ManagerBasedRLEnv - from isaaclab.sensors import ContactSensor, RayCaster + from ...assets import Articulation, RigidObject + from ...sensors import ContactSensor, RayCaster + from .. import ManagerBasedRLEnv """ General. diff --git a/source/isaaclab/isaaclab/envs/mdp/terminations.py b/source/isaaclab/isaaclab/envs/mdp/terminations.py index b198501d8ef5..964a43f00c38 100644 --- a/source/isaaclab/isaaclab/envs/mdp/terminations.py +++ b/source/isaaclab/isaaclab/envs/mdp/terminations.py @@ -15,14 +15,13 @@ import torch -from isaaclab.managers import ManagerTermBase, SceneEntityCfg, TerminationTermCfg +from ...managers import ManagerTermBase, SceneEntityCfg, TerminationTermCfg if TYPE_CHECKING: - from isaaclab.assets import Articulation, RigidObject - from isaaclab.envs import ManagerBasedRLEnv - from isaaclab.managers.command_manager import CommandTerm - from isaaclab.sensors import ContactSensor - + from ...assets import Articulation, RigidObject + from ...managers.command_manager import CommandTerm + from ...sensors import ContactSensor + from .. import ManagerBasedRLEnv from .commands.pose_command import UniformPoseCommand """ diff --git a/source/isaaclab/isaaclab/envs/mdp/visual_events.py b/source/isaaclab/isaaclab/envs/mdp/visual_events.py index b67ef62c1d03..0075b9b06dca 100644 --- a/source/isaaclab/isaaclab/envs/mdp/visual_events.py +++ b/source/isaaclab/isaaclab/envs/mdp/visual_events.py @@ -11,12 +11,12 @@ import torch -from isaaclab.assets import VisualMaterialCfg -from isaaclab.managers import EventTermCfg, ManagerTermBase, SceneEntityCfg -from isaaclab.utils.backend_utils import FactoryBase +from ...assets import VisualMaterialCfg +from ...managers import EventTermCfg, ManagerTermBase, SceneEntityCfg +from ...utils.backend_utils import FactoryBase if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv + from .. import ManagerBasedEnv class randomize_visual_material(ManagerTermBase): diff --git a/source/isaaclab/isaaclab/envs/mimic_env_cfg.py b/source/isaaclab/isaaclab/envs/mimic_env_cfg.py index 990c792b895c..27ac22eae061 100644 --- a/source/isaaclab/isaaclab/envs/mimic_env_cfg.py +++ b/source/isaaclab/isaaclab/envs/mimic_env_cfg.py @@ -14,8 +14,8 @@ import enum -from isaaclab.managers.recorder_manager import RecorderManagerBaseCfg -from isaaclab.utils import configclass +from ..managers.recorder_manager import RecorderManagerBaseCfg +from ..utils import configclass @configclass diff --git a/source/isaaclab/isaaclab/envs/ui/__init__.py b/source/isaaclab/isaaclab/envs/ui/__init__.py index fe5b72528fea..89be179ca43c 100644 --- a/source/isaaclab/isaaclab/envs/ui/__init__.py +++ b/source/isaaclab/isaaclab/envs/ui/__init__.py @@ -10,6 +10,6 @@ toggling different debug visualization tools, and other user-defined functionalities. """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/envs/ui/base_env_window.py b/source/isaaclab/isaaclab/envs/ui/base_env_window.py index 492895a4be4e..ef861ac0c791 100644 --- a/source/isaaclab/isaaclab/envs/ui/base_env_window.py +++ b/source/isaaclab/isaaclab/envs/ui/base_env_window.py @@ -13,10 +13,10 @@ from pxr import Sdf, Usd, UsdGeom, UsdPhysics -from isaaclab.sim.utils.stage import resolve_paths -from isaaclab.ui.widgets import ManagerLiveVisualizer -from isaaclab.ui.widgets.ui_visualizer_base import UiVisualizerBase -from isaaclab.utils.version import has_kit +from ...sim.utils.stage import resolve_paths +from ...ui.widgets import ManagerLiveVisualizer +from ...ui.widgets.ui_visualizer_base import UiVisualizerBase +from ...utils.version import has_kit if has_kit(): import isaacsim diff --git a/source/isaaclab/isaaclab/envs/ui/viewport_camera_controller.py b/source/isaaclab/isaaclab/envs/ui/viewport_camera_controller.py index 406b080775e4..ebedf5f1875e 100644 --- a/source/isaaclab/isaaclab/envs/ui/viewport_camera_controller.py +++ b/source/isaaclab/isaaclab/envs/ui/viewport_camera_controller.py @@ -20,7 +20,7 @@ import torch if TYPE_CHECKING: - from isaaclab.envs import ViewerCfg + from .. import ViewerCfg def _warn_method(name: str) -> None: diff --git a/source/isaaclab/isaaclab/envs/utils/camera_view.py b/source/isaaclab/isaaclab/envs/utils/camera_view.py index ef20cc22cfa0..69f810b35bf6 100644 --- a/source/isaaclab/isaaclab/envs/utils/camera_view.py +++ b/source/isaaclab/isaaclab/envs/utils/camera_view.py @@ -19,9 +19,9 @@ from pxr import Sdf, UsdGeom -import isaaclab.sim as sim_utils -from isaaclab.sensors.camera import Camera, CameraCfg -from isaaclab.sim.views import FrameView +from ... import sim as sim_utils +from ...sensors.camera import Camera, CameraCfg +from ...sim.views import FrameView _log = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/envs/utils/io_descriptors.py b/source/isaaclab/isaaclab/envs/utils/io_descriptors.py index d0fc91790fd8..d660e5eb6d27 100644 --- a/source/isaaclab/isaaclab/envs/utils/io_descriptors.py +++ b/source/isaaclab/isaaclab/envs/utils/io_descriptors.py @@ -16,13 +16,13 @@ from collections.abc import Callable from typing import TYPE_CHECKING, Any, Concatenate, ParamSpec, TypeVar -from isaaclab.utils import configclass +from ...utils import configclass if TYPE_CHECKING: import torch - from isaaclab.assets.articulation import Articulation - from isaaclab.envs import ManagerBasedEnv + from ...assets.articulation import Articulation + from .. import ManagerBasedEnv import dataclasses import functools diff --git a/source/isaaclab/isaaclab/envs/utils/video_recorder.py b/source/isaaclab/isaaclab/envs/utils/video_recorder.py index dd669224bd58..5e0520ac0017 100644 --- a/source/isaaclab/isaaclab/envs/utils/video_recorder.py +++ b/source/isaaclab/isaaclab/envs/utils/video_recorder.py @@ -241,7 +241,7 @@ def _frame_from_visualizer(self, viz_type: str, sub: str) -> np.ndarray | None: return frame def _frame_from_sensor(self, name: str, gt_type: str = "rgb") -> np.ndarray | None: - from isaaclab.envs.utils.camera_colorizer import ( + from .camera_colorizer import ( SUPPORTED_GT_TYPES, CameraFrameColorizer, sensor_key_for_gt_type, diff --git a/source/isaaclab/isaaclab/envs/utils/video_recorder_cfg.py b/source/isaaclab/isaaclab/envs/utils/video_recorder_cfg.py index 61c7dd85ba7d..4785a1106158 100644 --- a/source/isaaclab/isaaclab/envs/utils/video_recorder_cfg.py +++ b/source/isaaclab/isaaclab/envs/utils/video_recorder_cfg.py @@ -7,7 +7,7 @@ from __future__ import annotations -from isaaclab.utils import configclass +from ...utils import configclass @configclass diff --git a/source/isaaclab/isaaclab/managers/__init__.py b/source/isaaclab/isaaclab/managers/__init__.py index 27043f480c44..dc588ca71aba 100644 --- a/source/isaaclab/isaaclab/managers/__init__.py +++ b/source/isaaclab/isaaclab/managers/__init__.py @@ -10,6 +10,6 @@ designed to be modular and can be easily extended to support new functionality. """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/managers/action_manager.py b/source/isaaclab/isaaclab/managers/action_manager.py index aeb3b47ffdac..aa2178d3a3dd 100644 --- a/source/isaaclab/isaaclab/managers/action_manager.py +++ b/source/isaaclab/isaaclab/managers/action_manager.py @@ -16,14 +16,13 @@ import torch from prettytable import PrettyTable -from isaaclab.envs.utils.io_descriptors import GenericActionIODescriptor, _warn_io_descriptors_deprecated - +from ..envs.utils.io_descriptors import GenericActionIODescriptor, _warn_io_descriptors_deprecated from .manager_base import ManagerBase, ManagerTermBase from .manager_term_cfg import ActionTermCfg if TYPE_CHECKING: - from isaaclab.assets import AssetBase - from isaaclab.envs import ManagerBasedEnv + from ..assets import AssetBase + from ..envs import ManagerBasedEnv class ActionTerm(ManagerTermBase): diff --git a/source/isaaclab/isaaclab/managers/command_manager.py b/source/isaaclab/isaaclab/managers/command_manager.py index 9493fc81fbcf..db8e7100fd67 100644 --- a/source/isaaclab/isaaclab/managers/command_manager.py +++ b/source/isaaclab/isaaclab/managers/command_manager.py @@ -19,7 +19,7 @@ from .manager_term_cfg import CommandTermCfg if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedRLEnv + from ..envs import ManagerBasedRLEnv class CommandTerm(ManagerTermBase): diff --git a/source/isaaclab/isaaclab/managers/curriculum_manager.py b/source/isaaclab/isaaclab/managers/curriculum_manager.py index ffd116bf5e75..056db32b6dee 100644 --- a/source/isaaclab/isaaclab/managers/curriculum_manager.py +++ b/source/isaaclab/isaaclab/managers/curriculum_manager.py @@ -17,7 +17,7 @@ from .manager_term_cfg import CurriculumTermCfg if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedRLEnv + from ..envs import ManagerBasedRLEnv class CurriculumManager(ManagerBase): diff --git a/source/isaaclab/isaaclab/managers/event_manager.py b/source/isaaclab/isaaclab/managers/event_manager.py index 843457021859..f4829aeca98d 100644 --- a/source/isaaclab/isaaclab/managers/event_manager.py +++ b/source/isaaclab/isaaclab/managers/event_manager.py @@ -19,7 +19,7 @@ from .manager_term_cfg import EventTermCfg if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv + from ..envs import ManagerBasedEnv # import logger logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/managers/manager_base.py b/source/isaaclab/isaaclab/managers/manager_base.py index eb93ddc7ba9f..2fcf405ae61f 100644 --- a/source/isaaclab/isaaclab/managers/manager_base.py +++ b/source/isaaclab/isaaclab/managers/manager_base.py @@ -13,16 +13,15 @@ from dataclasses import fields from typing import TYPE_CHECKING, Any -import isaaclab.utils.string as string_utils -from isaaclab.physics import PhysicsEvent, PhysicsManager -from isaaclab.utils import class_to_dict, string_to_callable -from isaaclab.utils.modifiers import ModifierCfg - +from ..physics import PhysicsEvent, PhysicsManager +from ..utils import class_to_dict, string_to_callable +from ..utils import string as string_utils +from ..utils.modifiers import ModifierCfg from .manager_term_cfg import ManagerTermBaseCfg from .scene_entity_cfg import SceneEntityCfg if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv + from ..envs import ManagerBasedEnv class ManagerTermBase(ABC): diff --git a/source/isaaclab/isaaclab/managers/manager_term_cfg.py b/source/isaaclab/isaaclab/managers/manager_term_cfg.py index 5408f7f215d4..bd0e003cf92e 100644 --- a/source/isaaclab/isaaclab/managers/manager_term_cfg.py +++ b/source/isaaclab/isaaclab/managers/manager_term_cfg.py @@ -13,10 +13,9 @@ import torch -from isaaclab.utils import configclass -from isaaclab.utils.modifiers import ModifierCfg -from isaaclab.utils.noise import NoiseCfg, NoiseModelCfg - +from ..utils import configclass +from ..utils.modifiers import ModifierCfg +from ..utils.noise import NoiseCfg, NoiseModelCfg from .scene_entity_cfg import SceneEntityCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/managers/observation_manager.py b/source/isaaclab/isaaclab/managers/observation_manager.py index 8fced59c3118..9fcc0fc79512 100644 --- a/source/isaaclab/isaaclab/managers/observation_manager.py +++ b/source/isaaclab/isaaclab/managers/observation_manager.py @@ -15,15 +15,14 @@ import torch from prettytable import PrettyTable -from isaaclab.envs.utils.io_descriptors import _warn_io_descriptors_deprecated -from isaaclab.utils import class_to_dict, modifiers, noise -from isaaclab.utils.buffers import CircularBuffer - +from ..envs.utils.io_descriptors import _warn_io_descriptors_deprecated +from ..utils import class_to_dict, modifiers, noise +from ..utils.buffers import CircularBuffer from .manager_base import ManagerBase, ManagerTermBase from .manager_term_cfg import ObservationGroupCfg, ObservationTermCfg if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv + from ..envs import ManagerBasedEnv class ObservationManager(ManagerBase): diff --git a/source/isaaclab/isaaclab/managers/recorder_manager.py b/source/isaaclab/isaaclab/managers/recorder_manager.py index 2e6ebf0b2446..efbf1c15bbf7 100644 --- a/source/isaaclab/isaaclab/managers/recorder_manager.py +++ b/source/isaaclab/isaaclab/managers/recorder_manager.py @@ -15,14 +15,13 @@ import warp as wp from prettytable import PrettyTable -from isaaclab.utils import configclass -from isaaclab.utils.datasets import EpisodeData, HDF5DatasetFileHandler - +from ..utils import configclass +from ..utils.datasets import EpisodeData, HDF5DatasetFileHandler from .manager_base import ManagerBase, ManagerTermBase from .manager_term_cfg import RecorderTermCfg if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv + from ..envs import ManagerBasedEnv class DatasetExportMode(enum.IntEnum): diff --git a/source/isaaclab/isaaclab/managers/reward_manager.py b/source/isaaclab/isaaclab/managers/reward_manager.py index d9c66a100a72..d822feb415f0 100644 --- a/source/isaaclab/isaaclab/managers/reward_manager.py +++ b/source/isaaclab/isaaclab/managers/reward_manager.py @@ -17,7 +17,7 @@ from .manager_term_cfg import RewardTermCfg if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedRLEnv + from ..envs import ManagerBasedRLEnv class RewardManager(ManagerBase): diff --git a/source/isaaclab/isaaclab/managers/scene_entity_cfg.py b/source/isaaclab/isaaclab/managers/scene_entity_cfg.py index 2fe118c2da26..9ccfcea0b5d4 100644 --- a/source/isaaclab/isaaclab/managers/scene_entity_cfg.py +++ b/source/isaaclab/isaaclab/managers/scene_entity_cfg.py @@ -10,11 +10,11 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.utils import configclass +from ..utils import configclass if TYPE_CHECKING: - from isaaclab.assets import Articulation, RigidObject, RigidObjectCollection - from isaaclab.scene import InteractiveScene + from ..assets import Articulation, RigidObject, RigidObjectCollection + from ..scene import InteractiveScene @configclass diff --git a/source/isaaclab/isaaclab/managers/termination_manager.py b/source/isaaclab/isaaclab/managers/termination_manager.py index 5d96a6803632..3410a3ed43cb 100644 --- a/source/isaaclab/isaaclab/managers/termination_manager.py +++ b/source/isaaclab/isaaclab/managers/termination_manager.py @@ -17,7 +17,7 @@ from .manager_term_cfg import TerminationTermCfg if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedRLEnv + from ..envs import ManagerBasedRLEnv class TerminationManager(ManagerBase): diff --git a/source/isaaclab/isaaclab/markers/__init__.py b/source/isaaclab/isaaclab/markers/__init__.py index 57eb4c791005..3777686b165a 100644 --- a/source/isaaclab/isaaclab/markers/__init__.py +++ b/source/isaaclab/isaaclab/markers/__init__.py @@ -21,6 +21,6 @@ """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/markers/config/__init__.py b/source/isaaclab/isaaclab/markers/config/__init__.py index 54713d65935d..09f01b639f6a 100644 --- a/source/isaaclab/isaaclab/markers/config/__init__.py +++ b/source/isaaclab/isaaclab/markers/config/__init__.py @@ -3,9 +3,9 @@ # # SPDX-License-Identifier: BSD-3-Clause -import isaaclab.sim as sim_utils -from isaaclab.markers.visualization_markers_cfg import VisualizationMarkersCfg -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR +from ... import sim as sim_utils +from ..visualization_markers_cfg import VisualizationMarkersCfg +from ...utils.assets import ISAAC_NUCLEUS_DIR ## # Sensors. diff --git a/source/isaaclab/isaaclab/markers/visualization_markers.py b/source/isaaclab/isaaclab/markers/visualization_markers.py index c6f7df4edbaa..84de291d7e37 100644 --- a/source/isaaclab/isaaclab/markers/visualization_markers.py +++ b/source/isaaclab/isaaclab/markers/visualization_markers.py @@ -19,8 +19,7 @@ import numpy as np import torch -import isaaclab.sim as sim_utils - +from .. import sim as sim_utils from .visualization_markers_cfg import VisualizationMarkersCfg logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/markers/visualization_markers_cfg.py b/source/isaaclab/isaaclab/markers/visualization_markers_cfg.py index c32ed3d1d454..07d0ba440811 100644 --- a/source/isaaclab/isaaclab/markers/visualization_markers_cfg.py +++ b/source/isaaclab/isaaclab/markers/visualization_markers_cfg.py @@ -10,11 +10,11 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.sim.spawners import SpawnerCfg -from isaaclab.utils import configclass +from ..sim.spawners import SpawnerCfg +from ..utils import configclass if TYPE_CHECKING: - from isaaclab.markers import VisualizationMarkers + from . import VisualizationMarkers @configclass diff --git a/source/isaaclab/isaaclab/physics/__init__.py b/source/isaaclab/isaaclab/physics/__init__.py index 7254081c805a..3d5d77c6c586 100644 --- a/source/isaaclab/isaaclab/physics/__init__.py +++ b/source/isaaclab/isaaclab/physics/__init__.py @@ -5,6 +5,6 @@ """Implementation backends for simulation interfaces.""" -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/physics/physics_manager.py b/source/isaaclab/isaaclab/physics/physics_manager.py index 631daca21166..a0f38eccbb9d 100644 --- a/source/isaaclab/isaaclab/physics/physics_manager.py +++ b/source/isaaclab/isaaclab/physics/physics_manager.py @@ -14,11 +14,11 @@ from enum import Enum from typing import TYPE_CHECKING, Any, ClassVar -from isaaclab.sim.utils.stage import get_current_stage +from ..sim.utils.stage import get_current_stage if TYPE_CHECKING: - from isaaclab.scene_data import SceneDataBackend - from isaaclab.sim.simulation_context import SimulationContext + from ..scene_data import SceneDataBackend + from ..sim.simulation_context import SimulationContext logger = logging.getLogger(__name__) @@ -123,8 +123,8 @@ def fix_articulation_root(cls, articulation_prim: Any, stage: Any = None) -> Any # managers.manager_base before the simulation app starts. from pxr import UsdPhysics # noqa: PLC0415 - from isaaclab.sim.schemas.schemas import create_world_fixed_joint # noqa: PLC0415 - from isaaclab.sim.utils import find_global_fixed_joint_prim # noqa: PLC0415 + from ..sim.schemas.schemas import create_world_fixed_joint # noqa: PLC0415 + from ..sim.utils import find_global_fixed_joint_prim # noqa: PLC0415 if stage is None: stage = get_current_stage() @@ -158,7 +158,7 @@ def _relocate_articulation_root( ) # Keep this import local for the same reason as the pxr imports above. - from isaaclab.sim.schemas._backend_hooks import _articulation_root_companion_namespace # noqa: PLC0415 + from ..sim.schemas._backend_hooks import _articulation_root_companion_namespace # noqa: PLC0415 registry = Usd.SchemaRegistry() root_schema = UsdPhysics.Tokens.PhysicsArticulationRootAPI diff --git a/source/isaaclab/isaaclab/physics/physics_manager_cfg.py b/source/isaaclab/isaaclab/physics/physics_manager_cfg.py index 176160e42d8f..60249f14cda3 100644 --- a/source/isaaclab/isaaclab/physics/physics_manager_cfg.py +++ b/source/isaaclab/isaaclab/physics/physics_manager_cfg.py @@ -10,7 +10,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Any -from isaaclab.utils import configclass +from ..utils import configclass if TYPE_CHECKING: from isaaclab_ov.physics import OvPhysxCfg diff --git a/source/isaaclab/isaaclab/renderers/__init__.py b/source/isaaclab/isaaclab/renderers/__init__.py index a60aa0496794..834d862587a9 100644 --- a/source/isaaclab/isaaclab/renderers/__init__.py +++ b/source/isaaclab/isaaclab/renderers/__init__.py @@ -9,6 +9,6 @@ different renderer backends that can be used with Isaac Lab. """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/renderers/base_renderer.py b/source/isaaclab/isaaclab/renderers/base_renderer.py index af9e88991926..2f81f5538763 100644 --- a/source/isaaclab/isaaclab/renderers/base_renderer.py +++ b/source/isaaclab/isaaclab/renderers/base_renderer.py @@ -20,8 +20,8 @@ import torch import warp as wp - from isaaclab.sensors.camera.camera_data import CameraData - from isaaclab.utils.warp import ProxyArray + from ..sensors.camera.camera_data import CameraData + from ..utils.warp import ProxyArray @dataclass(frozen=True) diff --git a/source/isaaclab/isaaclab/renderers/camera_render_spec.py b/source/isaaclab/isaaclab/renderers/camera_render_spec.py index 526b90121713..9797c97baa61 100644 --- a/source/isaaclab/isaaclab/renderers/camera_render_spec.py +++ b/source/isaaclab/isaaclab/renderers/camera_render_spec.py @@ -9,7 +9,7 @@ from dataclasses import dataclass -from isaaclab.sensors.camera.camera_cfg import CameraCfg +from ..sensors.camera.camera_cfg import CameraCfg @dataclass(frozen=True) diff --git a/source/isaaclab/isaaclab/renderers/render_context.py b/source/isaaclab/isaaclab/renderers/render_context.py index eb7a942b6501..3b544122f52a 100644 --- a/source/isaaclab/isaaclab/renderers/render_context.py +++ b/source/isaaclab/isaaclab/renderers/render_context.py @@ -14,13 +14,12 @@ import torch import warp as wp -from isaaclab.sensors.camera.camera_data import CameraData - +from ..sensors.camera.camera_data import CameraData from .base_renderer import BaseRenderer, VisualMaterialBatch from .renderer_cfg import RendererCfg if TYPE_CHECKING: - from isaaclab.sim import BackendCfg + from ..sim import BackendCfg logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/renderers/renderer_cfg.py b/source/isaaclab/isaaclab/renderers/renderer_cfg.py index 2045c6c2f7aa..2ba9d495018d 100644 --- a/source/isaaclab/isaaclab/renderers/renderer_cfg.py +++ b/source/isaaclab/isaaclab/renderers/renderer_cfg.py @@ -9,9 +9,8 @@ from typing import TYPE_CHECKING -from isaaclab.sim.simulation_cfg import BackendCfg -from isaaclab.utils import configclass - +from ..sim.simulation_cfg import BackendCfg +from ..utils import configclass from .output_contract import RenderBufferKind, RenderBufferSpec if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/scene/__init__.py b/source/isaaclab/isaaclab/scene/__init__.py index 3c05d53e1517..ec73ed7feece 100644 --- a/source/isaaclab/isaaclab/scene/__init__.py +++ b/source/isaaclab/isaaclab/scene/__init__.py @@ -25,6 +25,6 @@ :mod:`isaaclab.managers` sub-package for more details. """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/scene/interactive_scene.py b/source/isaaclab/isaaclab/scene/interactive_scene.py index 6812c8b971cc..23b52d5ad3ab 100644 --- a/source/isaaclab/isaaclab/scene/interactive_scene.py +++ b/source/isaaclab/isaaclab/scene/interactive_scene.py @@ -15,14 +15,18 @@ if TYPE_CHECKING: from isaaclab_physx.assets import SurfaceGripper - from isaaclab.terrains.terrain_importer import TerrainImporter + from ..terrains.terrain_importer import TerrainImporter import torch import warp as wp -import isaaclab.sim as sim_utils -from isaaclab import cloner -from isaaclab.assets import ( +# Note: This is a temporary import for the VisuoTactileSensorCfg class. +# It will be removed once the VisuoTactileSensor class is added to the core Isaac Lab framework. +from isaaclab_contrib.sensors.tacsl_sensor import VisuoTactileSensorCfg + +from .. import cloner +from .. import sim as sim_utils +from ..assets import ( Articulation, ArticulationCfg, Asset, @@ -38,15 +42,10 @@ VisualMaterial, VisualMaterialCfg, ) -from isaaclab.markers import VisualizationMarkers, VisualizationMarkersCfg -from isaaclab.sensors import CameraCfg, ContactSensorCfg, FrameTransformerCfg, RayCasterCfg, SensorBase, SensorBaseCfg -from isaaclab.sim import SimulationContext -from isaaclab.sim.utils.stage import get_current_stage, get_current_stage_id - -# Note: This is a temporary import for the VisuoTactileSensorCfg class. -# It will be removed once the VisuoTactileSensor class is added to the core Isaac Lab framework. -from isaaclab_contrib.sensors.tacsl_sensor import VisuoTactileSensorCfg - +from ..markers import VisualizationMarkers, VisualizationMarkersCfg +from ..sensors import CameraCfg, ContactSensorCfg, FrameTransformerCfg, RayCasterCfg, SensorBase, SensorBaseCfg +from ..sim import SimulationContext +from ..sim.utils.stage import get_current_stage, get_current_stage_id from .interactive_scene_cfg import InteractiveSceneCfg if TYPE_CHECKING: @@ -775,7 +774,7 @@ def _add_entities_from_cfg(self): # noqa: C901 """Add scene entities from the config.""" from isaaclab_physx.assets import SurfaceGripperCfg # noqa: PLC0415 - from isaaclab.terrains.terrain_importer_cfg import TerrainImporterCfg # noqa: PLC0415 + from ..terrains.terrain_importer_cfg import TerrainImporterCfg # noqa: PLC0415 # store paths that are in global collision filter self._global_prim_paths = list() diff --git a/source/isaaclab/isaaclab/scene/interactive_scene_cfg.py b/source/isaaclab/isaaclab/scene/interactive_scene_cfg.py index dd7e3c837910..ada89d239a7e 100644 --- a/source/isaaclab/isaaclab/scene/interactive_scene_cfg.py +++ b/source/isaaclab/isaaclab/scene/interactive_scene_cfg.py @@ -9,13 +9,12 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.cloner import CloneCfg, InclusionSet -from isaaclab.cloner import add as clone_add -from isaaclab.utils import configclass, find_unique_string_name +from ..cloner import CloneCfg, InclusionSet +from ..cloner import add as clone_add +from ..utils import configclass, find_unique_string_name if TYPE_CHECKING: - from isaaclab.assets import AssetBaseCfg - + from ..assets import AssetBaseCfg from .interactive_scene import InteractiveScene @@ -231,7 +230,7 @@ def _scene_assets( """List the environment-scoped spawned assets of one scene.""" # Deferred: config construction must stay importable without isaaclab.assets # (kitless factories); only scene composition pays for it. - from isaaclab.assets import AssetBaseCfg # noqa: PLC0415 + from ..assets import AssetBaseCfg # noqa: PLC0415 env_root = "{ENV_REGEX_NS}/" base_fields, assets = InteractiveSceneCfg.__dataclass_fields__, [] diff --git a/source/isaaclab/isaaclab/scene_data/__init__.py b/source/isaaclab/isaaclab/scene_data/__init__.py index 9e3eaa88579f..4e0ccf0dc08a 100644 --- a/source/isaaclab/isaaclab/scene_data/__init__.py +++ b/source/isaaclab/isaaclab/scene_data/__init__.py @@ -17,6 +17,6 @@ ``AppLauncher`` pre-launch import chain. """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/scene_data/deformable_discovery.py b/source/isaaclab/isaaclab/scene_data/deformable_discovery.py index ccfbe929c520..dff12b51b03d 100644 --- a/source/isaaclab/isaaclab/scene_data/deformable_discovery.py +++ b/source/isaaclab/isaaclab/scene_data/deformable_discovery.py @@ -17,7 +17,7 @@ from pxr import Gf, Sdf, Usd, UsdGeom -import isaaclab.sim as sim_utils +from .. import sim as sim_utils logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/sensors/__init__.py b/source/isaaclab/isaaclab/sensors/__init__.py index fa578a2677d0..7bf57dcb0fed 100644 --- a/source/isaaclab/isaaclab/sensors/__init__.py +++ b/source/isaaclab/isaaclab/sensors/__init__.py @@ -39,6 +39,6 @@ """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sensors/camera/__init__.py b/source/isaaclab/isaaclab/sensors/camera/__init__.py index 8c863ac2d227..5b08af82c585 100644 --- a/source/isaaclab/isaaclab/sensors/camera/__init__.py +++ b/source/isaaclab/isaaclab/sensors/camera/__init__.py @@ -5,6 +5,6 @@ """Sub-module for camera wrapper around USD camera prim.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sensors/camera/camera.py b/source/isaaclab/isaaclab/sensors/camera/camera.py index 8827c80b38e2..f817a82640d4 100644 --- a/source/isaaclab/isaaclab/sensors/camera/camera.py +++ b/source/isaaclab/isaaclab/sensors/camera/camera.py @@ -16,17 +16,16 @@ from pxr import Usd, UsdGeom, UsdPhysics -import isaaclab.sim as sim_utils -from isaaclab.app.logging_utils import force_log_level -from isaaclab.renderers import BaseRenderer, CameraRenderSpec -from isaaclab.sim.views import FrameView -from isaaclab.utils.math import ( +from ... import sim as sim_utils +from ...app.logging_utils import force_log_level +from ...renderers import BaseRenderer, CameraRenderSpec +from ...sim.views import FrameView +from ...utils.math import ( convert_camera_frame_orientation_convention, create_rotation_matrix_from_view, quat_from_matrix, ) -from isaaclab.utils.warp import ProxyArray - +from ...utils.warp import ProxyArray from ..sensor_base import SensorBase from .camera_data import CameraData, RenderBufferKind @@ -259,7 +258,7 @@ def __init__(self, cfg: CameraCfg): # and several env classes read it before the renderer's __init__ runs. renderer_type = getattr(self.cfg.renderer_cfg, "renderer_type", None) if renderer_type == "isaac_rtx": - from isaaclab.app.settings_manager import get_settings_manager + from ...app.settings_manager import get_settings_manager settings = get_settings_manager() settings.set_bool("/isaaclab/render/rtx_sensors", True) @@ -267,7 +266,7 @@ def __init__(self, cfg: CameraCfg): if require_hdr_output: settings.set_bool("/rtx/rtpt/gaussian/skipTonemapping/enabled", False) elif renderer_type == "ovrtx" and require_hdr_output: - from isaaclab.app.settings_manager import get_settings_manager + from ...app.settings_manager import get_settings_manager get_settings_manager().set_bool("/rtx/rtpt/gaussian/skipTonemapping/enabled", False) # FIXME: settings set_bool is a no-op for ovrtx diff --git a/source/isaaclab/isaaclab/sensors/camera/camera_cfg.py b/source/isaaclab/isaaclab/sensors/camera/camera_cfg.py index ff1196f1c437..e52396484d34 100644 --- a/source/isaaclab/isaaclab/sensors/camera/camera_cfg.py +++ b/source/isaaclab/isaaclab/sensors/camera/camera_cfg.py @@ -9,10 +9,9 @@ from dataclasses import MISSING, field from typing import TYPE_CHECKING, Any, Literal -from isaaclab.renderers import RendererCfg -from isaaclab.sim import FisheyeCameraCfg, PinholeCameraCfg -from isaaclab.utils import configclass - +from ...renderers import RendererCfg +from ...sim import FisheyeCameraCfg, PinholeCameraCfg +from ...utils import configclass from ..sensor_base_cfg import SensorBaseCfg from .camera_isp import CameraISPMode @@ -232,7 +231,7 @@ def __post_init__(self): """ renderer_type = getattr(self.renderer_cfg, "renderer_type", None) if renderer_type == "default": - from isaaclab.utils.backend_utils import get_default_renderer_cfg + from ...utils.backend_utils import get_default_renderer_cfg self.renderer_cfg = get_default_renderer_cfg() # Forwarded by name: any same-named field on ``renderer_cfg`` will receive the value. diff --git a/source/isaaclab/isaaclab/sensors/camera/camera_data.py b/source/isaaclab/isaaclab/sensors/camera/camera_data.py index aa31ebb69e04..2f6da47efc4b 100644 --- a/source/isaaclab/isaaclab/sensors/camera/camera_data.py +++ b/source/isaaclab/isaaclab/sensors/camera/camera_data.py @@ -10,9 +10,9 @@ import warp as wp # Re-exported as part of the public isaaclab.sensors.camera API -from isaaclab.renderers.output_contract import RenderBufferKind, RenderBufferSpec -from isaaclab.utils.warp import ProxyArray -from isaaclab.utils.warp.warp_math import convert_camera_frame_orientation_convention_wp +from ...renderers.output_contract import RenderBufferKind, RenderBufferSpec +from ...utils.warp import ProxyArray +from ...utils.warp.warp_math import convert_camera_frame_orientation_convention_wp __all__ = ["CameraData", "RenderBufferKind", "RenderBufferSpec"] diff --git a/source/isaaclab/isaaclab/sensors/camera/tiled_camera_cfg.py b/source/isaaclab/isaaclab/sensors/camera/tiled_camera_cfg.py index 856f9de17a59..a2017fe60ac6 100644 --- a/source/isaaclab/isaaclab/sensors/camera/tiled_camera_cfg.py +++ b/source/isaaclab/isaaclab/sensors/camera/tiled_camera_cfg.py @@ -6,8 +6,7 @@ import warnings from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from .camera_cfg import CameraCfg if TYPE_CHECKING: @@ -29,7 +28,7 @@ class TiledCameraCfg(CameraCfg): def __post_init__(self): renderer_type = getattr(self.renderer_cfg, "renderer_type", None) if renderer_type == "default": - from isaaclab.utils.backend_utils import get_default_renderer_cfg + from ...utils.backend_utils import get_default_renderer_cfg self.renderer_cfg = get_default_renderer_cfg() warnings.warn( diff --git a/source/isaaclab/isaaclab/sensors/camera/utils.py b/source/isaaclab/isaaclab/sensors/camera/utils.py index f7e6920217a1..5870f4743282 100644 --- a/source/isaaclab/isaaclab/sensors/camera/utils.py +++ b/source/isaaclab/isaaclab/sensors/camera/utils.py @@ -14,8 +14,8 @@ import torch import warp as wp -import isaaclab.utils.math as math_utils -from isaaclab.utils.array import TensorData, convert_to_torch +from ...utils import math as math_utils +from ...utils.array import TensorData, convert_to_torch """ Depth <-> Pointcloud conversions. diff --git a/source/isaaclab/isaaclab/sensors/contact_sensor/__init__.py b/source/isaaclab/isaaclab/sensors/contact_sensor/__init__.py index c0700077e6df..e308ae474466 100644 --- a/source/isaaclab/isaaclab/sensors/contact_sensor/__init__.py +++ b/source/isaaclab/isaaclab/sensors/contact_sensor/__init__.py @@ -5,6 +5,6 @@ """Sub-module for rigid contact sensor.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sensors/contact_sensor/base_contact_sensor.py b/source/isaaclab/isaaclab/sensors/contact_sensor/base_contact_sensor.py index 34000f62f7f6..99f671fcf185 100644 --- a/source/isaaclab/isaaclab/sensors/contact_sensor/base_contact_sensor.py +++ b/source/isaaclab/isaaclab/sensors/contact_sensor/base_contact_sensor.py @@ -12,9 +12,8 @@ import warp as wp -import isaaclab.utils.string as string_utils -from isaaclab.utils.warp import ProxyArray - +from ...utils import string as string_utils +from ...utils.warp import ProxyArray from ..sensor_base import SensorBase from .base_contact_sensor_data import BaseContactSensorData diff --git a/source/isaaclab/isaaclab/sensors/contact_sensor/base_contact_sensor_data.py b/source/isaaclab/isaaclab/sensors/contact_sensor/base_contact_sensor_data.py index 18d84e0e3740..99df29e124e9 100644 --- a/source/isaaclab/isaaclab/sensors/contact_sensor/base_contact_sensor_data.py +++ b/source/isaaclab/isaaclab/sensors/contact_sensor/base_contact_sensor_data.py @@ -10,14 +10,14 @@ import warnings from abc import ABC, abstractmethod -from isaaclab.utils.leapp import ( +from ...utils.leapp import ( POSE7_ELEMENT_NAMES, QUAT_XYZW_ELEMENT_NAMES, XYZ_ELEMENT_NAMES, InputKindEnum, leapp_tensor_semantics, ) -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray class BaseContactSensorData(ABC): diff --git a/source/isaaclab/isaaclab/sensors/contact_sensor/contact_force_marker.py b/source/isaaclab/isaaclab/sensors/contact_sensor/contact_force_marker.py index 531928f03ad2..992a81b45397 100644 --- a/source/isaaclab/isaaclab/sensors/contact_sensor/contact_force_marker.py +++ b/source/isaaclab/isaaclab/sensors/contact_sensor/contact_force_marker.py @@ -9,7 +9,7 @@ import torch -from isaaclab.markers import VisualizationMarkers, VisualizationMarkersCfg +from ...markers import VisualizationMarkers, VisualizationMarkersCfg class ContactForceVisualizer: diff --git a/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor.py b/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor.py index 29e2ff58ed60..84cc93a5d063 100644 --- a/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor.py +++ b/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_contact_sensor import BaseContactSensor from .base_contact_sensor_data import BaseContactSensorData diff --git a/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor_cfg.py b/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor_cfg.py index ce4fe2eb7662..669bc55217a4 100644 --- a/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor_cfg.py +++ b/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor_cfg.py @@ -5,15 +5,13 @@ from typing import TYPE_CHECKING, cast -from isaaclab.markers import VisualizationMarkersCfg -from isaaclab.markers.config import BLUE_ARROW_X_MARKER_CFG, CONTACT_SENSOR_MARKER_CFG, RED_ARROW_X_MARKER_CFG -from isaaclab.utils import configclass - +from ...markers import VisualizationMarkersCfg +from ...markers.config import BLUE_ARROW_X_MARKER_CFG, CONTACT_SENSOR_MARKER_CFG, RED_ARROW_X_MARKER_CFG +from ...utils import configclass from ..sensor_base_cfg import SensorBaseCfg if TYPE_CHECKING: - from isaaclab.sim.spawners.from_files.from_files_cfg import UsdFileCfg - + from ...sim.spawners.from_files.from_files_cfg import UsdFileCfg from .contact_sensor import ContactSensor diff --git a/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor_data.py b/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor_data.py index 0ca31f9e40ac..9e1225ebc48a 100644 --- a/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor_data.py +++ b/source/isaaclab/isaaclab/sensors/contact_sensor/contact_sensor_data.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_contact_sensor_data import BaseContactSensorData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/frame_transformer/__init__.py b/source/isaaclab/isaaclab/sensors/frame_transformer/__init__.py index 7ee00d2772eb..eeab0361eed3 100644 --- a/source/isaaclab/isaaclab/sensors/frame_transformer/__init__.py +++ b/source/isaaclab/isaaclab/sensors/frame_transformer/__init__.py @@ -5,6 +5,6 @@ """Sub-module for frame transformer sensor.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sensors/frame_transformer/base_frame_transformer.py b/source/isaaclab/isaaclab/sensors/frame_transformer/base_frame_transformer.py index 53770029c4fe..5a1015a5b827 100644 --- a/source/isaaclab/isaaclab/sensors/frame_transformer/base_frame_transformer.py +++ b/source/isaaclab/isaaclab/sensors/frame_transformer/base_frame_transformer.py @@ -11,8 +11,7 @@ import warp as wp -import isaaclab.utils.string as string_utils - +from ...utils import string as string_utils from ..sensor_base import SensorBase from .base_frame_transformer_data import BaseFrameTransformerData diff --git a/source/isaaclab/isaaclab/sensors/frame_transformer/base_frame_transformer_data.py b/source/isaaclab/isaaclab/sensors/frame_transformer/base_frame_transformer_data.py index 286af6e84ea3..40ef93aa72f2 100644 --- a/source/isaaclab/isaaclab/sensors/frame_transformer/base_frame_transformer_data.py +++ b/source/isaaclab/isaaclab/sensors/frame_transformer/base_frame_transformer_data.py @@ -9,7 +9,7 @@ from abc import ABC, abstractmethod -from isaaclab.utils.leapp import ( +from ...utils.leapp import ( POSE7_ELEMENT_NAMES, QUAT_XYZW_ELEMENT_NAMES, XYZ_ELEMENT_NAMES, @@ -19,7 +19,7 @@ target_frame_quat_resolver, target_frame_xyz_resolver, ) -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray class BaseFrameTransformerData(ABC): diff --git a/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer.py b/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer.py index e648f4be2067..46ece1a774e2 100644 --- a/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer.py +++ b/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_frame_transformer import BaseFrameTransformer from .base_frame_transformer_data import BaseFrameTransformerData diff --git a/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer_cfg.py b/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer_cfg.py index b41c7d6d5f0d..b6dfe388c611 100644 --- a/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer_cfg.py +++ b/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer_cfg.py @@ -8,9 +8,8 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.markers.config import FRAME_MARKER_CFG, VisualizationMarkersCfg -from isaaclab.utils import configclass - +from ...markers.config import FRAME_MARKER_CFG, VisualizationMarkersCfg +from ...utils import configclass from ..sensor_base_cfg import SensorBaseCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer_data.py b/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer_data.py index f6b28faea395..35006280af69 100644 --- a/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer_data.py +++ b/source/isaaclab/isaaclab/sensors/frame_transformer/frame_transformer_data.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_frame_transformer_data import BaseFrameTransformerData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/imu/__init__.py b/source/isaaclab/isaaclab/sensors/imu/__init__.py index 6236162c439f..8fdb50f846c1 100644 --- a/source/isaaclab/isaaclab/sensors/imu/__init__.py +++ b/source/isaaclab/isaaclab/sensors/imu/__init__.py @@ -7,6 +7,6 @@ Imu Sensor """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sensors/imu/base_imu_data.py b/source/isaaclab/isaaclab/sensors/imu/base_imu_data.py index 039d5dd60f64..1d8ef2050bce 100644 --- a/source/isaaclab/isaaclab/sensors/imu/base_imu_data.py +++ b/source/isaaclab/isaaclab/sensors/imu/base_imu_data.py @@ -9,12 +9,12 @@ from abc import ABC, abstractmethod -from isaaclab.utils.leapp import ( +from ...utils.leapp import ( XYZ_ELEMENT_NAMES, InputKindEnum, leapp_tensor_semantics, ) -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray class BaseImuData(ABC): diff --git a/source/isaaclab/isaaclab/sensors/imu/imu.py b/source/isaaclab/isaaclab/sensors/imu/imu.py index 4951867fb0b0..451e0c75f51d 100644 --- a/source/isaaclab/isaaclab/sensors/imu/imu.py +++ b/source/isaaclab/isaaclab/sensors/imu/imu.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_imu import BaseImu from .base_imu_data import BaseImuData diff --git a/source/isaaclab/isaaclab/sensors/imu/imu_cfg.py b/source/isaaclab/isaaclab/sensors/imu/imu_cfg.py index a095c7f27642..ed2a257ecfef 100644 --- a/source/isaaclab/isaaclab/sensors/imu/imu_cfg.py +++ b/source/isaaclab/isaaclab/sensors/imu/imu_cfg.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from ..sensor_base_cfg import SensorBaseCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/imu/imu_data.py b/source/isaaclab/isaaclab/sensors/imu/imu_data.py index f23f2a3be6ca..acfc98f9e6d5 100644 --- a/source/isaaclab/isaaclab/sensors/imu/imu_data.py +++ b/source/isaaclab/isaaclab/sensors/imu/imu_data.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_imu_data import BaseImuData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/joint_wrench/__init__.py b/source/isaaclab/isaaclab/sensors/joint_wrench/__init__.py index aae021e8e98d..838c7d5a8b01 100644 --- a/source/isaaclab/isaaclab/sensors/joint_wrench/__init__.py +++ b/source/isaaclab/isaaclab/sensors/joint_wrench/__init__.py @@ -5,6 +5,6 @@ """Joint Wrench Sensor.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sensors/joint_wrench/base_joint_wrench_sensor.py b/source/isaaclab/isaaclab/sensors/joint_wrench/base_joint_wrench_sensor.py index 5ed4e0382bbe..8d657453a08f 100644 --- a/source/isaaclab/isaaclab/sensors/joint_wrench/base_joint_wrench_sensor.py +++ b/source/isaaclab/isaaclab/sensors/joint_wrench/base_joint_wrench_sensor.py @@ -11,8 +11,7 @@ import warp as wp -import isaaclab.utils.string as string_utils - +from ...utils import string as string_utils from ..sensor_base import SensorBase from .base_joint_wrench_sensor_data import BaseJointWrenchSensorData diff --git a/source/isaaclab/isaaclab/sensors/joint_wrench/base_joint_wrench_sensor_data.py b/source/isaaclab/isaaclab/sensors/joint_wrench/base_joint_wrench_sensor_data.py index 282021a36784..589595a83175 100644 --- a/source/isaaclab/isaaclab/sensors/joint_wrench/base_joint_wrench_sensor_data.py +++ b/source/isaaclab/isaaclab/sensors/joint_wrench/base_joint_wrench_sensor_data.py @@ -9,7 +9,7 @@ from abc import ABC, abstractmethod -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray class BaseJointWrenchSensorData(ABC): diff --git a/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor.py b/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor.py index 9a46d6a11cf3..f1d4d1ffddf4 100644 --- a/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor.py +++ b/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_joint_wrench_sensor import BaseJointWrenchSensor from .base_joint_wrench_sensor_data import BaseJointWrenchSensorData diff --git a/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor_cfg.py b/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor_cfg.py index 4bdb0ab74f06..a805025e6055 100644 --- a/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor_cfg.py +++ b/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor_cfg.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING, Literal -from isaaclab.utils import configclass - +from ...utils import configclass from ..sensor_base_cfg import SensorBaseCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor_data.py b/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor_data.py index 8ee431477427..a674cfeadabc 100644 --- a/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor_data.py +++ b/source/isaaclab/isaaclab/sensors/joint_wrench/joint_wrench_sensor_data.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_joint_wrench_sensor_data import BaseJointWrenchSensorData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/pva/__init__.py b/source/isaaclab/isaaclab/sensors/pva/__init__.py index 281802f26a76..1f07e0871db5 100644 --- a/source/isaaclab/isaaclab/sensors/pva/__init__.py +++ b/source/isaaclab/isaaclab/sensors/pva/__init__.py @@ -7,6 +7,6 @@ PVA Sensor """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sensors/pva/base_pva_data.py b/source/isaaclab/isaaclab/sensors/pva/base_pva_data.py index 07fcab62b0b6..42cac55f42f2 100644 --- a/source/isaaclab/isaaclab/sensors/pva/base_pva_data.py +++ b/source/isaaclab/isaaclab/sensors/pva/base_pva_data.py @@ -9,14 +9,14 @@ from abc import ABC, abstractmethod -from isaaclab.utils.leapp import ( +from ...utils.leapp import ( POSE7_ELEMENT_NAMES, QUAT_XYZW_ELEMENT_NAMES, XYZ_ELEMENT_NAMES, InputKindEnum, leapp_tensor_semantics, ) -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray class BasePvaData(ABC): diff --git a/source/isaaclab/isaaclab/sensors/pva/pva.py b/source/isaaclab/isaaclab/sensors/pva/pva.py index e65e5d9bdb8b..b36f58238477 100644 --- a/source/isaaclab/isaaclab/sensors/pva/pva.py +++ b/source/isaaclab/isaaclab/sensors/pva/pva.py @@ -7,8 +7,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_pva import BasePva from .base_pva_data import BasePvaData diff --git a/source/isaaclab/isaaclab/sensors/pva/pva_cfg.py b/source/isaaclab/isaaclab/sensors/pva/pva_cfg.py index 38f3d627608a..b058fc39d821 100644 --- a/source/isaaclab/isaaclab/sensors/pva/pva_cfg.py +++ b/source/isaaclab/isaaclab/sensors/pva/pva_cfg.py @@ -7,10 +7,9 @@ from typing import TYPE_CHECKING -from isaaclab.markers import VisualizationMarkersCfg -from isaaclab.markers.config import RED_ARROW_X_MARKER_CFG -from isaaclab.utils import configclass - +from ...markers import VisualizationMarkersCfg +from ...markers.config import RED_ARROW_X_MARKER_CFG +from ...utils import configclass from ..sensor_base_cfg import SensorBaseCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/pva/pva_data.py b/source/isaaclab/isaaclab/sensors/pva/pva_data.py index e1a614772a18..52fb425d0a14 100644 --- a/source/isaaclab/isaaclab/sensors/pva/pva_data.py +++ b/source/isaaclab/isaaclab/sensors/pva/pva_data.py @@ -9,8 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_pva_data import BasePvaData if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/__init__.py b/source/isaaclab/isaaclab/sensors/ray_caster/__init__.py index 9bf9b4e84653..a408523cd90a 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/__init__.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/__init__.py @@ -15,6 +15,6 @@ the same ray-casting operations as the sensor implementations, but return the results as images. """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/base_multi_mesh_ray_caster.py b/source/isaaclab/isaaclab/sensors/ray_caster/base_multi_mesh_ray_caster.py index ac058c22e6d0..fb464e145742 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/base_multi_mesh_ray_caster.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/base_multi_mesh_ray_caster.py @@ -15,20 +15,18 @@ from pxr import Usd, UsdPhysics -import isaaclab.sim as sim_utils -from isaaclab import cloner -from isaaclab.sim.simulation_context import SimulationContext -from isaaclab.utils.mesh import PRIMITIVE_MESH_TYPES, create_trimesh_from_geom_mesh, create_trimesh_from_geom_shape -from isaaclab.utils.warp import ProxyArray, convert_to_warp_mesh -from isaaclab.utils.warp import kernels as warp_kernels - +from ... import cloner +from ... import sim as sim_utils +from ...sim.simulation_context import SimulationContext +from ...utils.mesh import PRIMITIVE_MESH_TYPES, create_trimesh_from_geom_mesh, create_trimesh_from_geom_shape +from ...utils.warp import ProxyArray, convert_to_warp_mesh +from ...utils.warp import kernels as warp_kernels from .base_ray_caster import BaseRayCaster from .kernels import copy_mesh_poses_to_table_kernel, fill_ray_hits_distance_inf_kernel from .multi_mesh_ray_caster_data import MultiMeshRayCasterData if TYPE_CHECKING: - from isaaclab.cloner import ClonePlan - + from ...cloner import ClonePlan from .multi_mesh_ray_caster_cfg import MultiMeshRayCasterCfg logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/base_multi_mesh_ray_caster_camera.py b/source/isaaclab/isaaclab/sensors/ray_caster/base_multi_mesh_ray_caster_camera.py index cc9f660edc62..a32f6723d5a2 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/base_multi_mesh_ray_caster_camera.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/base_multi_mesh_ray_caster_camera.py @@ -9,9 +9,8 @@ import warp as wp -from isaaclab.utils.warp import ProxyArray -from isaaclab.utils.warp import kernels as warp_kernels - +from ...utils.warp import ProxyArray +from ...utils.warp import kernels as warp_kernels from . import kernels as ray_caster_kernels from .base_multi_mesh_ray_caster import BaseMultiMeshRayCaster from .base_ray_caster_camera import BaseRayCasterCamera diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/base_ray_caster.py b/source/isaaclab/isaaclab/sensors/ray_caster/base_ray_caster.py index b9b6aa8b7bc6..595ab4392c77 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/base_ray_caster.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/base_ray_caster.py @@ -15,13 +15,12 @@ from pxr import Gf, Usd, UsdGeom -import isaaclab.sim as sim_utils -import isaaclab.utils.math as math_utils -from isaaclab.markers import VisualizationMarkers -from isaaclab.terrains.trimesh.utils import make_plane -from isaaclab.utils.warp import ProxyArray, convert_to_warp_mesh -from isaaclab.utils.warp.kernels import raycast_mesh_masked_kernel - +from ... import sim as sim_utils +from ...markers import VisualizationMarkers +from ...terrains.trimesh.utils import make_plane +from ...utils import math as math_utils +from ...utils.warp import ProxyArray, convert_to_warp_mesh +from ...utils.warp.kernels import raycast_mesh_masked_kernel from ..sensor_base import SensorBase from . import kernels as ray_caster_kernels from .ray_caster_data import RayCasterData diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/base_ray_caster_camera.py b/source/isaaclab/isaaclab/sensors/ray_caster/base_ray_caster_camera.py index 0931dc2613b5..2fdf44222f14 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/base_ray_caster_camera.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/base_ray_caster_camera.py @@ -14,11 +14,10 @@ from pxr import UsdGeom -import isaaclab.utils.math as math_utils -from isaaclab.sensors.camera import CameraData -from isaaclab.utils.warp import ProxyArray -from isaaclab.utils.warp.kernels import raycast_mesh_masked_kernel - +from ...utils import math as math_utils +from ...utils.warp import ProxyArray +from ...utils.warp.kernels import raycast_mesh_masked_kernel +from ..camera import CameraData from ..sensor_base import SensorBase from . import kernels as ray_caster_kernels from .base_ray_caster import BaseRayCaster diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster.py b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster.py index 000cadb1351d..9affec5c610e 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster.py @@ -5,8 +5,7 @@ from __future__ import annotations -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_multi_mesh_ray_caster import BaseMultiMeshRayCaster diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera.py b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera.py index 44c0fc24a334..a4e29499bf7b 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera.py @@ -5,8 +5,7 @@ from __future__ import annotations -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_multi_mesh_ray_caster_camera import BaseMultiMeshRayCasterCamera diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera_cfg.py b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera_cfg.py index c625ccffedf4..83fa99716d8f 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera_cfg.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera_cfg.py @@ -8,8 +8,7 @@ import logging from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from .multi_mesh_ray_caster_cfg import MultiMeshRayCasterCfg from .ray_caster_camera_cfg import RayCasterCameraCfg diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera_data.py b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera_data.py index 687185c3e0bb..847cbd0684b9 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera_data.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_camera_data.py @@ -5,8 +5,8 @@ """Data container for the multi-mesh ray-cast camera sensor.""" -from isaaclab.sensors.camera import CameraData -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray +from ..camera import CameraData class MultiMeshRayCasterCameraData(CameraData): diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_cfg.py b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_cfg.py index 3e7de9429c60..0d1f04bb3bf1 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_cfg.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_cfg.py @@ -9,8 +9,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.utils import configclass - +from ...utils import configclass from .ray_caster_cfg import RayCasterCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_data.py b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_data.py index 331dcb4af79f..c758d1ab73ac 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_data.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/multi_mesh_ray_caster_data.py @@ -6,8 +6,7 @@ """Data container for the multi-mesh ray-cast sensor.""" -from isaaclab.utils.warp import ProxyArray - +from ...utils.warp import ProxyArray from .ray_caster_data import RayCasterData diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster.py b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster.py index 902b6b63dd43..6059eb0d15b2 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster.py @@ -5,8 +5,7 @@ from __future__ import annotations -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_ray_caster import BaseRayCaster diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_camera.py b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_camera.py index b37a4aeccfb4..d1098ee21c59 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_camera.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_camera.py @@ -5,8 +5,7 @@ from __future__ import annotations -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_ray_caster_camera import BaseRayCasterCamera diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_camera_cfg.py b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_camera_cfg.py index 574c95020437..545901bed716 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_camera_cfg.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_camera_cfg.py @@ -8,8 +8,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Literal -from isaaclab.utils import configclass - +from ...utils import configclass from .patterns import PinholeCameraPatternCfg from .ray_caster_cfg import RayCasterCfg diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_cfg.py b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_cfg.py index e354987f36a3..a2fc80390019 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_cfg.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_cfg.py @@ -10,11 +10,10 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Literal -from isaaclab.markers import VisualizationMarkersCfg -from isaaclab.markers.config import RAY_CASTER_MARKER_CFG -from isaaclab.sim.spawners.sensors.sensors_cfg import SensorFrameCfg -from isaaclab.utils import configclass - +from ...markers import VisualizationMarkersCfg +from ...markers.config import RAY_CASTER_MARKER_CFG +from ...sim.spawners.sensors.sensors_cfg import SensorFrameCfg +from ...utils import configclass from ..sensor_base_cfg import SensorBaseCfg from .patterns.patterns_cfg import PatternBaseCfg diff --git a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_data.py b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_data.py index 1265e1df0fc3..6b5d2c4d148f 100644 --- a/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_data.py +++ b/source/isaaclab/isaaclab/sensors/ray_caster/ray_caster_data.py @@ -7,12 +7,12 @@ import warp as wp -from isaaclab.utils.leapp import ( +from ...utils.leapp import ( QUAT_XYZW_ELEMENT_NAMES, XYZ_ELEMENT_NAMES, leapp_tensor_semantics, ) -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray class RayCasterData: diff --git a/source/isaaclab/isaaclab/sensors/sensor_base.py b/source/isaaclab/isaaclab/sensors/sensor_base.py index 12244e17e62b..55e6444632a7 100644 --- a/source/isaaclab/isaaclab/sensors/sensor_base.py +++ b/source/isaaclab/isaaclab/sensors/sensor_base.py @@ -21,18 +21,16 @@ import warp as wp -import isaaclab.sim as sim_utils -from isaaclab import cloner -from isaaclab.cloner.cloner_cfg import expand_env_regex_ns -from isaaclab.physics import PhysicsEvent, PhysicsManager -from isaaclab.sim.utils.queries import get_first_matching_ancestor_prim -from isaaclab.sim.utils.transforms import resolve_prim_pose - +from .. import cloner +from .. import sim as sim_utils +from ..cloner.cloner_cfg import expand_env_regex_ns +from ..physics import PhysicsEvent, PhysicsManager +from ..sim.utils.queries import get_first_matching_ancestor_prim +from ..sim.utils.transforms import resolve_prim_pose from .kernels import reset_envs_kernel, update_outdated_envs_kernel, update_timestamp_kernel if TYPE_CHECKING: - from isaaclab.cloner import ClonePlan - + from ..cloner import ClonePlan from .sensor_base_cfg import SensorBaseCfg logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/sensors/sensor_base_cfg.py b/source/isaaclab/isaaclab/sensors/sensor_base_cfg.py index 785c182e58cb..f410fd59e94f 100644 --- a/source/isaaclab/isaaclab/sensors/sensor_base_cfg.py +++ b/source/isaaclab/isaaclab/sensors/sensor_base_cfg.py @@ -6,7 +6,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.utils import configclass +from ..utils import configclass if TYPE_CHECKING: from .sensor_base import SensorBase diff --git a/source/isaaclab/isaaclab/sim/__init__.py b/source/isaaclab/isaaclab/sim/__init__.py index 36851fbd32f3..f078291c8683 100644 --- a/source/isaaclab/isaaclab/sim/__init__.py +++ b/source/isaaclab/isaaclab/sim/__init__.py @@ -26,7 +26,7 @@ """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export _stub_getattr, _stub_dir, __all__ = lazy_export() diff --git a/source/isaaclab/isaaclab/sim/converters/__init__.py b/source/isaaclab/isaaclab/sim/converters/__init__.py index 10cdd4c3b4f4..9b9d12984ac8 100644 --- a/source/isaaclab/isaaclab/sim/converters/__init__.py +++ b/source/isaaclab/isaaclab/sim/converters/__init__.py @@ -16,6 +16,6 @@ """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sim/converters/asset_converter_base.py b/source/isaaclab/isaaclab/sim/converters/asset_converter_base.py index 90ea06009595..39a3cf4ec29f 100644 --- a/source/isaaclab/isaaclab/sim/converters/asset_converter_base.py +++ b/source/isaaclab/isaaclab/sim/converters/asset_converter_base.py @@ -13,9 +13,9 @@ import tempfile from datetime import datetime -from isaaclab.sim.converters.asset_converter_base_cfg import AssetConverterBaseCfg -from isaaclab.utils.assets import check_file_path -from isaaclab.utils.io import dump_yaml +from ...utils.assets import check_file_path +from ...utils.io import dump_yaml +from .asset_converter_base_cfg import AssetConverterBaseCfg logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/sim/converters/asset_converter_base_cfg.py b/source/isaaclab/isaaclab/sim/converters/asset_converter_base_cfg.py index 457792d3ecf7..2c63ba05bc15 100644 --- a/source/isaaclab/isaaclab/sim/converters/asset_converter_base_cfg.py +++ b/source/isaaclab/isaaclab/sim/converters/asset_converter_base_cfg.py @@ -8,7 +8,7 @@ from dataclasses import MISSING from enum import StrEnum -from isaaclab.utils import configclass +from ...utils import configclass @configclass diff --git a/source/isaaclab/isaaclab/sim/converters/mesh_converter.py b/source/isaaclab/isaaclab/sim/converters/mesh_converter.py index c9f889ca9f1e..dab9c5b30eaf 100644 --- a/source/isaaclab/isaaclab/sim/converters/mesh_converter.py +++ b/source/isaaclab/isaaclab/sim/converters/mesh_converter.py @@ -11,12 +11,12 @@ import omni.kit.commands from pxr import Gf, Tf, Usd, UsdGeom, UsdPhysics, UsdUtils -from isaaclab.sim.converters.asset_converter_base import AssetConverterBase -from isaaclab.sim.converters.mesh_converter_cfg import MeshConverterCfg -from isaaclab.sim.schemas import schemas -from isaaclab.sim.schemas.schemas_cfg import SchemaFragment -from isaaclab.sim.spawners._utils import fragment_mapping, props_expr -from isaaclab.sim.utils import delete_prim, enable_extension, export_prim_to_file +from ..schemas import schemas +from ..schemas.schemas_cfg import SchemaFragment +from ..spawners._utils import fragment_mapping, props_expr +from ..utils import delete_prim, enable_extension, export_prim_to_file +from .asset_converter_base import AssetConverterBase +from .mesh_converter_cfg import MeshConverterCfg # import logger logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/sim/converters/mesh_converter_cfg.py b/source/isaaclab/isaaclab/sim/converters/mesh_converter_cfg.py index d0c5980b284b..ec484ff88e74 100644 --- a/source/isaaclab/isaaclab/sim/converters/mesh_converter_cfg.py +++ b/source/isaaclab/isaaclab/sim/converters/mesh_converter_cfg.py @@ -3,9 +3,9 @@ # # SPDX-License-Identifier: BSD-3-Clause -from isaaclab.sim.converters.asset_converter_base_cfg import AssetConverterBaseCfg -from isaaclab.sim.schemas import schemas_cfg -from isaaclab.utils import configclass +from ...utils import configclass +from ..schemas import schemas_cfg +from .asset_converter_base_cfg import AssetConverterBaseCfg @configclass diff --git a/source/isaaclab/isaaclab/sim/converters/mjcf_converter.py b/source/isaaclab/isaaclab/sim/converters/mjcf_converter.py index f3c89b48e57c..085758f2921e 100644 --- a/source/isaaclab/isaaclab/sim/converters/mjcf_converter.py +++ b/source/isaaclab/isaaclab/sim/converters/mjcf_converter.py @@ -7,8 +7,7 @@ import os -from isaaclab.utils.version import has_kit - +from ...utils.version import has_kit from .asset_converter_base import AssetConverterBase from .mjcf_converter_cfg import MjcfConverterCfg @@ -66,7 +65,7 @@ def _convert_asset(self, cfg: MjcfConverterCfg): # Inside Kit the importer ships as an extension and must be enabled before it can be # imported; kitlessly the same module resolves from the standalone importer wheel. if has_kit(): - from isaaclab.sim.utils import enable_extension # noqa: PLC0415 + from ..utils import enable_extension # noqa: PLC0415 enable_extension("isaacsim.asset.importer.mjcf") from isaacsim.asset.importer.mjcf import MJCFImporter, MJCFImporterConfig # noqa: PLC0415 diff --git a/source/isaaclab/isaaclab/sim/converters/mjcf_converter_cfg.py b/source/isaaclab/isaaclab/sim/converters/mjcf_converter_cfg.py index d08cdf493906..11ee9d1f80bd 100644 --- a/source/isaaclab/isaaclab/sim/converters/mjcf_converter_cfg.py +++ b/source/isaaclab/isaaclab/sim/converters/mjcf_converter_cfg.py @@ -7,8 +7,8 @@ from typing import Literal -from isaaclab.sim.converters.asset_converter_base_cfg import AssetConverterBaseCfg -from isaaclab.utils import configclass +from ...utils import configclass +from .asset_converter_base_cfg import AssetConverterBaseCfg @configclass diff --git a/source/isaaclab/isaaclab/sim/converters/urdf_converter.py b/source/isaaclab/isaaclab/sim/converters/urdf_converter.py index b870dc0a1bf5..5585686c6def 100644 --- a/source/isaaclab/isaaclab/sim/converters/urdf_converter.py +++ b/source/isaaclab/isaaclab/sim/converters/urdf_converter.py @@ -10,8 +10,7 @@ import pathlib import warnings -from isaaclab.utils.version import has_kit - +from ...utils.version import has_kit from .asset_converter_base import AssetConverterBase from .urdf_converter_cfg import UrdfConverterCfg @@ -82,7 +81,7 @@ def _convert_asset(self, cfg: UrdfConverterCfg): # Inside Kit the importer ships as an extension and must be enabled before it can be # imported; kitlessly the same module resolves from the standalone importer wheel. if has_kit(): - from isaaclab.sim.utils import enable_extension # noqa: PLC0415 + from ..utils import enable_extension # noqa: PLC0415 enable_extension("isaacsim.asset.importer.urdf") from isaacsim.asset.importer.urdf import URDFImporter, URDFImporterConfig # noqa: PLC0415 diff --git a/source/isaaclab/isaaclab/sim/converters/urdf_converter_cfg.py b/source/isaaclab/isaaclab/sim/converters/urdf_converter_cfg.py index d1ed21b75215..729dceaa4b52 100644 --- a/source/isaaclab/isaaclab/sim/converters/urdf_converter_cfg.py +++ b/source/isaaclab/isaaclab/sim/converters/urdf_converter_cfg.py @@ -8,8 +8,8 @@ from dataclasses import MISSING from typing import Literal -from isaaclab.sim.converters.asset_converter_base_cfg import AssetConverterBaseCfg -from isaaclab.utils import configclass +from ...utils import configclass +from .asset_converter_base_cfg import AssetConverterBaseCfg @configclass diff --git a/source/isaaclab/isaaclab/sim/schemas/__init__.py b/source/isaaclab/isaaclab/sim/schemas/__init__.py index d87525a6c42e..4de83d5041da 100644 --- a/source/isaaclab/isaaclab/sim/schemas/__init__.py +++ b/source/isaaclab/isaaclab/sim/schemas/__init__.py @@ -32,7 +32,7 @@ """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export _stub_getattr, _stub_dir, __all__ = lazy_export() diff --git a/source/isaaclab/isaaclab/sim/schemas/schemas.py b/source/isaaclab/isaaclab/sim/schemas/schemas.py index 270b1fc5c6ea..f7de0d306333 100644 --- a/source/isaaclab/isaaclab/sim/schemas/schemas.py +++ b/source/isaaclab/isaaclab/sim/schemas/schemas.py @@ -17,9 +17,7 @@ from pxr import Gf, Sdf, Usd, UsdGeom, UsdPhysics -from isaaclab.sim.utils.stage import get_current_stage -from isaaclab.utils.string import string_to_callable, to_camel_case - +from ...utils.string import string_to_callable, to_camel_case from ..utils import ( apply_nested, create_prim, @@ -30,6 +28,7 @@ safe_set_attribute_on_usd_prim, safe_set_attribute_on_usd_schema, ) +from ..utils.stage import get_current_stage from . import schemas_cfg from ._backend_hooks import _skip_joint_drive @@ -356,7 +355,7 @@ def apply_articulation_root_properties( return False if fix_root_link: - from isaaclab.sim import SimulationContext + from .. import SimulationContext sim = SimulationContext.instance() if sim is None: diff --git a/source/isaaclab/isaaclab/sim/schemas/schemas_actuators.py b/source/isaaclab/isaaclab/sim/schemas/schemas_actuators.py index 486aaca05399..18d7d68e667e 100644 --- a/source/isaaclab/isaaclab/sim/schemas/schemas_actuators.py +++ b/source/isaaclab/isaaclab/sim/schemas/schemas_actuators.py @@ -25,14 +25,14 @@ from pxr import Sdf, Usd, UsdPhysics -from isaaclab.actuators._compat import _resolve_limit_aliases -from isaaclab.actuators.actuator_base_cfg import _is_implicit_actuator_cfg -from isaaclab.utils.string import _resolve_matching_values_dense, resolve_matching_names, string_to_callable +from ...actuators._compat import _resolve_limit_aliases +from ...actuators.actuator_base_cfg import _is_implicit_actuator_cfg +from ...utils.string import _resolve_matching_values_dense, resolve_matching_names, string_to_callable def _resolve_actuator_class(class_type: type | str) -> type: """Resolve and validate an actuator class reference for authoring identity checks.""" - from isaaclab.actuators import ActuatorBase # noqa: PLC0415 + from ...actuators import ActuatorBase # noqa: PLC0415 if isinstance(class_type, str): try: @@ -46,16 +46,16 @@ def _resolve_actuator_class(class_type: type | str) -> type: def _is_newton_native_actuator_cfg(cfg: Any) -> bool: """Return whether an actuator config can be authored as a Newton actuator.""" - from isaaclab.actuators import DCMotorCfg, DelayedPDActuatorCfg # noqa: PLC0415 - from isaaclab.actuators.actuator_net import ActuatorNetLSTM, ActuatorNetMLP # noqa: PLC0415 - from isaaclab.actuators.actuator_net_cfg import ActuatorNetLSTMCfg, ActuatorNetMLPCfg # noqa: PLC0415 - from isaaclab.actuators.actuator_pd import ( # noqa: PLC0415 + from ...actuators import DCMotorCfg, DelayedPDActuatorCfg # noqa: PLC0415 + from ...actuators.actuator_net import ActuatorNetLSTM, ActuatorNetMLP # noqa: PLC0415 + from ...actuators.actuator_net_cfg import ActuatorNetLSTMCfg, ActuatorNetMLPCfg # noqa: PLC0415 + from ...actuators.actuator_pd import ( # noqa: PLC0415 DCMotor, DelayedPDActuator, IdealPDActuator, RemotizedPDActuator, ) - from isaaclab.actuators.actuator_pd_cfg import IdealPDActuatorCfg, RemotizedPDActuatorCfg # noqa: PLC0415 + from ...actuators.actuator_pd_cfg import IdealPDActuatorCfg, RemotizedPDActuatorCfg # noqa: PLC0415 supported_cfg_types = ( (ActuatorNetMLPCfg, ActuatorNetMLP), @@ -175,15 +175,15 @@ def define_actuator_properties( Raises: ValueError: If Newton-native execution is enabled and an explicit actuator config is unsupported. """ - from isaaclab.sim import SimulationContext # noqa: PLC0415 + from .. import SimulationContext # noqa: PLC0415 sim_ctx = SimulationContext.instance() sim_cfg = sim_ctx.cfg if sim_ctx is not None else None if sim_cfg is None or not getattr(sim_cfg, "use_newton_actuators", False): return - from isaaclab.sim.utils.queries import find_first_matching_prim # noqa: PLC0415 - from isaaclab.sim.utils.stage import get_current_stage # noqa: PLC0415 + from ..utils.queries import find_first_matching_prim # noqa: PLC0415 + from ..utils.stage import get_current_stage # noqa: PLC0415 if stage is None: stage = get_current_stage() @@ -232,9 +232,9 @@ def _author_actuator_prims( _remove_actuator_prims_for_joints(art_prim, covered_joint_paths) - from isaaclab.actuators import DCMotorCfg, DelayedPDActuatorCfg # noqa: PLC0415 - from isaaclab.actuators.actuator_net_cfg import ActuatorNetLSTMCfg, ActuatorNetMLPCfg # noqa: PLC0415 - from isaaclab.actuators.actuator_pd_cfg import RemotizedPDActuatorCfg # noqa: PLC0415 + from ...actuators import DCMotorCfg, DelayedPDActuatorCfg # noqa: PLC0415 + from ...actuators.actuator_net_cfg import ActuatorNetLSTMCfg, ActuatorNetMLPCfg # noqa: PLC0415 + from ...actuators.actuator_pd_cfg import RemotizedPDActuatorCfg # noqa: PLC0415 for group_name, cfg, joint_names in cfg_entries: stiffness_map = resolve_per_dof(getattr(cfg, "stiffness", None), joint_names) @@ -431,7 +431,7 @@ def _resave_checkpoint_with_metadata( import torch # noqa: PLC0415 - from isaaclab.utils.assets import retrieve_file_path # noqa: PLC0415 + from ...utils.assets import retrieve_file_path # noqa: PLC0415 local_path = retrieve_file_path(original_path) diff --git a/source/isaaclab/isaaclab/sim/schemas/schemas_cfg.py b/source/isaaclab/isaaclab/sim/schemas/schemas_cfg.py index 1522af6d2db1..530443ff59d8 100644 --- a/source/isaaclab/isaaclab/sim/schemas/schemas_cfg.py +++ b/source/isaaclab/isaaclab/sim/schemas/schemas_cfg.py @@ -11,7 +11,7 @@ from typing_extensions import deprecated -from isaaclab.utils import configclass +from ...utils import configclass # Names that moved out of this submodule into ``isaaclab_physx.sim.schemas.schemas_cfg``. # Resolved lazily so callers using ``from isaaclab.sim.schemas.schemas_cfg import diff --git a/source/isaaclab/isaaclab/sim/simulation_cfg.py b/source/isaaclab/isaaclab/sim/simulation_cfg.py index 56b3163325b4..a852480a4edd 100644 --- a/source/isaaclab/isaaclab/sim/simulation_cfg.py +++ b/source/isaaclab/isaaclab/sim/simulation_cfg.py @@ -14,10 +14,10 @@ from dataclasses import MISSING from typing import Literal -from isaaclab.physics import PhysicsCfg -from isaaclab.sim.spawners.materials.physics_materials_cfg import RigidBodyMaterialBaseCfg -from isaaclab.utils import configclass -from isaaclab.visualizers import VisualizerCfg +from ..physics import PhysicsCfg +from ..utils import configclass +from ..visualizers import VisualizerCfg +from .spawners.materials.physics_materials_cfg import RigidBodyMaterialBaseCfg @configclass diff --git a/source/isaaclab/isaaclab/sim/simulation_context.py b/source/isaaclab/isaaclab/sim/simulation_context.py index 6d43e2e4d29c..1f294f61b65a 100644 --- a/source/isaaclab/isaaclab/sim/simulation_context.py +++ b/source/isaaclab/isaaclab/sim/simulation_context.py @@ -16,25 +16,25 @@ import torch import warp as wp -import isaaclab.sim as sim_utils -import isaaclab.sim.utils.stage as stage_utils -from isaaclab.app.settings_manager import SettingsManager -from isaaclab.markers.vis_marker_registry import VisMarkerRegistry -from isaaclab.physics import PhysicsCfg, PhysicsEvent, PhysicsManager -from isaaclab.physics.physics_manager_cfg import _resolve_physx_auto_cfg -from isaaclab.renderers.render_context import RenderContext -from isaaclab.renderers.renderer_cfg import RendererCfg -from isaaclab.scene_data import REQUIRES_STAGE_AND_MODEL, SceneDataProvider -from isaaclab.sim.utils import create_new_stage -from isaaclab.utils.string import clear_resolve_matching_names_cache -from isaaclab.utils.version import has_kit -from isaaclab.visualizers.base_visualizer import BaseVisualizer -from isaaclab.visualizers.visualizer_cfg import _get_visualizer_install_hint +from .. import sim as sim_utils +from ..app.settings_manager import SettingsManager +from ..markers.vis_marker_registry import VisMarkerRegistry +from ..physics import PhysicsCfg, PhysicsEvent, PhysicsManager +from ..physics.physics_manager_cfg import _resolve_physx_auto_cfg +from ..renderers.render_context import RenderContext +from ..renderers.renderer_cfg import RendererCfg +from ..scene_data import REQUIRES_STAGE_AND_MODEL, SceneDataProvider +from ..utils.string import clear_resolve_matching_names_cache +from ..utils.version import has_kit +from ..visualizers.base_visualizer import BaseVisualizer +from ..visualizers.visualizer_cfg import _get_visualizer_install_hint +from .utils import create_new_stage +from .utils import stage as stage_utils if TYPE_CHECKING: from pxr import Usd - from isaaclab.cloner.clone_plan import ClonePlan + from ..cloner.clone_plan import ClonePlan from .simulation_cfg import BackendCfg, SimulationCfg from .spawners import DomeLightCfg, GroundPlaneCfg @@ -446,7 +446,7 @@ def _apply_default_visualizer_cfg(self, cfg: Any) -> None: ``streaming_view=False`` from stomping backend-specific defaults like ``NewtonGLVisualizerCfg.streaming_view=True``. """ - from isaaclab.visualizers.visualizer_cfg import VisualizerCfg + from ..visualizers.visualizer_cfg import VisualizerCfg default_cfg = getattr(self.cfg, "default_visualizer_cfg", None) if default_cfg is None: diff --git a/source/isaaclab/isaaclab/sim/spawners/__init__.py b/source/isaaclab/isaaclab/sim/spawners/__init__.py index 127c85e68d64..26c0a837c930 100644 --- a/source/isaaclab/isaaclab/sim/spawners/__init__.py +++ b/source/isaaclab/isaaclab/sim/spawners/__init__.py @@ -54,6 +54,6 @@ class and the function call in a single line of code. """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sim/spawners/_utils.py b/source/isaaclab/isaaclab/sim/spawners/_utils.py index 2bf735f1a376..547776968d64 100644 --- a/source/isaaclab/isaaclab/sim/spawners/_utils.py +++ b/source/isaaclab/isaaclab/sim/spawners/_utils.py @@ -48,7 +48,7 @@ def fragment_mapping(value, default_pattern: str = "") -> dict | None: Returns: The equivalent target-pattern mapping, or None when the value is a legacy configuration. """ - from isaaclab.sim.schemas.schemas_cfg import SchemaFragment # noqa: PLC0415 + from ..schemas.schemas_cfg import SchemaFragment # noqa: PLC0415 if isinstance(value, dict): return value @@ -74,7 +74,7 @@ def bare_fragments(value) -> bool: Returns: True when the value is a bare fragment or a sequence of fragments. """ - from isaaclab.sim.schemas.schemas_cfg import SchemaFragment # noqa: PLC0415 + from ..schemas.schemas_cfg import SchemaFragment # noqa: PLC0415 if isinstance(value, SchemaFragment): return True diff --git a/source/isaaclab/isaaclab/sim/spawners/from_files/from_files.py b/source/isaaclab/isaaclab/sim/spawners/from_files/from_files.py index a2b370eaab26..72957ed0890d 100644 --- a/source/isaaclab/isaaclab/sim/spawners/from_files/from_files.py +++ b/source/isaaclab/isaaclab/sim/spawners/from_files/from_files.py @@ -13,11 +13,11 @@ from filelock import FileLock -from isaaclab.sim import converters, schemas -from isaaclab.sim.spawners._utils import bare_fragments, fragment_mapping, props_expr, subtree_carries_api -from isaaclab.sim.spawners.materials import SurfaceDeformableBodyMaterialBaseCfg -from isaaclab.sim.spawners.materials.physics_materials import spawn_physics_material -from isaaclab.sim.utils import ( +from isaaclab.utils.assets import check_file_path, retrieve_file_path +from isaaclab.utils.version import has_kit + +from ... import converters, schemas +from ...utils import ( add_labels, bind_physics_material, bind_visual_material, @@ -31,8 +31,9 @@ select_usd_variants, set_prim_visibility, ) -from isaaclab.utils.assets import check_file_path, retrieve_file_path -from isaaclab.utils.version import has_kit +from .._utils import bare_fragments, fragment_mapping, props_expr, subtree_carries_api +from ..materials import SurfaceDeformableBodyMaterialBaseCfg +from ..materials.physics_materials import spawn_physics_material if TYPE_CHECKING: from pxr import Gf, Sdf, Usd, UsdGeom # noqa: F401 diff --git a/source/isaaclab/isaaclab/sim/spawners/from_files/from_files_cfg.py b/source/isaaclab/isaaclab/sim/spawners/from_files/from_files_cfg.py index 956211c73cd8..0946a8afc23c 100644 --- a/source/isaaclab/isaaclab/sim/spawners/from_files/from_files_cfg.py +++ b/source/isaaclab/isaaclab/sim/spawners/from_files/from_files_cfg.py @@ -8,12 +8,13 @@ from collections.abc import Callable from dataclasses import MISSING -from isaaclab.sim import converters, schemas -from isaaclab.sim.spawners import materials -from isaaclab.sim.spawners.spawner_cfg import DeformableObjectSpawnerCfg, RigidObjectSpawnerCfg, SpawnerCfg from isaaclab.utils import configclass from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from ... import converters, schemas +from .. import materials +from ..spawner_cfg import DeformableObjectSpawnerCfg, RigidObjectSpawnerCfg, SpawnerCfg + _DEFAULT_GROUND_PLANE_USD = ( f"{ISAACLAB_NUCLEUS_DIR}/Environments/Grid/default_ground_plane_checker_v1/default_ground_plane.usda" ) diff --git a/source/isaaclab/isaaclab/sim/spawners/lights/lights.py b/source/isaaclab/isaaclab/sim/spawners/lights/lights.py index b033a97aff15..ba78b6671d7e 100644 --- a/source/isaaclab/isaaclab/sim/spawners/lights/lights.py +++ b/source/isaaclab/isaaclab/sim/spawners/lights/lights.py @@ -9,7 +9,7 @@ from pxr import Usd, UsdLux -from isaaclab.sim.utils import clone, create_prim, get_current_stage, safe_set_attribute_on_usd_prim +from ...utils import clone, create_prim, get_current_stage, safe_set_attribute_on_usd_prim if TYPE_CHECKING: from . import lights_cfg diff --git a/source/isaaclab/isaaclab/sim/spawners/lights/lights_cfg.py b/source/isaaclab/isaaclab/sim/spawners/lights/lights_cfg.py index 653e83a108cc..1eddccba4c10 100644 --- a/source/isaaclab/isaaclab/sim/spawners/lights/lights_cfg.py +++ b/source/isaaclab/isaaclab/sim/spawners/lights/lights_cfg.py @@ -9,9 +9,10 @@ from dataclasses import MISSING from typing import Literal -from isaaclab.sim.spawners.spawner_cfg import SpawnerCfg from isaaclab.utils import configclass +from ..spawner_cfg import SpawnerCfg + @configclass class LightCfg(SpawnerCfg): diff --git a/source/isaaclab/isaaclab/sim/spawners/materials/physics_materials.py b/source/isaaclab/isaaclab/sim/spawners/materials/physics_materials.py index a2a3b2f99c2a..5572a50b371d 100644 --- a/source/isaaclab/isaaclab/sim/spawners/materials/physics_materials.py +++ b/source/isaaclab/isaaclab/sim/spawners/materials/physics_materials.py @@ -9,11 +9,11 @@ from pxr import Usd, UsdPhysics, UsdShade -from isaaclab.sim.schemas.schemas import _apply_namespaced_schemas -from isaaclab.sim.utils import clone -from isaaclab.sim.utils.stage import get_current_stage from isaaclab.utils.string import string_to_callable +from ...schemas.schemas import _apply_namespaced_schemas +from ...utils import clone +from ...utils.stage import get_current_stage from . import physics_materials_cfg diff --git a/source/isaaclab/isaaclab/sim/spawners/materials/physics_materials_cfg.py b/source/isaaclab/isaaclab/sim/spawners/materials/physics_materials_cfg.py index a97de8c65f65..001e3ef26ab1 100644 --- a/source/isaaclab/isaaclab/sim/spawners/materials/physics_materials_cfg.py +++ b/source/isaaclab/isaaclab/sim/spawners/materials/physics_materials_cfg.py @@ -10,9 +10,10 @@ from dataclasses import MISSING from typing import ClassVar -from isaaclab.sim.schemas.schemas_cfg import SchemaFragment from isaaclab.utils import configclass +from ...schemas.schemas_cfg import SchemaFragment + # Names that moved out of this submodule into ``isaaclab_physx.sim.spawners.materials.physics_materials_cfg``. # Resolved lazily so callers using ``from isaaclab.sim.spawners.materials.physics_materials_cfg # import RigidBodyMaterialCfg`` continue to work without importing ``isaaclab_physx`` at module diff --git a/source/isaaclab/isaaclab/sim/spawners/materials/visual_materials.py b/source/isaaclab/isaaclab/sim/spawners/materials/visual_materials.py index b592effd5705..bffcb01f28ce 100644 --- a/source/isaaclab/isaaclab/sim/spawners/materials/visual_materials.py +++ b/source/isaaclab/isaaclab/sim/spawners/materials/visual_materials.py @@ -9,11 +9,12 @@ from pxr import Sdf, Usd, UsdShade -from isaaclab.sim.utils import clone, safe_set_attribute_on_usd_prim -from isaaclab.sim.utils.stage import get_current_stage from isaaclab.utils.assets import NVIDIA_NUCLEUS_DIR from isaaclab.utils.string import to_camel_case +from ...utils import clone, safe_set_attribute_on_usd_prim +from ...utils.stage import get_current_stage + if TYPE_CHECKING: from . import visual_materials_cfg diff --git a/source/isaaclab/isaaclab/sim/spawners/materials/visual_materials_cfg.py b/source/isaaclab/isaaclab/sim/spawners/materials/visual_materials_cfg.py index fb610aeb856f..5b8bf466f1ed 100644 --- a/source/isaaclab/isaaclab/sim/spawners/materials/visual_materials_cfg.py +++ b/source/isaaclab/isaaclab/sim/spawners/materials/visual_materials_cfg.py @@ -8,9 +8,10 @@ from collections.abc import Callable from dataclasses import MISSING -from isaaclab.sim.spawners.spawner_cfg import SpawnerCfg from isaaclab.utils import configclass +from ..spawner_cfg import SpawnerCfg + @configclass class VisualMaterialCfg(SpawnerCfg): diff --git a/source/isaaclab/isaaclab/sim/spawners/meshes/meshes.py b/source/isaaclab/isaaclab/sim/spawners/meshes/meshes.py index d89a675c5137..5861241e8345 100644 --- a/source/isaaclab/isaaclab/sim/spawners/meshes/meshes.py +++ b/source/isaaclab/isaaclab/sim/spawners/meshes/meshes.py @@ -13,10 +13,9 @@ from pxr import Usd, UsdPhysics -from isaaclab.sim import schemas -from isaaclab.sim.spawners._utils import fragment_mapping, props_expr -from isaaclab.sim.utils import bind_physics_material, bind_visual_material, clone, create_prim, get_current_stage - +from ... import schemas +from ...utils import bind_physics_material, bind_visual_material, clone, create_prim, get_current_stage +from .._utils import fragment_mapping, props_expr from ..materials import ( DeformableBodyMaterialBaseCfg, RigidBodyMaterialBaseCfg, diff --git a/source/isaaclab/isaaclab/sim/spawners/meshes/meshes_cfg.py b/source/isaaclab/isaaclab/sim/spawners/meshes/meshes_cfg.py index 17f3cc2d986c..b969c8afd71f 100644 --- a/source/isaaclab/isaaclab/sim/spawners/meshes/meshes_cfg.py +++ b/source/isaaclab/isaaclab/sim/spawners/meshes/meshes_cfg.py @@ -9,10 +9,11 @@ from dataclasses import MISSING from typing import Literal -from isaaclab.sim.spawners import materials -from isaaclab.sim.spawners.spawner_cfg import DeformableObjectSpawnerCfg, RigidObjectSpawnerCfg from isaaclab.utils import configclass +from .. import materials +from ..spawner_cfg import DeformableObjectSpawnerCfg, RigidObjectSpawnerCfg + @configclass class MeshCfg(RigidObjectSpawnerCfg, DeformableObjectSpawnerCfg): diff --git a/source/isaaclab/isaaclab/sim/spawners/sensors/sensors.py b/source/isaaclab/isaaclab/sim/spawners/sensors/sensors.py index 175ef933af2a..9cb03787eb0b 100644 --- a/source/isaaclab/isaaclab/sim/spawners/sensors/sensors.py +++ b/source/isaaclab/isaaclab/sim/spawners/sensors/sensors.py @@ -10,9 +10,10 @@ from pxr import Gf, Sdf, Usd -from isaaclab.sim.utils import change_prim_property, clone, create_prim, get_current_stage from isaaclab.utils import to_camel_case +from ...utils import change_prim_property, clone, create_prim, get_current_stage + if TYPE_CHECKING: from . import sensors_cfg diff --git a/source/isaaclab/isaaclab/sim/spawners/sensors/sensors_cfg.py b/source/isaaclab/isaaclab/sim/spawners/sensors/sensors_cfg.py index d60c3d72d688..b8e0afae402d 100644 --- a/source/isaaclab/isaaclab/sim/spawners/sensors/sensors_cfg.py +++ b/source/isaaclab/isaaclab/sim/spawners/sensors/sensors_cfg.py @@ -10,9 +10,10 @@ from typing import Literal import isaaclab.utils.sensors as sensor_utils -from isaaclab.sim.spawners.spawner_cfg import SpawnerCfg from isaaclab.utils import configclass +from ..spawner_cfg import SpawnerCfg + @configclass class OpenCvDistortionCfg: diff --git a/source/isaaclab/isaaclab/sim/spawners/shapes/shapes.py b/source/isaaclab/isaaclab/sim/spawners/shapes/shapes.py index 2be5a3598657..656011724bc9 100644 --- a/source/isaaclab/isaaclab/sim/spawners/shapes/shapes.py +++ b/source/isaaclab/isaaclab/sim/spawners/shapes/shapes.py @@ -11,10 +11,10 @@ from pxr import Usd, UsdGeom -from isaaclab.sim import schemas -from isaaclab.sim.spawners._utils import fragment_mapping, props_expr -from isaaclab.sim.spawners.materials.physics_materials import spawn_physics_material -from isaaclab.sim.utils import bind_physics_material, bind_visual_material, clone, create_prim, get_current_stage +from ... import schemas +from ...utils import bind_physics_material, bind_visual_material, clone, create_prim, get_current_stage +from .._utils import fragment_mapping, props_expr +from ..materials.physics_materials import spawn_physics_material if TYPE_CHECKING: from . import shapes_cfg diff --git a/source/isaaclab/isaaclab/sim/spawners/shapes/shapes_cfg.py b/source/isaaclab/isaaclab/sim/spawners/shapes/shapes_cfg.py index a9df7efb6cb2..8d98b94f96f4 100644 --- a/source/isaaclab/isaaclab/sim/spawners/shapes/shapes_cfg.py +++ b/source/isaaclab/isaaclab/sim/spawners/shapes/shapes_cfg.py @@ -9,12 +9,13 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Literal -from isaaclab.sim.spawners import materials -from isaaclab.sim.spawners.spawner_cfg import RigidObjectSpawnerCfg, SpawnerCfg from isaaclab.utils import configclass +from .. import materials +from ..spawner_cfg import RigidObjectSpawnerCfg, SpawnerCfg + if TYPE_CHECKING: - from isaaclab.sim import schemas + from ... import schemas @configclass diff --git a/source/isaaclab/isaaclab/sim/spawners/spawner_cfg.py b/source/isaaclab/isaaclab/sim/spawners/spawner_cfg.py index d68ae01761fd..64c1b73033ca 100644 --- a/source/isaaclab/isaaclab/sim/spawners/spawner_cfg.py +++ b/source/isaaclab/isaaclab/sim/spawners/spawner_cfg.py @@ -9,12 +9,12 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.utils import configclass +from ...utils import configclass if TYPE_CHECKING: from pxr import Usd - from isaaclab.sim import schemas + from .. import schemas @configclass diff --git a/source/isaaclab/isaaclab/sim/spawners/wrappers/wrappers.py b/source/isaaclab/isaaclab/sim/spawners/wrappers/wrappers.py index b80f2f8fe25b..7ef40b4933f1 100644 --- a/source/isaaclab/isaaclab/sim/spawners/wrappers/wrappers.py +++ b/source/isaaclab/isaaclab/sim/spawners/wrappers/wrappers.py @@ -11,7 +11,8 @@ from pxr import Usd import isaaclab.sim as sim_utils -from isaaclab.sim.spawners.from_files import UsdFileCfg + +from ..from_files import UsdFileCfg if TYPE_CHECKING: from . import wrappers_cfg diff --git a/source/isaaclab/isaaclab/sim/spawners/wrappers/wrappers_cfg.py b/source/isaaclab/isaaclab/sim/spawners/wrappers/wrappers_cfg.py index ea69ee914fed..237376c03dca 100644 --- a/source/isaaclab/isaaclab/sim/spawners/wrappers/wrappers_cfg.py +++ b/source/isaaclab/isaaclab/sim/spawners/wrappers/wrappers_cfg.py @@ -5,10 +5,11 @@ from dataclasses import MISSING -from isaaclab.sim.spawners.from_files import UsdFileCfg -from isaaclab.sim.spawners.spawner_cfg import DeformableObjectSpawnerCfg, RigidObjectSpawnerCfg, SpawnerCfg from isaaclab.utils import configclass +from ..from_files import UsdFileCfg +from ..spawner_cfg import DeformableObjectSpawnerCfg, RigidObjectSpawnerCfg, SpawnerCfg + @configclass class MultiAssetSpawnerCfg(RigidObjectSpawnerCfg, DeformableObjectSpawnerCfg): diff --git a/source/isaaclab/isaaclab/sim/utils/__init__.py b/source/isaaclab/isaaclab/sim/utils/__init__.py index bcaeee0ee606..61e4e9274725 100644 --- a/source/isaaclab/isaaclab/sim/utils/__init__.py +++ b/source/isaaclab/isaaclab/sim/utils/__init__.py @@ -5,6 +5,6 @@ """Utilities built around USD operations.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sim/utils/newton_model_utils.py b/source/isaaclab/isaaclab/sim/utils/newton_model_utils.py index b3a7fc426517..ee40fe1664a6 100644 --- a/source/isaaclab/isaaclab/sim/utils/newton_model_utils.py +++ b/source/isaaclab/isaaclab/sim/utils/newton_model_utils.py @@ -251,7 +251,7 @@ def replace_newton_builder_shape_colors(builder: Any, stage: Usd.Stage) -> int: f"Mismatching length of shape_label and shape_color: {len(shape_labels)} != {len(shape_colors)}" ) - from isaaclab.utils.timer import Timer + from ...utils.timer import Timer with Timer( f"[INFO]: Time taken for replace_newton_builder_shape_colors for {len(shape_labels)} shapes", enable=False diff --git a/source/isaaclab/isaaclab/sim/utils/prims.py b/source/isaaclab/isaaclab/sim/utils/prims.py index 750b49c4758c..4fcd4cc7471e 100644 --- a/source/isaaclab/isaaclab/sim/utils/prims.py +++ b/source/isaaclab/isaaclab/sim/utils/prims.py @@ -16,9 +16,8 @@ import torch -from isaaclab.utils.assets import check_file_path, retrieve_file_path -from isaaclab.utils.string import to_camel_case - +from ...utils.assets import check_file_path, retrieve_file_path +from ...utils.string import to_camel_case from .queries import ( find_matching_prim_paths, has_deformable_body_api, @@ -33,7 +32,7 @@ if TYPE_CHECKING: from pxr import Sdf, Usd, UsdGeom, UsdPhysics, UsdShade, UsdUtils # noqa: F401 - from isaaclab.sim.spawners.spawner_cfg import SpawnerCfg + from ..spawners.spawner_cfg import SpawnerCfg # import logger logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/sim/utils/queries.py b/source/isaaclab/isaaclab/sim/utils/queries.py index f09223ff7250..1a90ac8e4aec 100644 --- a/source/isaaclab/isaaclab/sim/utils/queries.py +++ b/source/isaaclab/isaaclab/sim/utils/queries.py @@ -12,9 +12,8 @@ from collections.abc import Callable, Iterator from typing import TYPE_CHECKING -from isaaclab import cloner -from isaaclab.sim.simulation_context import SimulationContext - +from ... import cloner +from ..simulation_context import SimulationContext from .stage import get_current_stage if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/sim/utils/stage.py b/source/isaaclab/isaaclab/sim/utils/stage.py index 4ad1069800de..6519770ceaa6 100644 --- a/source/isaaclab/isaaclab/sim/utils/stage.py +++ b/source/isaaclab/isaaclab/sim/utils/stage.py @@ -14,7 +14,7 @@ from collections.abc import Callable, Generator from typing import TYPE_CHECKING -from isaaclab.utils.version import get_isaac_sim_version, has_kit +from ...utils.version import get_isaac_sim_version, has_kit if TYPE_CHECKING: from pxr import Sdf, Usd, UsdUtils # noqa: F401 diff --git a/source/isaaclab/isaaclab/sim/views/__init__.py b/source/isaaclab/isaaclab/sim/views/__init__.py index 08bd01a1822f..43346c397fb5 100644 --- a/source/isaaclab/isaaclab/sim/views/__init__.py +++ b/source/isaaclab/isaaclab/sim/views/__init__.py @@ -5,6 +5,6 @@ """Views for manipulating USD prims.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/sim/views/base_frame_view.py b/source/isaaclab/isaaclab/sim/views/base_frame_view.py index 8b14729177c8..63fd209957c6 100644 --- a/source/isaaclab/isaaclab/sim/views/base_frame_view.py +++ b/source/isaaclab/isaaclab/sim/views/base_frame_view.py @@ -12,7 +12,7 @@ import warp as wp -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray if TYPE_CHECKING: from .xform_space_writer import FrameViewLocalSpaceWriter, FrameViewSpaceWriterBase, FrameViewWorldSpaceWriter diff --git a/source/isaaclab/isaaclab/sim/views/fabric_xform_selection.py b/source/isaaclab/isaaclab/sim/views/fabric_xform_selection.py index 93a4dbd51986..599363f3a833 100644 --- a/source/isaaclab/isaaclab/sim/views/fabric_xform_selection.py +++ b/source/isaaclab/isaaclab/sim/views/fabric_xform_selection.py @@ -15,7 +15,7 @@ import warp as wp -from isaaclab.utils.warp import fabric as fabric_utils +from ...utils.warp import fabric as fabric_utils logger = logging.getLogger(__name__) @@ -76,7 +76,7 @@ def __init__( except ImportError: hierarchy = None - from isaaclab.sim.utils import get_current_stage_id + from ..utils import get_current_stage_id self._device = device self._owner = owner diff --git a/source/isaaclab/isaaclab/sim/views/frame_view.py b/source/isaaclab/isaaclab/sim/views/frame_view.py index d9f0ab968ec7..e041f0cbd0ad 100644 --- a/source/isaaclab/isaaclab/sim/views/frame_view.py +++ b/source/isaaclab/isaaclab/sim/views/frame_view.py @@ -12,8 +12,7 @@ from __future__ import annotations -from isaaclab.utils.backend_utils import FactoryBase - +from ...utils.backend_utils import FactoryBase from .base_frame_view import BaseFrameView @@ -40,7 +39,7 @@ class FrameView(FactoryBase, BaseFrameView): @classmethod def _get_backend(cls, *args, **kwargs) -> str: - from isaaclab.sim.simulation_context import SimulationContext # noqa: PLC0415 + from ..simulation_context import SimulationContext # noqa: PLC0415 ctx = SimulationContext.instance() if ctx is None: diff --git a/source/isaaclab/isaaclab/sim/views/usd_frame_view.py b/source/isaaclab/isaaclab/sim/views/usd_frame_view.py index 8fb1e7cc6f5e..97eb2b874822 100644 --- a/source/isaaclab/isaaclab/sim/views/usd_frame_view.py +++ b/source/isaaclab/isaaclab/sim/views/usd_frame_view.py @@ -13,9 +13,8 @@ from pxr import Gf, Sdf, Usd, UsdGeom, Vt -import isaaclab.sim as sim_utils -from isaaclab.utils.warp import ProxyArray - +from ... import sim as sim_utils +from ...utils.warp import ProxyArray from .base_frame_view import BaseFrameView from .xform_space_writer import FrameViewLocalSpaceWriter, FrameViewWorldSpaceWriter diff --git a/source/isaaclab/isaaclab/sim/views/xform_space_writer.py b/source/isaaclab/isaaclab/sim/views/xform_space_writer.py index 2d657b031995..ac6746af8730 100644 --- a/source/isaaclab/isaaclab/sim/views/xform_space_writer.py +++ b/source/isaaclab/isaaclab/sim/views/xform_space_writer.py @@ -39,7 +39,7 @@ import warp as wp -from isaaclab.utils.warp import ProxyArray +from ...utils.warp import ProxyArray if TYPE_CHECKING: from .base_frame_view import BaseFrameView diff --git a/source/isaaclab/isaaclab/terrains/__init__.py b/source/isaaclab/isaaclab/terrains/__init__.py index da52a80ff6fa..20ad14e69216 100644 --- a/source/isaaclab/isaaclab/terrains/__init__.py +++ b/source/isaaclab/isaaclab/terrains/__init__.py @@ -20,6 +20,6 @@ """ -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/terrains/config/__init__.py b/source/isaaclab/isaaclab/terrains/config/__init__.py index a555996714ee..f4b905c3c80e 100644 --- a/source/isaaclab/isaaclab/terrains/config/__init__.py +++ b/source/isaaclab/isaaclab/terrains/config/__init__.py @@ -5,6 +5,6 @@ """Pre-defined terrain configurations for the terrain generator.""" -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/terrains/config/rough.py b/source/isaaclab/isaaclab/terrains/config/rough.py index 335b95dc20e7..ea0ada1a6045 100644 --- a/source/isaaclab/isaaclab/terrains/config/rough.py +++ b/source/isaaclab/isaaclab/terrains/config/rough.py @@ -5,8 +5,7 @@ """Configuration for custom terrains.""" -import isaaclab.terrains as terrain_gen - +from ... import terrains as terrain_gen from ..terrain_generator_cfg import TerrainGeneratorCfg ROUGH_TERRAINS_CFG = TerrainGeneratorCfg( diff --git a/source/isaaclab/isaaclab/terrains/height_field/__init__.py b/source/isaaclab/isaaclab/terrains/height_field/__init__.py index 2f8203f40ee8..319c5e4e1eb5 100644 --- a/source/isaaclab/isaaclab/terrains/height_field/__init__.py +++ b/source/isaaclab/isaaclab/terrains/height_field/__init__.py @@ -25,6 +25,6 @@ """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/terrains/height_field/hf_terrains_cfg.py b/source/isaaclab/isaaclab/terrains/height_field/hf_terrains_cfg.py index f587123dbd9d..a9b5b102d9c1 100644 --- a/source/isaaclab/isaaclab/terrains/height_field/hf_terrains_cfg.py +++ b/source/isaaclab/isaaclab/terrains/height_field/hf_terrains_cfg.py @@ -5,8 +5,7 @@ from dataclasses import MISSING -from isaaclab.utils import configclass - +from ...utils import configclass from ..sub_terrain_cfg import SubTerrainBaseCfg diff --git a/source/isaaclab/isaaclab/terrains/sub_terrain_cfg.py b/source/isaaclab/isaaclab/terrains/sub_terrain_cfg.py index c5fcabe51db5..5399eb1567d4 100644 --- a/source/isaaclab/isaaclab/terrains/sub_terrain_cfg.py +++ b/source/isaaclab/isaaclab/terrains/sub_terrain_cfg.py @@ -10,7 +10,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING -from isaaclab.utils import configclass +from ..utils import configclass if TYPE_CHECKING: import numpy as np diff --git a/source/isaaclab/isaaclab/terrains/terrain_generator.py b/source/isaaclab/isaaclab/terrains/terrain_generator.py index 58c0c85be9d1..0ad26bb830af 100644 --- a/source/isaaclab/isaaclab/terrains/terrain_generator.py +++ b/source/isaaclab/isaaclab/terrains/terrain_generator.py @@ -13,11 +13,10 @@ import torch import trimesh -from isaaclab.utils.dict import dict_to_md5_hash -from isaaclab.utils.io import dump_yaml -from isaaclab.utils.timer import Timer -from isaaclab.utils.warp import convert_to_warp_mesh - +from ..utils.dict import dict_to_md5_hash +from ..utils.io import dump_yaml +from ..utils.timer import Timer +from ..utils.warp import convert_to_warp_mesh from .trimesh.utils import make_border from .utils import color_meshes_by_height, find_flat_patches diff --git a/source/isaaclab/isaaclab/terrains/terrain_generator_cfg.py b/source/isaaclab/isaaclab/terrains/terrain_generator_cfg.py index 605b8116e7dd..4ccd29d78c1f 100644 --- a/source/isaaclab/isaaclab/terrains/terrain_generator_cfg.py +++ b/source/isaaclab/isaaclab/terrains/terrain_generator_cfg.py @@ -17,8 +17,7 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Literal -from isaaclab.utils import configclass - +from ..utils import configclass from .sub_terrain_cfg import SubTerrainBaseCfg if TYPE_CHECKING: diff --git a/source/isaaclab/isaaclab/terrains/terrain_importer.py b/source/isaaclab/isaaclab/terrains/terrain_importer.py index ec124b4ef361..94a37f44ee96 100644 --- a/source/isaaclab/isaaclab/terrains/terrain_importer.py +++ b/source/isaaclab/isaaclab/terrains/terrain_importer.py @@ -12,10 +12,9 @@ import torch import trimesh -import isaaclab.sim as sim_utils -from isaaclab.markers import VisualizationMarkers -from isaaclab.markers.config import FRAME_MARKER_CFG - +from .. import sim as sim_utils +from ..markers import VisualizationMarkers +from ..markers.config import FRAME_MARKER_CFG from .utils import create_prim_from_mesh if TYPE_CHECKING: @@ -298,7 +297,7 @@ def _tag_heightfield_collider(self, prim_path: str, horizontal_scale: float): """ from pxr import Sdf - from isaaclab.sim.utils.stage import get_current_stage + from ..sim.utils.stage import get_current_stage prim = get_current_stage().GetPrimAtPath(prim_path) if not prim.IsValid(): @@ -409,7 +408,7 @@ def _compute_env_origins_curriculum(self, num_envs: int, origins: torch.Tensor) def _compute_env_origins_grid(self, num_envs: int, env_spacing: float) -> torch.Tensor: """Compute the origins of the environments in a grid based on configured spacing.""" - from isaaclab.cloner import grid_transforms + from ..cloner import grid_transforms env_origins, _ = grid_transforms(num_envs, env_spacing) return torch.as_tensor(env_origins, device=self.device) diff --git a/source/isaaclab/isaaclab/terrains/terrain_importer_cfg.py b/source/isaaclab/isaaclab/terrains/terrain_importer_cfg.py index 545dd92be207..fc6e916176a9 100644 --- a/source/isaaclab/isaaclab/terrains/terrain_importer_cfg.py +++ b/source/isaaclab/isaaclab/terrains/terrain_importer_cfg.py @@ -8,9 +8,9 @@ from dataclasses import MISSING from typing import TYPE_CHECKING, Literal -import isaaclab.sim as sim_utils -from isaaclab.sim.spawners import materials -from isaaclab.utils import configclass +from .. import sim as sim_utils +from ..sim.spawners import materials +from ..utils import configclass if TYPE_CHECKING: from .terrain_generator_cfg import TerrainGeneratorCfg diff --git a/source/isaaclab/isaaclab/terrains/trimesh/__init__.py b/source/isaaclab/isaaclab/terrains/trimesh/__init__.py index b586b6a18912..df859435dd9e 100644 --- a/source/isaaclab/isaaclab/terrains/trimesh/__init__.py +++ b/source/isaaclab/isaaclab/terrains/trimesh/__init__.py @@ -12,6 +12,6 @@ efficient than the height-field representation, but it is not as flexible. """ -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/terrains/trimesh/mesh_terrains_cfg.py b/source/isaaclab/isaaclab/terrains/trimesh/mesh_terrains_cfg.py index 1e82a88aee77..4717a61af1da 100644 --- a/source/isaaclab/isaaclab/terrains/trimesh/mesh_terrains_cfg.py +++ b/source/isaaclab/isaaclab/terrains/trimesh/mesh_terrains_cfg.py @@ -7,8 +7,7 @@ from dataclasses import MISSING from typing import Literal -from isaaclab.utils import configclass - +from ...utils import configclass from ..sub_terrain_cfg import SubTerrainBaseCfg """ diff --git a/source/isaaclab/isaaclab/terrains/utils.py b/source/isaaclab/isaaclab/terrains/utils.py index b55f746d9134..f93e6e18cbab 100644 --- a/source/isaaclab/isaaclab/terrains/utils.py +++ b/source/isaaclab/isaaclab/terrains/utils.py @@ -13,9 +13,9 @@ from pxr import UsdGeom -import isaaclab.sim as sim_utils -from isaaclab.sim.spawners.materials import spawn_physics_material -from isaaclab.utils.warp import raycast_mesh +from .. import sim as sim_utils +from ..sim.spawners.materials import spawn_physics_material +from ..utils.warp import raycast_mesh def color_meshes_by_height(meshes: list[trimesh.Trimesh], **kwargs) -> trimesh.Trimesh: diff --git a/source/isaaclab/isaaclab/test/env_cfgs.py b/source/isaaclab/isaaclab/test/env_cfgs.py index 55ec3c757126..10ea92dfef3c 100644 --- a/source/isaaclab/isaaclab/test/env_cfgs.py +++ b/source/isaaclab/isaaclab/test/env_cfgs.py @@ -12,10 +12,10 @@ from __future__ import annotations -import isaaclab.sim as sim_utils -from isaaclab.envs import DirectMARLEnvCfg, ManagerBasedEnvCfg, ManagerBasedRLEnvCfg -from isaaclab.scene import InteractiveSceneCfg -from isaaclab.utils import configclass +from .. import sim as sim_utils +from ..envs import DirectMARLEnvCfg, ManagerBasedEnvCfg, ManagerBasedRLEnvCfg +from ..scene import InteractiveSceneCfg +from ..utils import configclass _DEFAULT_DECIMATION = 4 _DEFAULT_EPISODE_LENGTH_S = 5.0 diff --git a/source/isaaclab/isaaclab/test/integration_scene_cfgs.py b/source/isaaclab/isaaclab/test/integration_scene_cfgs.py index f3f51b4aaab0..1857a1c4c79d 100644 --- a/source/isaaclab/isaaclab/test/integration_scene_cfgs.py +++ b/source/isaaclab/isaaclab/test/integration_scene_cfgs.py @@ -5,12 +5,12 @@ """Shared core-only scene configurations for Isaac Lab integration tests.""" -import isaaclab.sim as sim_utils -from isaaclab.actuators import ImplicitActuatorCfg -from isaaclab.assets import ArticulationCfg, RigidObjectCfg -from isaaclab.scene import InteractiveSceneCfg -from isaaclab.utils import configclass -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from .. import sim as sim_utils +from ..actuators import ImplicitActuatorCfg +from ..assets import ArticulationCfg, RigidObjectCfg +from ..scene import InteractiveSceneCfg +from ..utils import configclass +from ..utils.assets import ISAACLAB_NUCLEUS_DIR _CARTPOLE_TEST_CFG = ArticulationCfg( prim_path="{ENV_REGEX_NS}/Robot", diff --git a/source/isaaclab/isaaclab/test/utils/actuator_equivalence.py b/source/isaaclab/isaaclab/test/utils/actuator_equivalence.py index 35aa298a2f78..44cf00d1d9ad 100644 --- a/source/isaaclab/isaaclab/test/utils/actuator_equivalence.py +++ b/source/isaaclab/isaaclab/test/utils/actuator_equivalence.py @@ -27,9 +27,9 @@ import torch import warp as wp -import isaaclab.sim as sim_utils -from isaaclab.actuators import DCMotorCfg, DelayedPDActuatorCfg, IdealPDActuatorCfg, ImplicitActuatorCfg -from isaaclab.sim import SimulationCfg, build_simulation_context +from ... import sim as sim_utils +from ...actuators import DCMotorCfg, DelayedPDActuatorCfg, IdealPDActuatorCfg, ImplicitActuatorCfg +from ...sim import SimulationCfg, build_simulation_context # --------------------------------------------------------------------------- # Actuator configurations under test @@ -292,8 +292,8 @@ def __init__(self, assets: dict, num_envs: int, device: str): def build_dr_term(env, asset_name, joint_ids=None): """Build a ``randomize_actuator_gains`` event term bound to ``asset_name``.""" - from isaaclab.envs.mdp.events import randomize_actuator_gains # noqa: PLC0415 - from isaaclab.managers import EventTermCfg, SceneEntityCfg # noqa: PLC0415 + from ...envs.mdp.events import randomize_actuator_gains # noqa: PLC0415 + from ...managers import EventTermCfg, SceneEntityCfg # noqa: PLC0415 asset_cfg = SceneEntityCfg(asset_name) if joint_ids is not None: @@ -426,7 +426,7 @@ def test_lab_state_reset_isolated_to_reset_env(self): """Lab: DelayedPDActuator circular buffer zeroed for env 0 only.""" ctx, sim, articulation = self._build_and_warm(use_newton_actuators=False) try: - from isaaclab.actuators import DelayedPDActuator # noqa: PLC0415 + from ...actuators import DelayedPDActuator # noqa: PLC0415 delayed = [a for a in articulation.actuators.values() if isinstance(a, DelayedPDActuator)] self.assertGreater(len(delayed), 0, "expected at least one Lab DelayedPDActuator") diff --git a/source/isaaclab/isaaclab/ui/live_plots/__init__.py b/source/isaaclab/isaaclab/ui/live_plots/__init__.py index e14e0f6d52c5..e31db2c15db0 100644 --- a/source/isaaclab/isaaclab/ui/live_plots/__init__.py +++ b/source/isaaclab/isaaclab/ui/live_plots/__init__.py @@ -3,6 +3,6 @@ # # SPDX-License-Identifier: BSD-3-Clause -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/ui/live_plots/manager_live_plots.py b/source/isaaclab/isaaclab/ui/live_plots/manager_live_plots.py index 28036ac36db3..15e0fbaf6f46 100644 --- a/source/isaaclab/isaaclab/ui/live_plots/manager_live_plots.py +++ b/source/isaaclab/isaaclab/ui/live_plots/manager_live_plots.py @@ -14,7 +14,7 @@ import numpy as np if TYPE_CHECKING: - from isaaclab.managers import ManagerBase + from ...managers import ManagerBase logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/ui/widgets/__init__.py b/source/isaaclab/isaaclab/ui/widgets/__init__.py index e14e0f6d52c5..e31db2c15db0 100644 --- a/source/isaaclab/isaaclab/ui/widgets/__init__.py +++ b/source/isaaclab/isaaclab/ui/widgets/__init__.py @@ -3,6 +3,6 @@ # # SPDX-License-Identifier: BSD-3-Clause -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/ui/widgets/line_plot.py b/source/isaaclab/isaaclab/ui/widgets/line_plot.py index 96f6ab500e10..4854cbe37d04 100644 --- a/source/isaaclab/isaaclab/ui/widgets/line_plot.py +++ b/source/isaaclab/isaaclab/ui/widgets/line_plot.py @@ -13,7 +13,7 @@ import omni -from isaaclab.sim import SimulationContext +from ...sim import SimulationContext with suppress(ImportError): # isaacsim.gui is not available when running in headless mode. diff --git a/source/isaaclab/isaaclab/ui/widgets/manager_live_visualizer.py b/source/isaaclab/isaaclab/ui/widgets/manager_live_visualizer.py index bacdccb6a957..3795bd839c85 100644 --- a/source/isaaclab/isaaclab/ui/widgets/manager_live_visualizer.py +++ b/source/isaaclab/isaaclab/ui/widgets/manager_live_visualizer.py @@ -11,11 +11,10 @@ import numpy -from isaaclab.managers import ManagerBase -from isaaclab.sim import SimulationContext -from isaaclab.ui.live_plots.manager_live_plots import DirectScalarLivePlots, ManagerLivePlots -from isaaclab.utils import configclass - +from ...managers import ManagerBase +from ...sim import SimulationContext +from ...utils import configclass +from ..live_plots.manager_live_plots import DirectScalarLivePlots, ManagerLivePlots from .image_plot import ImagePlot from .line_plot import LiveLinePlot from .ui_visualizer_base import UiVisualizerBase diff --git a/source/isaaclab/isaaclab/ui/xr_widgets/__init__.py b/source/isaaclab/isaaclab/ui/xr_widgets/__init__.py index e14e0f6d52c5..e31db2c15db0 100644 --- a/source/isaaclab/isaaclab/ui/xr_widgets/__init__.py +++ b/source/isaaclab/isaaclab/ui/xr_widgets/__init__.py @@ -3,6 +3,6 @@ # # SPDX-License-Identifier: BSD-3-Clause -from isaaclab.utils.module import lazy_export +from ...utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/ui/xr_widgets/instruction_widget.py b/source/isaaclab/isaaclab/ui/xr_widgets/instruction_widget.py index 96a69fce563e..1221d1de1223 100644 --- a/source/isaaclab/isaaclab/ui/xr_widgets/instruction_widget.py +++ b/source/isaaclab/isaaclab/ui/xr_widgets/instruction_widget.py @@ -14,7 +14,7 @@ import omni.ui as ui import omni.usd -import isaaclab.sim as sim_utils +from ... import sim as sim_utils if TYPE_CHECKING: from typing import TypeAlias diff --git a/source/isaaclab/isaaclab/ui/xr_widgets/scene_visualization.py b/source/isaaclab/isaaclab/ui/xr_widgets/scene_visualization.py index 0be679a6929b..b9c87a4c59c4 100644 --- a/source/isaaclab/isaaclab/ui/xr_widgets/scene_visualization.py +++ b/source/isaaclab/isaaclab/ui/xr_widgets/scene_visualization.py @@ -19,8 +19,8 @@ from pxr import Gf -from isaaclab.sim import SimulationContext -from isaaclab.ui.xr_widgets import show_instruction +from ...sim import SimulationContext +from . import show_instruction # import logger logger = logging.getLogger(__name__) diff --git a/source/isaaclab/isaaclab/ui/xr_widgets/teleop_visualization_manager.py b/source/isaaclab/isaaclab/ui/xr_widgets/teleop_visualization_manager.py index 3ba817c71190..de5beb75bea7 100644 --- a/source/isaaclab/isaaclab/ui/xr_widgets/teleop_visualization_manager.py +++ b/source/isaaclab/isaaclab/ui/xr_widgets/teleop_visualization_manager.py @@ -5,8 +5,8 @@ from typing import Any -from isaaclab.ui.xr_widgets import DataCollector, TriggerType, VisualizationManager -from isaaclab.ui.xr_widgets.instruction_widget import hide_instruction +from . import DataCollector, TriggerType, VisualizationManager +from .instruction_widget import hide_instruction class TeleopVisualizationManager(VisualizationManager): diff --git a/source/isaaclab/isaaclab/utils/assets.py b/source/isaaclab/isaaclab/utils/assets.py index 92b49891d134..5f83354e7991 100644 --- a/source/isaaclab/isaaclab/utils/assets.py +++ b/source/isaaclab/isaaclab/utils/assets.py @@ -29,7 +29,7 @@ from filelock import FileLock -from isaaclab.paths import ISAACLAB_ROOT +from ..paths import ISAACLAB_ROOT logger = logging.getLogger(__name__) @@ -646,7 +646,7 @@ def retrieve_file_path(path: str, download_dir: str | None = None, force_downloa elif file_status == 2: omni_client = _get_omni_client() - from isaaclab.app.loading_screen import report_activity + from ..app.loading_screen import report_activity # resolve download directory if download_dir is None: diff --git a/source/isaaclab/isaaclab/utils/backend_utils.py b/source/isaaclab/isaaclab/utils/backend_utils.py index 4f0614232bcc..6ea8a8c0943c 100644 --- a/source/isaaclab/isaaclab/utils/backend_utils.py +++ b/source/isaaclab/isaaclab/utils/backend_utils.py @@ -10,7 +10,7 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: - from isaaclab.renderers.renderer_cfg import RendererCfg + from ..renderers.renderer_cfg import RendererCfg logger = logging.getLogger(__name__) @@ -76,7 +76,7 @@ def _get_backend(cls, *args, **kwargs) -> str: Falls back to ``"newton"`` when no simulation context is initialized yet. """ # Import lazily to avoid import cycles at module load time. - from isaaclab.sim.simulation_context import SimulationContext + from ..sim.simulation_context import SimulationContext sim_context = SimulationContext.instance() if sim_context is None: diff --git a/source/isaaclab/isaaclab/utils/buffers/__init__.py b/source/isaaclab/isaaclab/utils/buffers/__init__.py index 31d62c46d8d1..976bddcbade8 100644 --- a/source/isaaclab/isaaclab/utils/buffers/__init__.py +++ b/source/isaaclab/isaaclab/utils/buffers/__init__.py @@ -5,6 +5,6 @@ """Sub-module containing different buffers.""" -from isaaclab.utils.module import lazy_export +from ..module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/utils/datasets/__init__.py b/source/isaaclab/isaaclab/utils/datasets/__init__.py index c656bdd684ef..618224eee7a4 100644 --- a/source/isaaclab/isaaclab/utils/datasets/__init__.py +++ b/source/isaaclab/isaaclab/utils/datasets/__init__.py @@ -12,6 +12,6 @@ Submodule for datasets classes and methods. """ -from isaaclab.utils.module import lazy_export +from ..module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/utils/datasets/hdf5_dataset_file_handler.py b/source/isaaclab/isaaclab/utils/datasets/hdf5_dataset_file_handler.py index f59e96c32e9c..fcb4bda716a3 100644 --- a/source/isaaclab/isaaclab/utils/datasets/hdf5_dataset_file_handler.py +++ b/source/isaaclab/isaaclab/utils/datasets/hdf5_dataset_file_handler.py @@ -12,8 +12,7 @@ import numpy as np import torch -from isaaclab.utils.math import convert_quat - +from ..math import convert_quat from .dataset_file_handler_base import DatasetFileHandlerBase from .episode_data import EpisodeData diff --git a/source/isaaclab/isaaclab/utils/images.py b/source/isaaclab/isaaclab/utils/images.py index 3b78e5bf157f..2d7f9012ca48 100644 --- a/source/isaaclab/isaaclab/utils/images.py +++ b/source/isaaclab/isaaclab/utils/images.py @@ -13,7 +13,7 @@ import torch -from isaaclab.utils.warp.ops import normalize_image_uint8 +from .warp.ops import normalize_image_uint8 _RGB_LIKE_PREFIXES: tuple[str, ...] = ("rgb", "albedo", "simple_shading") _DEPTH_LIKE_PATTERNS: tuple[str, ...] = ("depth", "distance_to") diff --git a/source/isaaclab/isaaclab/utils/interpolation/__init__.py b/source/isaaclab/isaaclab/utils/interpolation/__init__.py index b4a78cd919a3..0f2954f4a1a6 100644 --- a/source/isaaclab/isaaclab/utils/interpolation/__init__.py +++ b/source/isaaclab/isaaclab/utils/interpolation/__init__.py @@ -7,6 +7,6 @@ Submodule for different interpolation methods. """ -from isaaclab.utils.module import lazy_export +from ..module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/utils/io/__init__.py b/source/isaaclab/isaaclab/utils/io/__init__.py index b747c128f640..acd6ae4f2b45 100644 --- a/source/isaaclab/isaaclab/utils/io/__init__.py +++ b/source/isaaclab/isaaclab/utils/io/__init__.py @@ -7,6 +7,6 @@ Submodules for files IO operations. """ -from isaaclab.utils.module import lazy_export +from ..module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/utils/io/yaml.py b/source/isaaclab/isaaclab/utils/io/yaml.py index a376b0bfb88e..422a2bfb9992 100644 --- a/source/isaaclab/isaaclab/utils/io/yaml.py +++ b/source/isaaclab/isaaclab/utils/io/yaml.py @@ -9,7 +9,7 @@ import yaml -from isaaclab.utils import class_to_dict +from .. import class_to_dict def load_yaml(filename: str) -> dict: diff --git a/source/isaaclab/isaaclab/utils/leapp/__init__.py b/source/isaaclab/isaaclab/utils/leapp/__init__.py index f39b0e4d7eea..4fc5a4aaaab7 100644 --- a/source/isaaclab/isaaclab/utils/leapp/__init__.py +++ b/source/isaaclab/isaaclab/utils/leapp/__init__.py @@ -5,6 +5,6 @@ """Sub-module for LEAPP export annotation and proxy-based policy tracing.""" -from isaaclab.utils.module import lazy_export +from ..module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/utils/leapp/export_annotator.py b/source/isaaclab/isaaclab/utils/leapp/export_annotator.py index 3d78038a30fa..73dfb3742b17 100644 --- a/source/isaaclab/isaaclab/utils/leapp/export_annotator.py +++ b/source/isaaclab/isaaclab/utils/leapp/export_annotator.py @@ -42,11 +42,10 @@ from leapp import annotate from leapp.utils.tensor_description import TensorSemantics -from isaaclab.actuators import IdealPDActuator, ImplicitActuator -from isaaclab.assets.articulation.base_articulation import BaseArticulation -from isaaclab.managers import ManagerTermBase -from isaaclab.utils.array import convert_to_torch - +from ...actuators import IdealPDActuator, ImplicitActuator +from ...assets.articulation.base_articulation import BaseArticulation +from ...managers import ManagerTermBase +from ..array import convert_to_torch from .leapp_semantics import select_element_names from .proxy import _ArticulationWriteProxy, _DataProxy, _EnvProxy, _ManagerTermProxy from .utils import ( @@ -56,7 +55,7 @@ ) if TYPE_CHECKING: - from isaaclab.envs import ManagerBasedEnv + from ...envs import ManagerBasedEnv VARIABLE_IMPEDANCE_MODES = frozenset({"variable", "variable_kp"}) diff --git a/source/isaaclab/isaaclab/utils/leapp/leapp_semantics.py b/source/isaaclab/isaaclab/utils/leapp/leapp_semantics.py index a165266f8435..5fc88addc0e0 100644 --- a/source/isaaclab/isaaclab/utils/leapp/leapp_semantics.py +++ b/source/isaaclab/isaaclab/utils/leapp/leapp_semantics.py @@ -14,7 +14,7 @@ import warp as wp -from isaaclab.utils.array import convert_to_torch +from ..array import convert_to_torch try: from leapp import InputKindEnum, OutputKindEnum diff --git a/source/isaaclab/isaaclab/utils/leapp/proxy.py b/source/isaaclab/isaaclab/utils/leapp/proxy.py index 49ef86e7265f..a2cefaebadf6 100644 --- a/source/isaaclab/isaaclab/utils/leapp/proxy.py +++ b/source/isaaclab/isaaclab/utils/leapp/proxy.py @@ -12,9 +12,8 @@ import torch from leapp.utils.tensor_description import TensorSemantics -from isaaclab.managers import ManagerTermBase -from isaaclab.utils.warp.proxy_array import ProxyArray - +from ...managers import ManagerTermBase +from ..warp.proxy_array import ProxyArray from .leapp_semantics import resolve_leapp_element_names from .utils import TracedProxyArray, build_write_connection diff --git a/source/isaaclab/isaaclab/utils/leapp/utils.py b/source/isaaclab/isaaclab/utils/leapp/utils.py index 2308f662ab80..aa57753c8dc5 100644 --- a/source/isaaclab/isaaclab/utils/leapp/utils.py +++ b/source/isaaclab/isaaclab/utils/leapp/utils.py @@ -12,8 +12,7 @@ from leapp import annotate from leapp.utils.tensor_description import TensorSemantics -from isaaclab.utils.warp.proxy_array import ProxyArray - +from ..warp.proxy_array import ProxyArray from .leapp_semantics import LeappTensorSemantics, resolve_leapp_element_names diff --git a/source/isaaclab/isaaclab/utils/modifiers/__init__.py b/source/isaaclab/isaaclab/utils/modifiers/__init__.py index 4158f29442cb..d351b42e3875 100644 --- a/source/isaaclab/isaaclab/utils/modifiers/__init__.py +++ b/source/isaaclab/isaaclab/utils/modifiers/__init__.py @@ -53,6 +53,6 @@ """ -from isaaclab.utils.module import lazy_export +from ..module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/utils/modifiers/modifier_cfg.py b/source/isaaclab/isaaclab/utils/modifiers/modifier_cfg.py index 90d5535afb17..955b9d5bed9b 100644 --- a/source/isaaclab/isaaclab/utils/modifiers/modifier_cfg.py +++ b/source/isaaclab/isaaclab/utils/modifiers/modifier_cfg.py @@ -11,7 +11,7 @@ import torch -from isaaclab.utils import configclass +from .. import configclass if TYPE_CHECKING: from .modifier import DigitalFilter, Integrator diff --git a/source/isaaclab/isaaclab/utils/noise/__init__.py b/source/isaaclab/isaaclab/utils/noise/__init__.py index 85ea960a5e42..1c361eeedcca 100644 --- a/source/isaaclab/isaaclab/utils/noise/__init__.py +++ b/source/isaaclab/isaaclab/utils/noise/__init__.py @@ -26,6 +26,6 @@ """ -from isaaclab.utils.module import lazy_export +from ..module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/utils/noise/noise_cfg.py b/source/isaaclab/isaaclab/utils/noise/noise_cfg.py index 4265a12cda84..da76e38b7212 100644 --- a/source/isaaclab/isaaclab/utils/noise/noise_cfg.py +++ b/source/isaaclab/isaaclab/utils/noise/noise_cfg.py @@ -11,7 +11,7 @@ import torch -from isaaclab.utils import configclass +from .. import configclass if TYPE_CHECKING: from .noise_model import NoiseModel, NoiseModelWithAdditiveBias diff --git a/source/isaaclab/isaaclab/utils/timer.py b/source/isaaclab/isaaclab/utils/timer.py index 23f9ff90952f..00b9f52cc01e 100644 --- a/source/isaaclab/isaaclab/utils/timer.py +++ b/source/isaaclab/isaaclab/utils/timer.py @@ -220,7 +220,7 @@ def __enter__(self) -> Timer: """Start timing and return this `Timer` instance.""" if self._activity is not None: # imported here so that timers without an activity pay nothing for the hook - from isaaclab.app.loading_screen import report_activity + from ..app.loading_screen import report_activity report_activity(self._activity) self.start() @@ -230,7 +230,7 @@ def __exit__(self, *exc_info: Any): """Stop timing.""" self.stop() if self._activity is not None: - from isaaclab.app.loading_screen import report_activity + from ..app.loading_screen import report_activity report_activity(None) # print message diff --git a/source/isaaclab/isaaclab/utils/warp/__init__.py b/source/isaaclab/isaaclab/utils/warp/__init__.py index 569b80c9b089..2b2eef4ecef1 100644 --- a/source/isaaclab/isaaclab/utils/warp/__init__.py +++ b/source/isaaclab/isaaclab/utils/warp/__init__.py @@ -12,7 +12,7 @@ wp.config.quiet = True wp.init() -from isaaclab.utils.module import lazy_export +from ..module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/utils/warp/kernels.py b/source/isaaclab/isaaclab/utils/warp/kernels.py index eda3973e5dc3..dfc0cc808dfb 100644 --- a/source/isaaclab/isaaclab/utils/warp/kernels.py +++ b/source/isaaclab/isaaclab/utils/warp/kernels.py @@ -10,7 +10,7 @@ import torch import warp as wp -from isaaclab.utils.warp.index_kernel import IndexKernelDispatcher +from .index_kernel import IndexKernelDispatcher ## # Raycasting diff --git a/source/isaaclab/isaaclab/utils/wrench_composer.py b/source/isaaclab/isaaclab/utils/wrench_composer.py index 31d08089160c..83c884c8f3b8 100644 --- a/source/isaaclab/isaaclab/utils/wrench_composer.py +++ b/source/isaaclab/isaaclab/utils/wrench_composer.py @@ -13,8 +13,8 @@ import torch import warp as wp -from isaaclab.utils.warp import ProxyArray -from isaaclab.utils.warp.kernels import ( +from .warp import ProxyArray +from .warp.kernels import ( add_forces_to_dual_buffers_index_kernel, add_forces_to_dual_buffers_mask, add_raw_wrench_buffers, @@ -26,7 +26,7 @@ ) if TYPE_CHECKING: - from isaaclab.assets import BaseArticulation, BaseRigidObject, BaseRigidObjectCollection + from ..assets import BaseArticulation, BaseRigidObject, BaseRigidObjectCollection class WrenchComposer: diff --git a/source/isaaclab/isaaclab/visualizers/__init__.py b/source/isaaclab/isaaclab/visualizers/__init__.py index 7989b59c14b5..1b2c7c9b7221 100644 --- a/source/isaaclab/isaaclab/visualizers/__init__.py +++ b/source/isaaclab/isaaclab/visualizers/__init__.py @@ -5,6 +5,6 @@ """Visualizer configurations and implementations.""" -from isaaclab.utils.module import lazy_export +from ..utils.module import lazy_export lazy_export() diff --git a/source/isaaclab/isaaclab/visualizers/base_visualizer.py b/source/isaaclab/isaaclab/visualizers/base_visualizer.py index 5dc259a3950d..b286071ad855 100644 --- a/source/isaaclab/isaaclab/visualizers/base_visualizer.py +++ b/source/isaaclab/isaaclab/visualizers/base_visualizer.py @@ -18,10 +18,9 @@ if TYPE_CHECKING: from collections.abc import Callable - from isaaclab.managers import ManagerBase - from isaaclab.renderers.base_renderer import VisualMaterialBatch - from isaaclab.scene_data import SceneDataProvider - + from ..managers import ManagerBase + from ..renderers.base_renderer import VisualMaterialBatch + from ..scene_data import SceneDataProvider from .visualizer_cfg import VisualizerCfg @@ -153,8 +152,8 @@ def physics_backend(self) -> str | None: Backend name string, or ``None`` when no simulation context is active yet. """ try: - from isaaclab.sim.simulation_context import SimulationContext - from isaaclab.utils.backend_utils import FactoryBase + from ..sim.simulation_context import SimulationContext + from ..utils.backend_utils import FactoryBase if SimulationContext.instance() is None: return None @@ -209,7 +208,7 @@ def add_live_plots( if os.environ.get("ISAACLAB_DISABLE_LIVE_PLOTS", "0") == "1": return - from isaaclab.ui.live_plots.manager_live_plots import DirectScalarLivePlots, ManagerLivePlots + from ..ui.live_plots.manager_live_plots import DirectScalarLivePlots, ManagerLivePlots # Scalar groups (e.g. episode metrics) are placed first so they appear at # the top of every visualizer's plot list regardless of backend ordering. @@ -408,7 +407,7 @@ def _quat_rotate_vec( """ import torch - from isaaclab.utils.math import quat_apply + from ..utils.math import quat_apply quat = torch.tensor(quat_xyzw, dtype=torch.float32).unsqueeze(0) vector = torch.tensor(vec, dtype=torch.float32).unsqueeze(0) diff --git a/source/isaaclab/isaaclab/visualizers/visualizer_cfg.py b/source/isaaclab/isaaclab/visualizers/visualizer_cfg.py index e58feefe4d86..ccf2bbbd0412 100644 --- a/source/isaaclab/isaaclab/visualizers/visualizer_cfg.py +++ b/source/isaaclab/isaaclab/visualizers/visualizer_cfg.py @@ -9,7 +9,7 @@ from typing import TYPE_CHECKING -from isaaclab.utils import configclass +from ..utils import configclass if TYPE_CHECKING: from .base_visualizer import BaseVisualizer diff --git a/source/isaaclab/test/sensors/test_ray_caster_kernels.py b/source/isaaclab/test/sensors/test_ray_caster_kernels.py index a1d78744e53b..f2905a70a31c 100644 --- a/source/isaaclab/test/sensors/test_ray_caster_kernels.py +++ b/source/isaaclab/test/sensors/test_ray_caster_kernels.py @@ -16,9 +16,7 @@ from __future__ import annotations -import importlib.util import math -import os import numpy as np import pytest @@ -26,45 +24,14 @@ pytestmark = pytest.mark.unit -# --------------------------------------------------------------------------- -# Import kernel modules directly (avoids Isaac Sim / Omniverse dependencies) -# --------------------------------------------------------------------------- - -_SENSOR_KERNEL_PATH = os.path.join( - os.path.dirname(__file__), - os.pardir, - os.pardir, - "isaaclab", - "sensors", - "ray_caster", - "kernels.py", -) -_spec = importlib.util.spec_from_file_location("ray_caster_kernels", os.path.normpath(_SENSOR_KERNEL_PATH)) -_sensor_mod = importlib.util.module_from_spec(_spec) -_spec.loader.exec_module(_sensor_mod) - -_WARP_KERNEL_PATH = os.path.join( - os.path.dirname(__file__), - os.pardir, - os.pardir, - "isaaclab", - "utils", - "warp", - "kernels.py", +from isaaclab.sensors.ray_caster.kernels import ( + apply_z_drift_kernel, + compute_distance_to_image_plane_to_image_masked_kernel, + copy_float2d_to_image1_depth_clipped_masked_kernel, + fill_ray_hits_distance_inf_kernel, + quat_yaw_only, ) -_warp_spec = importlib.util.spec_from_file_location("warp_kernels", os.path.normpath(_WARP_KERNEL_PATH)) -_warp_mod = importlib.util.module_from_spec(_warp_spec) -_warp_spec.loader.exec_module(_warp_mod) - -compute_distance_to_image_plane_to_image_masked_kernel = ( - _sensor_mod.compute_distance_to_image_plane_to_image_masked_kernel -) -apply_z_drift_kernel = _sensor_mod.apply_z_drift_kernel -copy_float2d_to_image1_depth_clipped_masked_kernel = _sensor_mod.copy_float2d_to_image1_depth_clipped_masked_kernel -fill_ray_hits_distance_inf_kernel = _sensor_mod.fill_ray_hits_distance_inf_kernel -quat_yaw_only = _sensor_mod.quat_yaw_only - -raycast_dynamic_meshes_kernel = _warp_mod.raycast_dynamic_meshes_kernel +from isaaclab.utils.warp.kernels import raycast_dynamic_meshes_kernel # --------------------------------------------------------------------------- # Constants & setup