main_server package

Submodules

main_server.algorithm_control module

main_server.app module

main_server.app.assignments()
main_server.app.graph()
main_server.app.home()

GET: Loads a homepage to control children raspberries. POST: Receives info from children.

main_server.app.push()

Pushes all assignments to the children servers.

main_server.app.update_home_data()

main_server.database_manager module

main_server.database_manager.add_new_child(*args, **kwargs)
main_server.database_manager.create_assignment(*args, **kwargs)
main_server.database_manager.create_assignments(*args, **kwargs)
main_server.database_manager.db(database, commit=True, row_factory=<function dict_factory>)
main_server.database_manager.dict_factory(cursor, row)
main_server.database_manager.diff(*args, **kwargs)
main_server.database_manager.dump_bin_data(*args, **kwargs)
main_server.database_manager.fetch_all_children(*args, **kwargs)
main_server.database_manager.fetch_assignments(*args, **kwargs)
main_server.database_manager.fetch_children(*args, **kwargs)
main_server.database_manager.fetch_children_no_dec(cursor, limit=5)
main_server.database_manager.fetch_children_subset(*args, **kwargs)
main_server.database_manager.fetch_recent_data(*args, **kwargs)
main_server.database_manager.fetch_recent_data_no_dec(cursor, limit=5)
main_server.database_manager.fitness_from_batch_id(*args, **kwargs)
main_server.database_manager.get_best_individual(*args, **kwargs)
main_server.database_manager.get_column_names(*args, **kwargs)
main_server.database_manager.get_exsiting_batch(*args, **kwargs)
main_server.database_manager.get_fitness_graph(cursor, limit=100)

returns maximum for each batch_id

main_server.database_manager.get_from_batch_id(*args, **kwargs)
main_server.database_manager.get_genome_graph(*args, **kwargs)
main_server.database_manager.get_graph(*args, **kwargs)
main_server.database_manager.get_home_data(*args, **kwargs)
main_server.database_manager.get_new_batch_id(*args, **kwargs)
main_server.database_manager.initialize_tables(filename)
main_server.database_manager.to_number(x)
main_server.database_manager.update_assignment(*args, **kwargs)
main_server.database_manager.update_columns(cols)

main_server.hanashi module

main_server.hanashi.arduino_command(command, servers=False, wait_return=False)

Sends a command to connected arduino to a list of servers.

servers must be a list of urls. Otherwise it sends the command to all available servers. wait_return: If False it will just send a command. Otherwise it waits for a response.

main_server.hanashi.check_exsiting_batch()

If an assignment already exists, returns tuple of remaining items. Otherwise returns False. Never allow batch_id to be zero.

main_server.hanashi.create_new_batch(X, servers=False)
X: numpy.array

Chromossome population matrix where lines are chromossomes.

servers: bool or list

List of reactor id’s to send. Otherwise X is distributed along all online devices.

main_server.hanashi.get_available_servers()
main_server.hanashi.get_best_genome_data(n=3)

Creates a set of stacked graphs.

main_server.hanashi.get_from_id(id, **kwargs)

Returns processed fitness in ascending order

main_server.hanashi.ping_to_children()

A get gate suffices to check the connection. url -> index 1 id -> index 0

main_server.hanashi.shadow_send(chromossome, address, time)

Sends paramaters directly to target reactor without saving data to a queue.

main_server.hanashi.step()

Used on push

main_server.hanashi.to_num(x)
main_server.hanashi.update_assignment(request_id, fitness)

request_id is automatic on table assignment.

Module contents