openenv/echo_env
6
1# SPDX-License-Identifier: BSD-3-Clause2 3"""Base transform implementations for composing environment-specific transforms."""4 5from .interfaces import Transform6from .types import Observation7 8 9class CompositeTransform(Transform):10 """Combines multiple transforms into a single transform."""11 12 def __init__(self, transforms: list[Transform]):13 self.transforms = transforms14 15 def __call__(self, observation: Observation) -> Observation:16 for transform in self.transforms:17 observation = transform(observation)18 return observation19 20 21class NullTransform(Transform):22 """Default transform that passes through unchanged."""23 24 def __call__(self, observation: Observation) -> Observation:25 return observation26 