obci.control.launcher package

Submodules

obci.control.launcher.eeg_experiment_finder module

class obci.control.launcher.eeg_experiment_finder.EEGExperimentFinder(srv_addrs, ctx, client_push_address, nearby_servers)[source]

Bases: object

find_amplified_experiments()[source]
poll_recv(socket, timeout)[source]
obci.control.launcher.eeg_experiment_finder.find_eeg_experiments_and_push_results(ctx, srv_addrs, rq_message, nearby_servers)[source]
obci.control.launcher.eeg_experiment_finder.find_new_experiments_and_push_results(ctx, rq_message)[source]

obci.control.launcher.launch_file_parser module

class obci.control.launcher.launch_file_parser.LaunchFileParser(obci_base_dir, scenario_base_dir, logger=None)[source]

Bases: obci.control.launcher.launch_file_parser.ScenarioParser

class obci.control.launcher.launch_file_parser.LaunchJSONParser(obci_base_dir, scenario_base_dir, logger=None)[source]

Bases: obci.control.launcher.launch_file_parser.ScenarioParser

parse(p_file, p_config_obj, apply_globals=False)[source]
class obci.control.launcher.launch_file_parser.ScenarioParser[source]

Bases: object

parse(p_file, p_config_obj, apply_globals=False)[source]
obci.control.launcher.launch_file_parser.extend_experiment_config(exp_config, peer_id, peer_path, config_sources=None, launch_deps=None, custom_config_path=None, param_overwrites=None, machine=None, apply_globals=True)[source]
obci.control.launcher.launch_file_parser.parse_peer_default_config(peer_id, peer_program_path, logger=None, apply_globals=False)[source]

obci.control.launcher.launch_file_serializer module

class obci.control.launcher.launch_file_serializer.LaunchFileSerializer[source]

Bases: object

serialize(system_config, dump_dir_path, dump_file)[source]
class obci.control.launcher.launch_file_serializer.LaunchFileSerializerINI[source]

Bases: obci.control.launcher.launch_file_serializer.LaunchFileSerializer

Dump scenario to an INI scenario file and separate peer config files.

class obci.control.launcher.launch_file_serializer.LaunchFileSerializerJSON[source]

Bases: obci.control.launcher.launch_file_serializer.LaunchFileSerializer

Dump entire scenario to one large JSON.

obci.control.launcher.launch_file_serializer.serialize_scenario_json(p_system_config)[source]

obci.control.launcher.launcher_logging module

Module defines a single method get_logger that returns logger with set logging level. Change loggin.INFO lines to change logging level.

obci.control.launcher.launcher_logging.get_logger(p_name, p_level='info')[source]

Return logger with p_name as name. And logging level p_level. p_level should be in (starting with the most talkactive): ‘debug’, ‘info’, ‘warning’, ‘error’, ‘critical’.

obci.control.launcher.launcher_messages module

obci.control.launcher.launcher_tools module

class obci.control.launcher.launcher_tools.ExperimentStatus[source]

Bases: object

as_dict()[source]
del_peer_status(peer_id)[source]
peer_status(peer_id)[source]
peer_status_exists(status_name)[source]
set_status(status_name, details={})[source]
class obci.control.launcher.launcher_tools.PeerStatus(peer_id, status_name='not_ready')[source]

Bases: object

as_dict()[source]
set_status(status_name, details=())[source]
obci.control.launcher.launcher_tools.broker_path()[source]

Used only in obci_process_supervisor.py and supervisor_test.py

obci.control.launcher.launcher_tools.default_config_path(peer_program_path)[source]
obci.control.launcher.launcher_tools.expand_path(program_path, base_dir=None)[source]
obci.control.launcher.launcher_tools.module_path(module)[source]
obci.control.launcher.launcher_tools.obci_root()[source]
obci.control.launcher.launcher_tools.obci_root_relative(path)[source]
obci.control.launcher.launcher_tools.which(file)[source]

obci.control.launcher.local_process module

