SequentialSpec#

class alfred3_interact.spec.SequentialSpec(*roles: str, nslots: int, name: str, respect_version: bool = True, inclusive: bool = False, ongoing_sessions_ok: bool = False, count: bool = True)[source]#

Bases: ParallelSpec

Interface for defining a sequential group.

A sequential group is a group in which participants complete the experiments not in parallel, but sequentially. That means, they do not interact in real-time. Instead, the first participant completes their session, and the next participant can access data from the first participant.

Parameters
  • *roles (str) – A variable number of strings, indicating which roles will be appointed to members of the group. The number of roles determines the number of group members. All roles in a group must be unique. Roles cannot start with numbers or contain spaces.

  • nslots (int) – Maximum number of groups that should be created based on this spec.

  • name (str) – A unique identifier for the spec.

  • respect_version (bool) – If True, the matchmaking will only include sessions that run on the same experiment version. This setting makes sure that there’s no strange behavior if you make changes to an ongoing experiment. Defaults to True.

  • inclusive (bool) – If False (default), the quota will only assign a slot, if there are no pending sessions for that slot. See SequentialGroupQuota / ParallelGroupQuota for more details.

  • ongoing_sessions_ok (bool) – If False (default), new members will only be added to a group if all previous members of that group have finished their experiment sessions.

See also

See ParallelSpec for an interface for defining a parallel group and IndividualSpec for defining an individual session spec.

Methods

full

Attributes

group_type

pattern

quota

Access to the spec's SequentialGroupQuota, or ParallelGroupQuota, depending on the type of spec.