isaaclab.utils.leapp#

Sub-module for LEAPP export annotation and proxy-based policy tracing.

Classes#

The following classes are part of the public isaaclab.utils.leapp API.

ExportPatcher

Unified patcher that annotates observation inputs and action outputs for LEAPP export.

LeappTensorSemantics

Semantic metadata attached directly to a raw tensor-producing function.

class isaaclab.utils.leapp.ExportPatcher[source]#

Bases: object

Unified patcher that annotates observation inputs and action outputs for LEAPP export.

Observation-side property semantics are resolved lazily inside _DataProxy by combining:

  • the concrete runtime getter from the backend data class

  • the nearest _leapp_semantics metadata found while walking the MRO

This lets backends override property implementations without duplicating decorators from the abstract API.

  • The observation proxy chain (_EnvProxy_SceneProxy_EntityProxy_DataProxy) for state reads by observation term functions.

  • The _ArticulationWriteProxy on each action term, which intercepts target writes and routes .data reads through the same _DataProxy / cache.

Methods:

__init__(export_method[, required_obs_groups])

Initialize the export patcher.

__new__(*args, **kwargs)

__init__(export_method: str, required_obs_groups: set[str] | None = None)[source]#

Initialize the export patcher.

Parameters:
  • export_method – LEAPP export backend passed to annotate.output_tensors().

  • required_obs_groups – Observation groups that should be patched, or None to patch all groups.

classmethod __new__(*args, **kwargs)#
class isaaclab.utils.leapp.LeappTensorSemantics[source]#

Bases: object

Semantic metadata attached directly to a raw tensor-producing function.

Methods:

__new__(*args, **kwargs)

__init__([kind, element_names, ...])

classmethod __new__(*args, **kwargs)#
__init__(kind: Any = None, element_names: list[str] | list[list[str]] | None = None, element_names_resolver: Callable | None = None, const: bool = False) None#