text: import os,sys
  sys.path.insert(1, os.path.join(sys.path[0], '..'))
  import argparse
  
  from PartLy.environment import MultiAgentEnv
  from PartLy.policy import InteractivePolicy
  import PartLy.scenarios as scenarios
  
  if __name__ == '__main__':
      # parse arguments
      parser = argparse.ArgumentParser(description=None)
      parser.add_argument('-s', '--scenario', default='Partitioner_Pk2.py', help='Path of the scenario Python script.')
      args = parser.parse_args()
  
      # load scenario from script
      scenario = scenarios.load(args.scenario).Scenario()
      # create world
      world = scenario.make_world()
      # create PartLy environment
      env = MultiAgentEnv(world, scenario.reset_world, scenario.reward, scenario.observation, info_callback=None, shared_viewer = False)
  
      # create interactive policies for each agent
      policies = [InteractivePolicy(env,i) for i in range(env.n)]
      # execution loop
      obs_n = env.reset()
      while True:
          # query for action from each agent's policy
          act_n = []
          for i, policy in enumerate(policies):
              act_n.append(policy.action(obs_n[i]))
          # step environment
          obs_n, reward_n, done_n, _ = env.step(act_n)
          #for agent in env.world.agents:
          #    print(agent.name + " reward: %0.3f" % env._get_reward(agent))
  