class obci.control.launcher.local_process.LocalProcess(proc_description, popen_obj, io_handler=None, reg_timeout_desc=None, monitoring_optflags=6, logger=None)[source]

Bases: obci.control.launcher.process.Process

finished()[source]
is_local()[source]
kill()[source]
kill_with_force(timeout_s=0.5)[source]
process_is_running()[source]
returncode_monitor()[source]
tail_stdout(lines=10)[source]

obci.control.launcher.obci_client module

class obci.control.launcher.obci_client.EmptyResponse(details)[source]

Bases: object

class obci.control.launcher.obci_client.OBCIClient(server_addresses, zmq_context=None)[source]

Bases: object

add_peer(strname, peer_id, path, machine, param_overwrites=None, custom_config_path=None, config_sources=None, launch_dependencies=None, apply_globals=True)[source]
configure_peer(exp_strname, peer_id, config_overrides, override_files=None)[source]
default_timeout = 5000
force_kill_experiment(strname)[source]
get_experiment_contact(strname)[source]
get_experiment_details(strname, peer_id=None)[source]
get_tail(strname, peer_id, len_)[source]
init_server_socket(srv_addrs)[source]
join_experiment(strname, peer_id, path)[source]
kill_exp(strname, force=False)[source]
kill_peer(exp_strname, peer_id, remove_config=False)[source]
launch(launch_file=None, sandbox_dir=None, name=None, overwrites=None)[source]
leave_experiment(strname, peer_id)[source]
morph(exp_strname, launch_file, name=None, overwrites=None, leave_on=None)[source]
ping_server(timeout=50)[source]
poll_recv(socket, timeout)[source]
retry_ping(timeout=50)[source]
send_create_experiment(launch_file=None, sandbox_dir=None, name=None, overwrites=None)[source]
send_list_experiments()[source]
send_list_nearby_machines()[source]
send_start_experiment(exp_addrs)[source]
srv_kill()[source]
start_chosen_experiment(exp_strname)[source]

obci.control.launcher.obci_control_peer module

class obci.control.launcher.obci_control_peer.HandlerCollection[source]

Bases: object

copy()[source]
default_handler()[source]
error_handler()[source]
handler(message_type)[source]
handler_for(message_name)[source]
new_from(other)[source]
unsupported_handler()[source]
exception obci.control.launcher.obci_control_peer.MessageHandlingError[source]

Bases: obci.control.launcher.obci_control_peer.OBCIControlPeerError

class obci.control.launcher.obci_control_peer.OBCIControlPeer(source_addresses=None, rep_addresses=None, pub_addresses=None, name='obci_control_peer')[source]

Bases: object

all_sockets()[source]
bad_msg_handler(message, sock)[source]
basic_sockets()[source]
clean_up()[source]
cleanup_before_net_shutdown(kill_message, sock=None)[source]
custom_sockets()[source]

subclass this

default_handler(message, sock)[source]

Ignore message

handle_dead_process(message, sock)[source]
handle_kill(message, sock)[source]
handle_message(message, sock)[source]
handle_ping(message, sock)[source]
handle_register_peer(message, sock)[source]

Subclass this.

handle_socket_read_error(socket, error)[source]
message_tool()[source]
msg_handlers = <obci.control.launcher.obci_control_peer.HandlerCollection object>
net_init()[source]
params_for_registration()[source]
peer_type()[source]
pre_run()[source]
register()[source]
run()[source]
shutdown()[source]
signal_handler()[source]
unsupported_msg_handler(message, sock)[source]
exception obci.control.launcher.obci_control_peer.OBCIControlPeerError[source]

Bases: Exception

class obci.control.launcher.obci_control_peer.RegistrationDescription(uuid, name, rep_addrs, pub_addrs, machine, pid, other=None)[source]

Bases: object

info()[source]
obci.control.launcher.obci_control_peer.basic_arg_parser()[source]

obci.control.launcher.obci_experiment module

