what the processes are (used as header when tee'ing
        stdout/stderr outputs)
  * **entrypoint** (*Union**[**Callable**, **str**]*) -- either a
    "Callable" (function) or "cmd" (binary)

  * **args** (*Dict**[**int**, **Tuple**]*) -- arguments to each
    replica

  * **envs** (*Dict**[**int**, **Dict**[**str**, **str**]**]*) --
    env vars to each replica

  * **log_dir** (*str*) -- directory used to write log files

  * **start_method** (*str*) -- multiprocessing start method
    (spawn, fork, forkserver) ignored for binaries

  * **redirects** (*Union**[**Std**, **Dict**[**int**,
    **Std**]**]*) -- which std streams to redirect to a log file

  * **tee** (*Union**[**Std**, **Dict**[**int**, **Std**]**]*) --
    which std streams to redirect + print to console

Return type:
      PContext
Process Context