This version release introduces backward incompatible changes. Please read the below content carefully!
Added
-
Parsing hands from logs of online poker rooms/research environments. The testing has been limited to old data and is known to fail to parse certain hands. Please open an issue if you find incompatibilities. I would be happy to support them.
- Absolute Poker:
pokerkit.notation.HandHistory.from_absolute_poker()
viapokerkit.notation.AbsolutePokerParser
. - Full Tilt Poker:
pokerkit.notation.HandHistory.from_full_tilt_poker()
viapokerkit.notation.FullTiltPokerParser
. - iPoker Network:
pokerkit.notation.HandHistory.from_ipoker_network()
viapokerkit.notation.IPokerNetworkParser
. - Ongame Network:
pokerkit.notation.HandHistory.from_ongame_network()
viapokerkit.notation.OngameNetworkParser
. - PartyPoker:
pokerkit.notation.HandHistory.from_partypoker()
viapokerkit.notation.PartyPokerParser
. - PokerStars:
pokerkit.notation.HandHistory.from_pokerstars()
viapokerkit.notation.PokerStarsParser
. - Annual Computer Poker Competition:
pokerkit.notation.HandHistory.from_acpc_protocol()
viapokerkit.notation.ACPCProtocolParser
.
- Absolute Poker:
-
Base classes for hand history log parser using regular expressions like
pokerkit.notation.Parser
andpokerkit.notation.REParser
. -
pokerkit.utilities.Card.UNKNOWN
static variable as a constant for a card with unknown rank and suit. -
Pending additions of the PHH specification are also added in
pokerkit.notation.HandHistory
. Namely, the new fieldspokerkit.notation.HandHistory.venue
,pokerkit.notation.HandHistory.time_zone_abbreviation
,pokerkit.notation.HandHistory.winnings
, andpokerkit.notation.HandHistory.currency_symbol
. -
A helper unmatchable regular expression pattern
pokerkit.utilities.UNMATCHABLE_PATTERN
. -
Helper methods
pokerkit.utilities.rotated
,pokerkit.utilities.parse_time
, andpokerkit.utilities.parse_month
.
Changed
-
pokerkit.state.ChipsPushing
'sboard_index
andhand_index
attributes will beNone
when the hands terminate due to every player except one folding. Previously,-1
was used to denote as such. -
Automatic repair of broken hand histories during iteration.
-
Allow non-standard folds (i.e. folding even when you don't need to) in a cash-game mode.
-
Allow showing the hole cards of the last remaining player after everyone folds around.
-
Allow only showing a part of a player's hand.
-
Only available in the cash-game mode.
-
A player may want to keep cards face-down (even in all-in situations or final showdown).
-
Simply pass in something like
??As
or an empty iterable topokerkit.state.State.show_or_muck_hole_cards()
.- If an empty iterable is passed in or all passed cards are unknown (i.e.
??
), all hole cards of the current showdown player will stay face down. - If known cards are among the passed cards, the known cards will become face-up while all others will stay face-down.
- If an empty iterable is passed in or all passed cards are unknown (i.e.
-
-
pokerkit.utilities.Card
instances are truthy or falsy depending on the Boolean value ofpokerkit.utilities.Card.unknown_status
. -
Pending additions of the PHH specification is also added in
pokerkit.notation.HandHistory
. Namely, the widening of types forpokerkit.notation.HandHistory.hand
andpokerkit.notation.HandHistory.table
. -
Commas are handled
pokerkit.utilities.Card.parse
andpokerkit.utilities.parse_value
. -
"10"
is now a valid way to express the rank of 10 for cards inpokerkit.utilities.Card.parse
. -
pokerkit.utilities.parse_value
returnsdecimal.Decimal
for decimal values instead offloat
, as it used to. If integral, it returnsint
as it used to. -
Cleaned up docstrings or fixed docstring inaccuracies.
-
Fix inaccurate error messages.
-
Fix error raised during equity calculation when no valid hand can be formed.
Removed
- The previously deprecated
pokerkit.notation.HandHistory.iter_state_actions()
. This was deprecated and renamed topokerkit.notation.HandHistory.state_actions
in Version 0.5.4.