class obci.control.launcher.obci_experiment.OBCIExperiment(sandbox_dir, launch_file=None, source_addresses=None, source_pub_addresses=None, rep_addresses=None, pub_addresses=None, name='obci_experiment', current_ip=None, launch=False, overwrites=None)[source]

Bases: obci.control.launcher.obci_control_peer.OBCIControlPeer

args_for_process_sv(machine, local=False)[source]
clean_up()[source]
cleanup_before_net_shutdown(kill_message, sock=None)[source]
custom_sockets()[source]
handle_add_peer(message, sock)[source]

Add new peer to existing scenario. It may run on a different machine than already running peers. add_peer works at runtime and before runtime.

handle_all_peers_launched(message, sock)[source]
handle_dead_process(message, sock)[source]
handle_experiment_finished(message, sock)[source]
handle_get_experiment_info(message, sock)[source]
handle_get_experiment_scenario(message, sock)[source]
handle_get_peer_config(message, sock)[source]
handle_get_peer_info(message, sock)[source]
handle_get_peer_param_values(message, sock)[source]
handle_get_tail(message, sock)[source]
handle_join_experiment(message, sock)[source]
handle_kill_peer(message, sock)[source]
handle_launch_error(message, sock)[source]
handle_launched_process_info(message, sock)[source]
handle_leave_experiment(message, sock)[source]
handle_morph(message, sock)[source]
handle_nearby_machines(message, sock)[source]
handle_obci_launch_failed(message, sock)[source]
handle_obci_peer_dead(message, sock)[source]
handle_obci_peer_params_changed(message, sock)[source]
handle_obci_peer_ready(message, sock)[source]
handle_obci_peer_registered(message, sock)[source]
handle_register_peer(message, sock)[source]

Experiment

handle_save_scenario(message, sock)[source]
handle_set_experiment_scenario(message, sock)[source]
handle_start_experiment(message, sock)[source]
handle_tail(message, sock)[source]
handle_update_peer_config(message, sock)[source]
make_experiment_config(exp_config, launch_file, status)[source]
msg_handlers = <obci.control.launcher.obci_control_peer.HandlerCollection object>
mx_args()[source]
net_init()[source]
params_for_registration()[source]
peer_type()[source]
status_changed(status_name, details, peers=None)[source]
obci.control.launcher.obci_experiment.experiment_arg_parser()[source]
obci.control.launcher.obci_experiment.run_obci_experiment()[source]

obci.control.launcher.obci_process_supervisor module

class obci.control.launcher.obci_process_supervisor.OBCIProcessSupervisor(sandbox_dir, source_addresses=None, source_pub_addresses=None, rep_addresses=None, pub_addresses=None, experiment_uuid='', name='obci_process_supervisor')[source]

Bases: obci.control.launcher.obci_control_peer.OBCIControlPeer

clean_up()[source]
cleanup_before_net_shutdown(kill_message, sock=None)[source]
custom_sockets()[source]
handle_dead_process(message, sock)[source]
handle_experiment_finished(message, sock)[source]
handle_experiment_launch_error(message, sock)[source]
handle_get_tail(message, sock)[source]
handle_kill_peer(message, sock)[source]
handle_manage_peers(message, sock)[source]
handle_morph(message, sock)[source]
handle_nearby_machines(message, sock)[source]
handle_obci_control_message(message, sock)[source]
handle_obci_peer_params_changed(message, sock)[source]
handle_obci_peer_ready(message, sock)[source]
handle_obci_peer_registered(message, sock)[source]
handle_rq_ok(message, sock)[source]
handle_start_broker(message, sock)[source]
handle_start_config_srv(message, sock)[source]
handle_start_peers(message, sock)[source]
handle_stop_all(message, sock)[source]
handle_supervisor_registered(messsage, sock)[source]
launch_process(peer, launch_data, restore_config=[])[source]
msg_handlers = <obci.control.launcher.obci_control_peer.HandlerCollection object>
mx_addr_str(mx_data)[source]
net_init()[source]
params_for_registration()[source]
peer_env(mx_data)[source]
peer_type()[source]
set_mx_data()[source]
obci.control.launcher.obci_process_supervisor.process_supervisor_arg_parser()[source]
obci.control.launcher.obci_process_supervisor.run_obci_process_supervisor()[source]

