Metadata-Version: 1.1
Name: python-vote-full
Version: 1.0
Summary: Python based election methods, includes python-vote-core and python-graph-core.
Home-page: https://github.com/bradbeattie/python-vote-core
Author: Brad Beattie
Author-email: bradbeattie@gmail com
License: GPLv3
Description: Python Vote Core
        ================
        
        python-vote-core implements various electoral methods, providing the results
        calculated off a provided set of ballots and options.
        
        * Project page: http://github.com/bradbeattie/python-vote-core
        * Issue tracker: http://github.com/bradbeattie/python-vote-core/issues
        * Example usage: http://modernballots.com
        
        Methods implemented
        -------------------
        
        * Single Winner Methods
        
          * Plurality (aka first-past-the-post or fptp)
          * Instant-Runoff Voting (aka IRV)
          * Schulze Method (aka Beatpath)
        
        * Multiple Winner Methods
        
          * Plurality at large (aka block voting)
          * Single Transferable Vote (aka STV)
          * Schulze STV
        
        * Ordering Methods
        
          * Schulze Proportional Representation
          * Schulze Nonproportional Representation
        
        Basic Usage
        -----------
        
        Schulze method example::
        
            >>> from pyvotecore.schulze_method import SchulzeMethod
            >>> ballots = [
            ...   { "count":3, "ballot":[["A"], ["C"], ["D"], ["B"]] },
            ...   { "count":9, "ballot":[["B"], ["A"], ["C"], ["D"]] },
            ...   { "count":8, "ballot":[["C"], ["D"], ["A"], ["B"]] },
            ...   { "count":5, "ballot":[["D"], ["A"], ["B"], ["C"]] },
            ...   { "count":5, "ballot":[["D"], ["B"], ["C"], ["A"]] }
            ... ]
            >>> SchulzeMethod(ballots, ballot_notation = "grouping").as_dict()
            {'actions': [{'edges': {('A', 'B')}},
              {'edges': {('A', 'C')}},
              {'nodes': {'A'}},
              {'edges': {('B', 'C')}},
              {'nodes': {'B', 'D'}}],
             'candidates': {'A', 'B', 'C', 'D'},
             'pairs': {('A', 'B'): 16,
              ('A', 'C'): 17,
              ('A', 'D'): 12,
              ('B', 'A'): 14,
              ('B', 'C'): 19,
              ('B', 'D'): 9,
              ('C', 'A'): 13,
              ('C', 'B'): 11,
              ('C', 'D'): 20,
              ('D', 'A'): 18,
              ('D', 'B'): 21,
              ('D', 'C'): 10},
             'strong_pairs': {('A', 'B'): 16,
              ('A', 'C'): 17,
              ('B', 'C'): 19,
              ('C', 'D'): 20,
              ('D', 'A'): 18,
              ('D', 'B'): 21},
             'winner': 'C'}
        
        
        20110509.1
        ---
        
        -  Fixing PyPi release
        
        20110509.0
        ---
        
        -  Initial PyPi release
        
        
        License
        -------
        
        Copyright (C) 2009, Brad Beattie
        
        This program is free software: you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.
        
        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
        
        You should have received a copy of the GNU General Public License
        along with this program.  If not, see http://www.gnu.org/licenses.
        
Keywords: library election
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Scientific/Engineering :: Mathematics
