diff --git a/.gitignore b/.gitignore index 1927887..9e33ae8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.pyc __pycache__ dist +*.egg-info/ diff --git a/README.md b/README.md index fab0210..065975e 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,31 @@ The implementation is based on the [Ruby code](https://github.com/goshrine/whole ## Installation pip install whr + +# Usage + + In [1]: import whr + ...: + ...: base = whr.Base(config={'w2': 30}) + ...: base.create_game('Alice', 'Carol', 'D', 0) # Alice and Carol had a draw on Day 0 + ...: base.create_game('Bob', 'Dave', 'B', 10) # Bob won Dave on Day 10 + ...: base.create_game('Dave', 'Alice', 'W', 30) # Dave lost to Alice on Day 30 + ...: base.create_game('Bob', 'Carol', 'W', 60) # Bob lost to Carol on Day 60 + ...: + ...: base.iterate(50) # iterate for 50 rounds + + In [2]: print(base.ratings_for_player('Alice')) + ...: print(base.ratings_for_player('Bob')) + ...: print(base.ratings_for_player('Carol')) + ...: print(base.ratings_for_player('Dave')) + [[0, 78.50976252870765, 114.0890917675107], [30, 79.47183295485291, 116.02912272478814]] + [[10, -15.262552175731381, 108.50075126605397], [60, -18.08603087778281, 111.07152016073245]] + [[0, 103.9187774903099, 108.03027219107216], [60, 107.30695193277161, 111.12369929419124]] + [[10, -176.6773935927304, 134.07989121465133], [30, -177.31877387682724, 135.25422816732765]] + + In [3]: print(base.get_ordered_ratings()) + [('Carol', [[0, 103.9187774903099, 108.03027219107216], [60, 107.30695193277161, 111.12369929419124]]), ('Alice', [[0, 78.50976252870765, 114.0890917675107], [30, 79.47183295485291, 116.02912272478814]]), ('Bob', [[10, -15.262552175731381, 108.50075126605397], [60, -18.08603087778281, 111.07152016073245]]), ('Dave', [[10, -176.6773935927304, 134.07989121465133], [30, -177.31877387682724, 135.25422816732765]])] + +# References + +Rémi Coulom. Whole-history rating: A Bayesian rating system for players of time-varying strength. In _International Conference on Computers and Games_. 2008. diff --git a/setup.py b/setup.py index b2e45e0..4c99dc8 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ setup( name='whr', packages=['whr'], - version='1.0.0', + version='1.0.1', license='MIT', description= 'A Python implementation of the Whole History Rating algorithm proposed by Rémi Coulom. ' @@ -19,21 +19,13 @@ author_email='haotianyi0@126.com', url='https://github.com/wind23/whole_history_rating', download_url= - 'https://github.com/wind23/whole_history_rating/archive/1.0.0.tar.gz', + 'https://github.com/wind23/whole_history_rating/archive/1.0.1.tar.gz', keywords=['WHR', 'whole history rating', 'Elo rating'], install_requires=[], classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', - 'Topic :: Software Development :: Build Tools', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', ], ) \ No newline at end of file