sinergym.utils.wrappers.ScheduledContextWrapper

class sinergym.utils.wrappers.ScheduledContextWrapper(*args, **kwargs)
__init__(*args, **kwargs)

Wraps an environment to allow a modular transformation of the step() and reset() methods.

Parameters:

env – The environment to wrap

Methods

__init__(*args, **kwargs)

Wraps an environment to allow a modular transformation of the step() and reset() methods.

class_name()

Returns the class name of the wrapper.

close()

Closes the wrapper and env.

get_obs_dict(obs)

Convert observation array to dictionary with variable names as keys.

get_wrapper_attr(name)

Gets an attribute from the wrapper and lower environments if name doesn't exist in this object.

has_wrapper_attr(name)

Checks if the given attribute is within the wrapper or its environment.

render()

Uses the render() of the env that can be overwritten to change the returned data.

reset(*[, seed, options])

Uses the reset() of the env that can be overwritten to change the returned data.

set_wrapper_attr(name, value, *[, force])

Sets an attribute on this wrapper or lower environment if name is already defined.

step(action)

Executes an action and checks if context should be updated based on current datetime.

wrapper_spec(**kwargs)

Generates a WrapperSpec for the wrappers.

Attributes

action_space

Return the Env action_space unless overwritten then the wrapper action_space is used.

logger

metadata

Returns the Env metadata.

np_random

Returns the Env np_random attribute.

np_random_seed

Returns the base environment's np_random_seed.

observation_space

Return the Env observation_space unless overwritten then the wrapper observation_space is used.

render_mode

Returns the Env render_mode.

spec

Returns the Env spec attribute with the WrapperSpec if the wrapper inherits from EzPickle.

unwrapped

Returns the base environment of the wrapper.

logger = <Logger WRAPPER ScheduledContextWrapper (INFO)>
step(action: ndarray) Tuple[ndarray, SupportsFloat, bool, bool, Dict[str, Any]]

Executes an action and checks if context should be updated based on current datetime.

After executing the action, this method checks if the current simulation datetime matches any key in the configuration dictionary. If a match is found, the corresponding context values are applied.

Parameters:

action (np.ndarray) – Action selected by the agent.

Returns:

Standard Gymnasium step

return containing: - Observation for next timestep - Reward obtained - Whether the episode has ended (terminated) - Whether episode has been truncated - Dictionary with extra information (must contain ‘month’, ‘day’, ‘hour’ keys)

Return type:

Tuple[np.ndarray, SupportsFloat, bool, bool, Dict[str, Any]]