phevaluator 0.5.3.1

Creator: codyrutscher

Last updated:

Add to Cart

Description:

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 .

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.