syndisco.TurnManager

class TurnManager(actors: Iterable[Actor] | None = None)

Bases: Iterable, ABC

An abstract class specifying the selection of the next speaker in a Discussion.

make_instance() Self

Return a fresh copy of this manager with static configuration preserved and per-discussion state reset.

Called once per discussion by DiscussionExperiment. Subclasses with additional stateful attributes should override this method and reset those attributes on the returned instance.

final next() Actor

Get the username of the next speaker.

Raises:

ValueError – if no names have been provided from the constructor, or from the set_actors() method

Returns:

the next speaker’s username

Return type:

Actor

final set_actors(actors: Sequence[Actor]) None

Initialize the manager by providing the names of the users.

Parameters:

names (Sequence[Actor]) – The participants.