pistarlab.utils package¶
Submodules¶
pistarlab.utils.agent_helpers module¶
-
pistarlab.utils.agent_helpers.get_agent_spec_dict(spec_id, runner_entry_point, entry_point=None, config={}, components={}, interfaces=None, params={}, disabled=False, displayed_name=None, version='0.0.1-dev', description=None)¶
-
pistarlab.utils.agent_helpers.get_agent_spec_interface_dict(interface_id='run', interface_type='rl', observation_space=None, action_space=None, auto_config_spaces=True)¶
pistarlab.utils.env_helpers module¶
-
pistarlab.utils.env_helpers.gen_render_image(env_ref, render_mode=None)¶
-
pistarlab.utils.env_helpers.get_class(module_name, class_name)¶
-
pistarlab.utils.env_helpers.get_class_from_entry_point(entry_point)¶
-
pistarlab.utils.env_helpers.get_default_render_mode(metadata)¶
-
pistarlab.utils.env_helpers.get_env_def(default_render_mode, env_kwargs, default_wrappers=[])¶
-
pistarlab.utils.env_helpers.get_env_instance(entry_point, kwargs)¶
-
pistarlab.utils.env_helpers.get_env_space_info(env_ref)¶
-
pistarlab.utils.env_helpers.get_env_spec_data(spec_id, entry_point=None, env_kwargs={}, env_type='RL_SINGLEPLAYER_ENV', displayed_name=None, version='0.0.1-dev', environment_id=None, environment_displayed_name=None, description=None, default_wrappers=[], default_render_mode=None, metadata={}, tags=[], categories=[])¶
-
pistarlab.utils.env_helpers.get_multiagent_env_space_info(env_ref)¶
-
pistarlab.utils.env_helpers.get_pygame_surface_as_image(surf=None)¶
-
pistarlab.utils.env_helpers.get_stdout_as_image(render_fn)¶
-
pistarlab.utils.env_helpers.get_text_as_image(text)¶
-
pistarlab.utils.env_helpers.get_wrapped_env_instance(entry_point, kwargs, wrappers)¶
-
pistarlab.utils.env_helpers.probe_env_metadata(spec_data, image_path=None)¶ TODO: needs cleaned
-
pistarlab.utils.env_helpers.render_env_frame_as_image(render_fn, mode, output_width=None, output_height=None, ob=None)¶ TODO: needs cleaned
pistarlab.utils.gym_importer module¶
-
pistarlab.utils.gym_importer.get_env_specs_from_gym_registry(entry_point_prefix, environment_id_filter_set=None, default_wrappers=[], max_count=None, gym_prefix_group_matcher=['JourneyEscape', 'Solaris', 'Gravitar', 'Adventure', 'Acrobot', 'AirRaid', 'Alien', 'Carnival', 'Berzerk', 'BipedalWalker', 'MontezumaRevenge', 'FrozenLake', 'CrazyClimber', 'ChopperCommand', 'Centipede', 'BeamRider', 'Tutankham', 'Amidar', 'Assault', 'Asterix', 'Asteroids', 'Atlantis', 'MsPacman', 'MountainCar', 'WizardOfWor', 'Hero', 'DemonAttack', 'CubeCrash', 'BankHeist', 'BattleZone', 'Breakout', 'Boxing', 'YarsRevenge', 'Bowling', 'NameThisGame', 'Enduro', 'DoubleDunk', 'Tennis', 'TimePilot', 'StarGunner', 'FishingDerby', 'Venture', 'UpNDown', 'SpaceInvaders', 'Seaquest', 'Robotank', 'ElevatorAction', 'Gopher', 'Frostbite', 'Freeway', 'VideoPinball', 'ReversedAddition', 'PrivateEye', 'Pooyan', 'Pong', 'Pitfall', 'Phoenix', 'Jamesbond', 'IceHockey', 'Skiing', 'Qbert', 'Riverraid', 'RoadRunner', 'Zaxxon', 'LunarLander', 'KungFuMaster', 'Krull', 'Kangaroo'], env_exclude_set={'Defender-ram-v0', 'Defender-ram-v4', 'Defender-ramDeterministic-v0', 'Defender-ramDeterministic-v4', 'Defender-ramNoFrameskip-v0', 'Defender-ramNoFrameskip-v4', 'Defender-v0', 'Defender-v4', 'DefenderDeterministic-v0', 'DefenderDeterministic-v4', 'DefenderNoFrameskip-v0', 'DefenderNoFrameskip-v4'}, default_render_mode=None, env_type='RL_SINGLEPLAYER_ENV', additional_tags=[], additional_categories=[], version='0.0.1-dev')¶
-
pistarlab.utils.gym_importer.gym_make(id=None, **kwargs)¶
pistarlab.utils.logging module¶
-
class
pistarlab.utils.logging.RedisHandler(context, redis_client)¶ Bases:
logging.StreamHandler-
emit(record)¶ Emit a record.
If a formatter is specified, it is used to format the record. The record is then written to the stream with a trailing newline. If exception information is present, it is formatted using traceback.print_exception and appended to the stream. If the stream has an ‘encoding’ attribute, it is used to determine how to do the output to the stream.
-
-
pistarlab.utils.logging.new_entity_logger(path, entity_type, uid, level: 20, redis_client, log_to_stdout=True, sub_id='default')¶
-
pistarlab.utils.logging.new_scoped_logger(path, scope_name, level: 20, redis_client)¶
-
pistarlab.utils.logging.setup_default_logging(level)¶
-
pistarlab.utils.logging.setup_logging(path, level: 20, redis_client, verbose=True)¶
pistarlab.utils.misc module¶
-
pistarlab.utils.misc.gen_instance_id()¶
-
pistarlab.utils.misc.gen_shortuid()¶
-
pistarlab.utils.misc.gen_timestamp_str()¶
-
pistarlab.utils.misc.gen_uid(prefix='')¶
-
pistarlab.utils.misc.generate_seed(input: str, salt=None)¶
-
pistarlab.utils.misc.get_timestamp_with_proc_info()¶
pistarlab.utils.param_helpers module¶
-
pistarlab.utils.param_helpers.create_params_from_dict(config, prefix, overrides={}, interfaces=[], mode='advanced')¶
-
pistarlab.utils.param_helpers.create_params_from_flattened(flattened_config, overrides={}, interfaces=[], mode='advanced')¶
-
pistarlab.utils.param_helpers.flatten(d, parent_key='', sep='.')¶
pistarlab.utils.pyson module¶
-
pistarlab.utils.pyson.pyson(data, var_lookup={}, depth=0)¶ Converts JSON compatable dictionaries into code using a simple syntax.
returns an object reference with all internal components intialized TODO: could add loops
-
pistarlab.utils.pyson.var(name)¶
pistarlab.utils.remote_pdb module¶
-
class
pistarlab.utils.remote_pdb.LF2CRLF_FileWrapper(connection)¶ Bases:
object-
property
encoding¶
-
write(data, nl_rex=re.compile('\r?\n'))¶
-
writelines(lines, nl_rex=re.compile('\r?\n'))¶
-
property
-
class
pistarlab.utils.remote_pdb.RemotePdb(host, port, patch_stdstreams=False, quiet=False)¶ Bases:
pdb.PdbCopied from: https://github.com/ionelmc/python-remote-pdb/blob/master/src/remote_pdb.py
This will run pdb as a ephemeral telnet service. Once you connect no one else can connect. On construction this object will block execution till a client has connected. Based on https://github.com/tamentis/rpdb I think …
- To use this:
RemotePdb(host=’0.0.0.0’, port=4444).set_trace()
Then run: telnet 127.0.0.1 4444
-
active_instance= None¶
-
set_trace(frame=None)¶ Start debugging from frame.
If frame is not specified, debugging starts from caller’s frame.
-
pistarlab.utils.remote_pdb.cry(message, stderr=<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>)¶
-
pistarlab.utils.remote_pdb.set_trace(host=None, port=None, patch_stdstreams=False, quiet=None)¶ Opens a remote PDB on first available port.
pistarlab.utils.serialize module¶
-
pistarlab.utils.serialize.get_space_properties(space)¶
-
pistarlab.utils.serialize.space_to_pyson(space)¶ converts a space into json and valid pyson
reference: https://github.com/openai/gym-http-api/blob/master/gym_http_server.py
pistarlab.utils.snapshot_helpers module¶
-
pistarlab.utils.snapshot_helpers.get_snapshots_from_file_repo(data_root)¶
-
pistarlab.utils.snapshot_helpers.make_tarfile(output_filename, source_dir)¶