obci.control.launcher.obci_script module

class obci.control.launcher.obci_script.OBCIArgParser(description='Launch and manage OBCI experiments, their state and configuration', epilog='(c) 2011-2016, Warsaw University', prog='obci')[source]

Bases: object

add_command(name, help, setup_func, parser_parents=None)[source]
defined_commands = {'srv_kill': {'setup_func': <function setup_srv_kill>, 'help': 'Kill OBCIServer', 'parser_parents': [ArgumentParser(prog='setup.py', usage=None, description='OBCI Server : manage OBCI experiments.', formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=False)]}, 'kill': {'setup_func': <function setup_kill>, 'help': 'Kill an OpenBCI experiment'}, 'info': {'setup_func': <function setup_info>, 'help': 'Get information about controlled OpenBCI experiments and peers'}, 'morph': {'setup_func': <function setup_morph>, 'help': 'Transform chosen running scenario into another.Optionally leave some peers running instead of restarting them'}, 'launch': {'setup_func': <function setup_launch>, 'help': 'Launch an OpenBCI system with configuration specified in a launch file or in a newly created Experiment'}, 'srv': {'setup_func': <function setup_srv>, 'help': 'Start OBCIServer', 'parser_parents': [ArgumentParser(prog='setup.py', usage=None, description='OBCI Server : manage OBCI experiments.', formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=False)]}}
setup_commands(cmd_defs={})[source]
obci.control.launcher.obci_script.cmd_add(args)[source]
obci.control.launcher.obci_script.cmd_config(args)[source]
obci.control.launcher.obci_script.cmd_info(args)[source]
obci.control.launcher.obci_script.cmd_join(args)[source]
obci.control.launcher.obci_script.cmd_kill(args)[source]
obci.control.launcher.obci_script.cmd_killall(args)[source]
obci.control.launcher.obci_script.cmd_launch(args)[source]
obci.control.launcher.obci_script.cmd_log(args)[source]
obci.control.launcher.obci_script.cmd_morph(args)[source]
obci.control.launcher.obci_script.cmd_new(args)[source]
obci.control.launcher.obci_script.cmd_save(args)[source]
obci.control.launcher.obci_script.cmd_srv(args)[source]
obci.control.launcher.obci_script.cmd_srv_kill(args)[source]
obci.control.launcher.obci_script.cmd_start(args)[source]
obci.control.launcher.obci_script.cmd_tail(args)[source]
obci.control.launcher.obci_script.path_to_file(string)[source]
obci.control.launcher.obci_script.setup_add(parser_add)[source]
obci.control.launcher.obci_script.setup_config(parser_config)[source]
obci.control.launcher.obci_script.setup_info(parser_info)[source]
obci.control.launcher.obci_script.setup_join(parser_join)[source]
obci.control.launcher.obci_script.setup_kill(parser_kill)[source]
obci.control.launcher.obci_script.setup_killall(parser_killall)[source]
obci.control.launcher.obci_script.setup_launch(parser_launch)[source]
obci.control.launcher.obci_script.setup_morph(parser_morph)[source]
obci.control.launcher.obci_script.setup_new(parser_new)[source]
obci.control.launcher.obci_script.setup_save(parser_save)[source]
obci.control.launcher.obci_script.setup_srv(parser_srv)[source]
obci.control.launcher.obci_script.setup_srv_kill(parser_srv_kill)[source]
obci.control.launcher.obci_script.setup_start(parser_start)[source]
obci.control.launcher.obci_script.setup_tail(parser_tail)[source]

obci.control.launcher.obci_script_utils module

