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.pkghelpers module

pistarlab.utils.pkghelpers.run_bash_command(cmd)

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'))
class pistarlab.utils.remote_pdb.RemotePdb(host, port, patch_stdstreams=False, quiet=False)

Bases: pdb.Pdb

Copied 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)

pistarlab.utils.timer module

class pistarlab.utils.timer.Timer

Bases: object

end(id)
get_avg(id)
get_diff(id)
start(id)

Module contents