gabm.abm.democracy.elections.uk.referendum module

UK Referendum module for GABM.

class gabm.abm.democracy.elections.uk.referendum.UKReferendum(election_id: ElectionID, date: str, description: str, question: str, choices: tuple[UKReferendumVoteID, ...])

Bases: Election

UK Referendum class, inheriting from the base Election class.

A UK Referendum is a specific type of election that takes place in the United Kingdom. It is held to allow the electorate to vote on a specific question or issue, rather than electing representatives. Referendums can be used to decide on a wide range of issues, such as constitutional changes, membership in international organizations, or specific policy decisions. The outcome of a referendum is typically determined by a simple majority vote, although the specific rules can vary depending on the context and the question being asked.

Note

Inherits all attributes and methods from Election.

Attributes:
question (str):

The question being posed in the referendum.

choices (tuple[UKReferendumVoteID, …]):

The possible choices for the referendum.

class gabm.abm.democracy.elections.uk.referendum.UKReferendumVote(vote_id: UKReferendumVoteID, election_id: ElectionID, voter_id: CitizenID = None)

Bases: Vote

UK Referendum Vote class.

A UK Referendum Vote is a specific type of vote that takes place during a UK Referendum. It is cast by a voter to express their choice on the specific question being posed in the referendum. Each voter typically votes for one of the available choices (e.g., “Yes” or “No”), and the choice with the most votes determines the outcome of the referendum.

Note

Inherits all attributes and methods from Vote.

class gabm.abm.democracy.elections.uk.referendum.UKReferendumVoteID(vote_id: int)

Bases: VoteID

UK Referendum Vote ID