class_docstr: Structured policy class designed to work with structured environments.
  (see :class:`~maze.core.env.structured_env.StructuredEnv`).
  
  It encapsulates policies and queries them for actions according to the provided policy ID.
class_docstr_tok: ["Structured","policy","class","designed","to","work","with","structured","environments",".","(","see",":","class",":","`","~maze.core.env.structured_env.StructuredEnv","`",")",".","It","encapsulates","policies","and","queries","them","for","actions","according","to","the","provided","policy","ID","."]
docstr: Similar to `needs_state`, the policy implementation declares if it operates solely on observations
  (needs_env returns False) or if it also requires the env object in order to compute the action.
  
  Requiring the env should be regarded as anti-pattern, but is supported for special cases like the MCTS policy,
  which requires cloning support from the environment.
  
  :return Per default policies return False.
docstr_tok: ["Similar","to","`","needs_state","`",",","the","policy","implementation","declares","if","it","operates","solely","on","observations","(","needs_env","returns","False",")","or","if","it","also","requires","the","env","object","in","order","to","compute","the","action",".","Requiring","the","env","should","be","regarded","as","anti-pattern",",","but","is","supported","for","special","cases","like","the","MCTS","policy",",","which","requires","cloning","support","from","the","environment",".",":","return","Per","default","policies","return","False","."]
code: def needs_env(self) -> bool:
      """Similar to `needs_state`, the policy implementation declares if it operates solely on observations
      (needs_env returns False) or if it also requires the env object in order to compute the action.
  
      Requiring the env should be regarded as anti-pattern, but is supported for special cases like the MCTS policy,
      which requires cloning support from the environment.
  
      :return Per default policies return False.
      """
      return False
  
file_path: maze/maze/core/agent/policy.py
imports: from abc import ABC, abstractmethod
  from typing import Tuple, Optional, List
  from maze.core.env.action_conversion import ActionType
  from maze.core.env.base_env import BaseEnv
  from maze.core.env.maze_state import MazeStateType
  from maze.core.env.observation_conversion import ObservationType
  from maze.core.env.structured_env import ActorID
  from maze.core.trajectory_recording.records.spaces_record import PolicyRecordType
label_desc: Use image node_id 3 for calling the Policy obj's underlying member method code with example usage: obj.needs_env() and returns: False