class_docstr: Batch together environments and simulate them in external processes.
  
  The environments are created in external processes by calling the provided
  callables. This can be an environment class, or a function creating the
  environment and potentially wrapping it. The returned environment should not
  access global variables.
class_docstr_tok: ["Batch","together","environments","and","simulate","them","in","external","processes",".","The","environments","are","created","in","external","processes","by","calling","the","provided","callables",".","This","can","be","an","environment","class",",","or","a","function","creating","the","environment","and","potentially","wrapping","it",".","The","returned","environment","should","not","access","global","variables","."]
code: def action_spec(self) -> types.NestedArraySpec:
      return self._action_spec
  
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 7 for calling the ParallelPyEnvironment obj's underlying member method code with example usage: obj.action_spec() and returns: self