obci.control.launcher.obci_script_utils.argv()[source]
obci.control.launcher.obci_script_utils.client_server_prep(cmdargs=None, client_class=<class 'obci.control.launcher.obci_client.OBCIClient'>, server_ip=None, start_srv=True, zmq_ctx=None)[source]
obci.control.launcher.obci_script_utils.connect_client(addresses, client=None, client_class=<class 'obci.control.launcher.obci_client.OBCIClient'>, zmq_ctx=None)[source]
obci.control.launcher.obci_script_utils.launch_obci_server(args=[])[source]
obci.control.launcher.obci_script_utils.server_process_running(expected_dead=False)[source]

Return true if there is an obci_server process running

obci.control.launcher.obci_server module

class obci.control.launcher.obci_server.ExperimentInfo(uuid, name, rep_addrs, pub_addrs, registration_time, origin_machine, pid, status_name=None, details=None, launch_file_path=None, tcp_addrs=None, ip=None)[source]

Bases: object

from_dict(dic)[source]
info()[source]
machine_ip
pid
class obci.control.launcher.obci_server.OBCIServer(rep_addresses=None, pub_addresses=None, name='obci_server')[source]

Bases: obci.control.launcher.obci_control_peer.OBCIControlPeer

clean_up()[source]
cleanup_before_net_shutdown(kill_message, sock=None)[source]
custom_sockets()[source]
exp_matching(strname)[source]

Match strname against all created experiment IDs and names. Return those experiment descriptions which name or uuid starts with strname.

handle_create_experiment(message, sock)[source]
handle_dead_process(message, sock)[source]
handle_experiment_info_change(message, sock)[source]
handle_experiment_status_change(message, sock)[source]
handle_experiment_transformation(message, sock)[source]
handle_find_eeg_experiments(message, sock)[source]
handle_find_new_eeg_amplifiers(message, sock)[source]
handle_get_experiment_contact(message, sock)[source]
handle_kill_experiment(message, sock)[source]
handle_kill_process_supervisor(message, sock)[source]
handle_launch_process(message, sock)[source]
handle_list_experiments(message, sock)[source]
handle_list_nearby_machines(message, sock)[source]
handle_register_experiment(message, sock)[source]
handle_register_peer(message, sock)[source]

Register peer

handle_socket_read_error(socket, error)[source]
handle_start_eeg_signal(message, sock)[source]
msg_handlers = <obci.control.launcher.obci_control_peer.HandlerCollection object>
my_ip()[source]
nearby_server_addrs()[source]
nearby_servers()[source]
net_init()[source]
network_ready()[source]
peer_type()[source]
start_experiment_process(sandbox_dir, launch_file, name=None, overwrites=None)[source]
obci.control.launcher.obci_server.run_obci_server()[source]
obci.control.launcher.obci_server.server_arg_parser(add_help=False)[source]

obci.control.launcher.plain_tcp_handling module

class obci.control.launcher.plain_tcp_handling.OBCIExperimentRequestHandler(request, client_address, server)[source]

Bases: obci.control.launcher.plain_tcp_handling.OBCIPeerRequestHandler

class obci.control.launcher.plain_tcp_handling.OBCIExperimentTCP(server_address, bind_and_activate=True, zmq_ctx=None, zmq_rep_addr=None)[source]

Bases: obci.control.launcher.plain_tcp_handling.OBCIPeerTCP

class obci.control.launcher.plain_tcp_handling.OBCIPeerRequestHandler(request, client_address, server)[source]

Bases: socketserver.StreamRequestHandler

bad_response(rstream, details)[source]
handle()[source]
make_srv_sock()[source]
class obci.control.launcher.plain_tcp_handling.OBCIPeerTCP(server_address, handler_class, bind_and_activate=True, zmq_ctx=None, zmq_rep_addr=None)[source]

Bases: socketserver.TCPServer

allow_reuse_address = True
class obci.control.launcher.plain_tcp_handling.OBCIServerRequestHandler(request, client_address, server)[source]

