class_docstr: Configure TF Encrypted to use threads on the local CPU.
  
  Each thread instantiates a different Player to simulate secure computations
  without requiring networking. Mostly intended for development/debugging use.
  
  By default new players will be added when looked up for the first time;
  this is useful for  instance to get a complete list of players involved
  in a particular computation (see `auto_add_unknown_players`).
  
  :param (str) player_names: List of players to be used in the session.
  :param str job_name: The name of the job.
  :param bool auto_add_unknown_players: Auto-add player on first lookup.
code: def __init__(
      self,
      player_names=None,
      job_name="localhost",
      auto_add_unknown_players=True,
      debug_mode=False,
  ) -> None:
      super(LocalConfig, self).__init__(debug_mode)
      self._job_name = job_name
      self._auto_add_unknown_players = auto_add_unknown_players
      self._players = []
      if player_names is None:
          player_names = []
      for name in player_names:
          self.add_player(name)
  
imports: import json
  import logging
  import math
  from abc import ABC
  from abc import abstractmethod
  from collections import OrderedDict
  from pathlib import Path
  import tensorflow
  from .player import Player
label_desc: Use image node_id 1 to create a new LocalConfig object from inherited base classes: Config with example: obj = LocalConfig(player_names, job_name, auto_add_unknown_players, debug_mode)