class_docstr: Partially observable variant of the CartPole gym environment.
  
  https://github.com/openai/gym/blob/master/gym/envs/classic_control/
  cartpole.py
  
  We delete the x- and angular velocity components of the state, so that it
  can only be solved by a memory enhanced model (policy).
code: def step(self, action):
      next_obs, reward, done, truncated, info = super().step(action)
      # next_obs is [x-pos, x-veloc, angle, angle-veloc]
      return (
          np.array([next_obs[0], next_obs[2]]),
          reward,
          done,
          truncated,
          info,
      )
  
file_path: ray/python/ray/rllib/examples/env/stateless_cartpole.py
imports: from gymnasium.spaces import Box
  import numpy
  from gymnasium.envs.classic_control import CartPoleEnv
label_desc: Use image node_id 2 for calling the StatelessCartPole obj's underlying member method code with example usage: obj.step(action) and returns: np,  reward,  done,  truncated,  info