Bases: obci.control.launcher.plain_tcp_handling.OBCIPeerRequestHandler

handle()[source]
class obci.control.launcher.plain_tcp_handling.OBCIServerTCP(server_address, bind_and_activate=True, zmq_ctx=None, zmq_rep_addr=None)[source]

Bases: obci.control.launcher.plain_tcp_handling.OBCIPeerTCP

obci.control.launcher.plain_tcp_handling.make_netstring(bytes)[source]
obci.control.launcher.plain_tcp_handling.make_unicode_netstring(unicode_str)[source]
obci.control.launcher.plain_tcp_handling.recv_netstring(rstream)[source]
obci.control.launcher.plain_tcp_handling.recv_unicode_netstring(rstream)[source]
obci.control.launcher.plain_tcp_handling.run_tcp_obci_experiment(server_address, zmq_ctx, zmq_rep_addr)[source]
obci.control.launcher.plain_tcp_handling.run_tcp_obci_server(server_address, zmq_ctx, zmq_rep_addr)[source]

obci.control.launcher.process module

class obci.control.launcher.process.Process(proc_description, reg_timeout_desc=None, monitoring_optflags=2, logger=None)[source]

Bases: object

finished()[source]
is_local()[source]
kill()[source]
machine_ip
mark_delete()[source]
marked_delete()[source]
name
new_timer(tim_desc, type_)[source]
path
pid
ping_monitor()[source]
proc_type
process_is_running()[source]
registered(reg_data)[source]
returncode_monitor()[source]
set_registration_timeout_handler(reg_timeout_desc)[source]
start_monitoring()[source]
status()[source]
stop_monitoring()[source]
timeout_handler(custom_method, args, type_)[source]

obci.control.launcher.process_io_handler module

class obci.control.launcher.process_io_handler.ProcessIOHandler(name, stdout=None, stderr=None, stdin=None, out_log=None, err_log=None)[source]

Bases: object

Processes data from descriptors (stdout, stderr) in separate threads. Access to the tail is available through attributes out_tail and err_tail. Communication through stdin, if given, is possible by communicate() method. Data is saved to log files if the handles were given in init.

communicate(input, response_timeout=None)[source]
finished()[source]
is_running()[source]
process_output(lines=None, timeout=None)[source]

Check if there is data from stdout and stderr (if it is monitored). Update tail and save data to logs, if they were given in init. Timeout (s) means blocking queue reads, no timeout - non blocking.

start_output_handler()[source]
stop_output_handler()[source]
tail_stdout(lines)[source]
obci.control.launcher.process_io_handler.start_stdio_handler(popen_obj, stdio_actions, name, stdout_log, stderr_log)[source]

obci.control.launcher.remote_process module

class obci.control.launcher.remote_process.RemoteProcess(proc_description, rq_address, reg_timeout_desc=None, monitoring_optflags=2, logger=None)[source]

Bases: obci.control.launcher.process.Process

is_local()[source]
kill()[source]
registered(reg_data)[source]
returncode_monitor()[source]

obci.control.launcher.server_scanner module

obci.control.launcher.server_scanner.broadcast_server(server_uuid, rep_port, pub_port, bcast_port)[source]
obci.control.launcher.server_scanner.update_nearby_servers(srv_data, bcast_port, ctx=None, update_push_addr=None)[source]

obci.control.launcher.start_eeg_signal module

obci.control.launcher.start_eeg_signal.start_eeg_signal_experiment(ctx, srv_addrs, rq_message)[source]

obci.control.launcher.subprocess_monitor module

class obci.control.launcher.subprocess_monitor.ProcessDescription(proc_type, name, path, args, machine_ip, pid=None)[source]

Bases: object

dict()[source]
class obci.control.launcher.subprocess_monitor.SubprocessMonitor(zmq_ctx, uuid, logger=None, obci_dns=None)[source]

Bases: object

