Skip to content

v0.6.0-alpha.0

Latest
Compare
Choose a tag to compare
@AussieSeaweed AussieSeaweed released this 17 Dec 23:45

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() via pokerkit.notation.AbsolutePokerParser.
    • Full Tilt Poker: pokerkit.notation.HandHistory.from_full_tilt_poker() via pokerkit.notation.FullTiltPokerParser.
    • iPoker Network: pokerkit.notation.HandHistory.from_ipoker_network() via pokerkit.notation.IPokerNetworkParser.
    • Ongame Network: pokerkit.notation.HandHistory.from_ongame_network() via pokerkit.notation.OngameNetworkParser.
    • PartyPoker: pokerkit.notation.HandHistory.from_partypoker() via pokerkit.notation.PartyPokerParser.
    • PokerStars: pokerkit.notation.HandHistory.from_pokerstars() via pokerkit.notation.PokerStarsParser.
    • Annual Computer Poker Competition: pokerkit.notation.HandHistory.from_acpc_protocol() via pokerkit.notation.ACPCProtocolParser.
  • Base classes for hand history log parser using regular expressions like pokerkit.notation.Parser and pokerkit.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 fields pokerkit.notation.HandHistory.venue, pokerkit.notation.HandHistory.time_zone_abbreviation, pokerkit.notation.HandHistory.winnings, and pokerkit.notation.HandHistory.currency_symbol.

  • A helper unmatchable regular expression pattern pokerkit.utilities.UNMATCHABLE_PATTERN.

  • Helper methods pokerkit.utilities.rotated, pokerkit.utilities.parse_time, and pokerkit.utilities.parse_month.

Changed

  • pokerkit.state.ChipsPushing's board_index and hand_index attributes will be None 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 to pokerkit.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.
  • pokerkit.utilities.Card instances are truthy or falsy depending on the Boolean value of pokerkit.utilities.Card.unknown_status.

  • Pending additions of the PHH specification is also added in pokerkit.notation.HandHistory. Namely, the widening of types for pokerkit.notation.HandHistory.hand and pokerkit.notation.HandHistory.table.

  • Commas are handled pokerkit.utilities.Card.parse and pokerkit.utilities.parse_value.

  • "10" is now a valid way to express the rank of 10 for cards in pokerkit.utilities.Card.parse.

  • pokerkit.utilities.parse_value returns decimal.Decimal for decimal values instead of float, as it used to. If integral, it returns int 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 to pokerkit.notation.HandHistory.state_actions in Version 0.5.4.