# Python PettingZoo API Documentation # mlagents\_envs.envs.pettingzoo\_env\_factory ## PettingZooEnvFactory Objects ```python class PettingZooEnvFactory() ``` #### env ```python | env(seed: Optional[int] = None, **kwargs: Union[List, int, bool, None]) -> UnityAECEnv ``` Creates the environment with env_id from unity's default_registry and wraps it in a UnityToPettingZooWrapper **Arguments**: - `seed`: The seed for the action spaces of the agents. - `kwargs`: Any argument accepted by `UnityEnvironment`class except file_name # mlagents\_envs.envs.unity\_aec\_env ## UnityAECEnv Objects ```python class UnityAECEnv(UnityPettingzooBaseEnv, AECEnv) ``` Unity AEC (PettingZoo) environment wrapper. #### \_\_init\_\_ ```python | __init__(env: BaseEnv, seed: Optional[int] = None) ``` Initializes a Unity AEC environment wrapper. **Arguments**: - `env`: The UnityEnvironment that is being wrapped. - `seed`: The seed for the action spaces of the agents. #### step ```python | step(action: Any) -> None ``` Sets the action of the active agent and get the observation, reward, termination, truncation and info of the next agent. **Arguments**: - `action`: The action for the active agent #### observe ```python | observe(agent_id) ``` Returns the observation an agent currently can make. `last()` calls this function. #### last ```python | last(observe=True) ``` returns observation, cumulative reward, termination, truncation, info for the current agent (specified by self.agent_selection) # mlagents\_envs.envs.unity\_parallel\_env ## UnityParallelEnv Objects ```python class UnityParallelEnv(UnityPettingzooBaseEnv, ParallelEnv) ``` Unity Parallel (PettingZoo) environment wrapper. #### \_\_init\_\_ ```python | __init__(env: BaseEnv, seed: Optional[int] = None) ``` Initializes a Unity Parallel environment wrapper. **Arguments**: - `env`: The UnityEnvironment that is being wrapped. - `seed`: The seed for the action spaces of the agents. #### reset ```python | reset() -> Dict[str, Any] ``` Resets the environment. # mlagents\_envs.envs.unity\_pettingzoo\_base\_env ## UnityPettingzooBaseEnv Objects ```python class UnityPettingzooBaseEnv() ``` Unity Petting Zoo base environment. #### observation\_spaces ```python | @property | observation_spaces() -> Dict[str, spaces.Space] ``` Return the observation spaces of all the agents. #### observation\_space ```python | observation_space(agent: str) -> Optional[spaces.Space] ``` The observation space of the current agent. #### action\_spaces ```python | @property | action_spaces() -> Dict[str, spaces.Space] ``` Return the action spaces of all the agents. #### action\_space ```python | action_space(agent: str) -> Optional[spaces.Space] ``` The action space of the current agent. #### side\_channel ```python | @property | side_channel() -> Dict[str, Any] ``` The side channels of the environment. You can access the side channels of an environment with `env.side_channel[]`. #### reset ```python | reset(seed: Optional[int] = None, options: Optional[Dict] = None) -> Any ``` Resets the environment. #### render ```python | render() ``` NOT SUPPORTED. Renders the environment as specified by self.render_mode, if supported. Render mode can be `human` to display a window. Other render modes in the default environments are `'rgb_array'` which returns a numpy array and is supported by all environments outside of classic, and `'ansi'` which returns the strings printed (specific to classic environments). #### close ```python | close() -> None ``` Close the environment.