docstr: Identity environment for testing purposes
  
  :param low: (float) the lower bound of the box dim
  :param high: (float) the upper bound of the box dim
  :param eps: (float) the epsilon bound for correct value
  :param ep_length: (int) the length of each episode in timesteps
docstr_tok: ["Identity","environment","for","testing","purposes",":","param","low",":","(","float",")","the","lower","bound","of","the","box","dim",":","param","high",":","(","float",")","the","upper","bound","of","the","box","dim",":","param","eps",":","(","float",")","the","epsilon","bound","for","correct","value",":","param","ep_length",":","(","int",")","the","length","of","each","episode","in","timesteps"]
code: def __init__(self, low=-1, high=1, eps=0.05, ep_length=100):
      """
      Identity environment for testing purposes
  
      :param low: (float) the lower bound of the box dim
      :param high: (float) the upper bound of the box dim
      :param eps: (float) the epsilon bound for correct value
      :param ep_length: (int) the length of each episode in timesteps
      """
      space = Box(low=low, high=high, shape=(1,), dtype=np.float32)
      super().__init__(ep_length=ep_length, space=space)
      self.eps = eps
  
imports: import numpy
  from typing import Optional
  from gym import Env, Space
  from gym.spaces import Discrete, MultiDiscrete, MultiBinary, Box
label_desc: Use image node_id 1 to create a new IdentityEnvBox object from inherited base classes: IdentityEnv with example: obj = IdentityEnvBox(low, high, eps, ep_length)