delete(machine, pid)[source]
delete_all()[source]
killall(force=False)[source]
new_local_process(path, args, proc_type='', name='', capture_io=5, stdout_log=None, stderr_log=None, register_timeout_desc=None, monitoring_optflags=6, machine_ip=None, env=None)[source]
new_remote_process(path, args, proc_type, name, machine_ip, conn_addr, capture_io=5, stdout_log=None, stderr_log=None, register_timeout_desc=None, monitoring_optflags=2)[source]

Send a request to conn_addr for a process launch. By default the process will be monitored with ping requests and locally by the remote peer.

not_running_processes()[source]
process(machine_ip, pid)[source]
stop_monitoring()[source]
unknown_status_processes()[source]
class obci.control.launcher.subprocess_monitor.TimeoutDescription(timeout=3, timeout_method=None, timeout_args=[])[source]

Bases: object

default_timeout_method()[source]
timer()[source]
obci.control.launcher.subprocess_monitor.default_timeout_handler()[source]

obci.control.launcher.system_config module

class obci.control.launcher.system_config.OBCIExperimentConfig(launch_file_path=None, uuid=None, origin_machine=None, logger=None)[source]

Bases: object

add_peer(peer_id)[source]
all_param_values(peer_id)[source]
config_ready()[source]
config_sources_graph_ok()[source]
extend_with_peer(peer_id, peer_path, peer_cfg, config_sources=None, launch_deps=None, param_overwrites=None, machine=None)[source]
file_update_peer_config(peer_id, file_path)[source]
info()[source]
launch_data(peer_machine)[source]
launch_deps_graph_ok()[source]
launch_file_path
local_params(peer_id)[source]
param_value(peer_id, param_name)[source]
peer_config(peer_id)[source]
peer_graph(neighbours_method)[source]
peer_machine(peer_id)[source]
peer_machines()[source]
peer_order()[source]
peer_path(peer_id)[source]
peers_info()[source]
set_config_source(peer_id, src_name, src_peer_id)[source]
set_launch_dependency(peer_id, dep_name, dep_peer_id)[source]
set_peer_config(peer_id, peer_config)[source]
set_peer_machine(peer_id, machine_name)[source]
set_peer_path(peer_id, path)[source]
status(status_obj)[source]
update_external_param(peer_id, p_name, src, src_param)[source]
update_local_param(peer_id, p_name, p_value)[source]
update_peer_config(peer_id, config_dict)[source]
update_peer_machine(peer_id, machine_ip)[source]
exception obci.control.launcher.system_config.OBCISystemConfigError[source]

Bases: Exception

exception obci.control.launcher.system_config.OBCISystemConfigWarning[source]

Bases: Warning

class obci.control.launcher.system_config.PeerConfigDescription(peer_id, experiment_id, config=None, path=None, machine=None, logger=None)[source]

Bases: object

info(detailed=False)[source]
launch_data()[source]
list_config_sources()[source]
list_launch_deps()[source]
peer_type()[source]
ready(details=None)[source]
status(peer_status_obj)[source]

obci.control.launcher.twisted_tcp_handling module

class obci.control.launcher.twisted_tcp_handling.OBCIProxy[source]

Bases: twisted.protocols.basic.NetstringReceiver

stringReceived(string)[source]
class obci.control.launcher.twisted_tcp_handling.OBCIProxyFactory(address, zmq_ctx, zmq_rep_addr)[source]

Bases: twisted.internet.protocol.Factory

protocol

alias of OBCIProxy

obci.control.launcher.twisted_tcp_handling.run_twisted_server(address, zmq_ctx, zmq_rep_addr)[source]

obci.control.launcher.view module

class obci.control.launcher.view.OBCIView[source]

Bases: object

format_default(msg)[source]
view(msg, where=None)[source]

Abstract method for printing data in launcher messages.

view_raw(msg, where=None)[source]
class obci.control.launcher.view.OBCIViewText[source]

Bases: obci.control.launcher.view.OBCIView

format_default(msg)[source]
view_raw(msg, where=None)[source]

Module contents