class_docstr: Step a single env in a separate process for lock free paralellism.
class_docstr_tok: ["Step","a","single","env","in","a","separate","process","for","lock","free","paralellism","."]
docstr: Step the environment.
  
  Args:
    action: The action to apply to the environment.
    blocking: Whether to wait for the result.
  
  Returns:
    time step when blocking, otherwise callable that returns the time step.
docstr_tok: ["Step","the","environment",".","Args",":","action",":","The","action","to","apply","to","the","environment",".","blocking",":","Whether","to","wait","for","the","result",".","Returns",":","time","step","when","blocking",",","otherwise","callable","that","returns","the","time","step","."]
code: def step(
      self, action: types.NestedArray, blocking: bool = True
  ) -> Union[ts.TimeStep, Promise]:
      """Step the environment.
  
      Args:
        action: The action to apply to the environment.
        blocking: Whether to wait for the result.
  
      Returns:
        time step when blocking, otherwise callable that returns the time step.
      """
      promise = self.call("step", action)
      if blocking:
          return promise()
      else:
          return promise
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import atexit
  import sys
  import traceback
  from typing import Any, Callable, Sequence, Text, Union
  from absl import logging
  import cloudpickle
  import gin
  import numpy
  import tensorflow
  from tf_agents.environments import py_environment
  from tf_agents.system import system_multiprocessing
  from tf_agents.trajectories import time_step
  from tf_agents.typing import types
  from tf_agents.utils import nest_utils
label_desc: Use image node_id 11 for calling the ProcessPyEnvironment obj's underlying member method code with example usage: obj.step(action, blocking) and returns: promise, promise