Last updated:
0 purchases
phevaluator 0.5.3.1
PH Evaluator Python package (phevaluator)
Description
PH Evaluator is designed
for evaluating poker hands with more than 5 cards. Instead of traversing all
the combinations, it uses a perfect hash algorithm to get the hand strength
from a pre-computed hash table, which only costs very few CPU cycles and
considerably small memory (~100kb for the 7 card evaluation). With slight
modification, the same algorithm can be also applied to evaluating Omaha
poker hands.
Installation
The library requires Python 3.
from release on PyPI
pip install phevaluator
from source code
pip install .
Using the library
The main function is the evaluate_cards function.
from phevaluator.evaluator import evaluate_cards
p1 = evaluate_cards("9c", "4c", "4s", "9d", "4h", "Qc", "6c")
p2 = evaluate_cards("9c", "4c", "4s", "9d", "4h", "2c", "9h")
# Player 2 has a stronger hand
print(f"The rank of the hand in player 1 is {p1}") # 292
print(f"The rank of the hand in player 2 is {p2}") # 236
The function can take both numbers and card strings (with a format like: 'Ah' or '2C'). Usage examples can be seen in examples.py.
Test
The pre-calculated tables (phevaluator.tables) are tested by comparing them with the tables generated by test codes.
The functionality of the evaluators is tested by comparing with the JSON files generated by the original C++ evaluator.
The functionality of the other modules is tested by its purposes.
python3 -m unittest discover -v
Development
install from source code with editable mode
pip install -e .
The installed package reflects changes to files inside the phevaluator folder automatically.
recommended to format with black before commit
check where to correct (without formatting)
black . --diff --color
format all
black .
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.