Metadata-Version: 2.1
Name: cardnacki
Version: 0.2.0
Summary: A playing cards package
Home-page: https://github.com/bernackimark/cardnacki
Author: Bernacki
Author-email: bernackimark@gmail.com
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Provides-Extra: dev
Requires-Dist: twine >=4.0.2 ; extra == 'dev'

# cardnacki
Package for working w playing cards

0.2.0 (2025-08-03):
   - introduced breaking changes to Card
   - Card is now frozen=True, slots=True !!
     - removed attributes:
       - face_up (bool)
       - is_flippable (bool)
       - attributes (dict)
     - removed methods:
       - flip
       - flip_face_up
       - flip_face_down
     - rank_full_name, full_name, rank_suit all moved from post_init to properties
   - hash-ability (via frozen) is seemingly worth more than flip-ability and custom attributes
   - slots should provide a speed improvement as well w very few to no foreseen disadvantages

0.1.5 (2025-08-03):
   -  re-wrote describe_poker_hand.py to improve performance

0.1.4 (2025-08-03):
   - added start_shuffled parameter to Deck initializer; default is False

0.1.3 (2025-07-20):
   - fixed import bug

0.1.2 (2025-07-20):
  - added describe_poker_hand.py which contains a function of the same name that accepts and list of Card and returns a string representation of a poker hand outcome (ex. 'Full House' or 'High Card')
    - also accepts an optional parameter of a tuple of winning hand possibilities (ex. adding in 'Royal Flush' or 'Jacks or Better')

0.1.1 (2024-12-29):
  - added Pile.to_rank_suits() method (the inverse of Pile.create_from_rank_suits() introduced in 0.1.0)

0.1.0 (2024-12-28):
 - introduced breaking changes to Pile
   - initializer no longer requires a type_ attribute 
   - all attributes besides 'cards' must now be a kwarg
   - getter now correctly needs to get one of its own cards, instead of constructing new cards from a random deck
   - alternate constructor must now be given a deck, so it doesn't override any props specific to that deck (for example, a SetbackDeck receiving a game_point attribute)
 - potential breaking change to Card
   - removed attribute "game_points"
   - added attribute dict "attributes", which a caller can added as needed

0.0.14 (2024-12-25):
 - added getter for pile to access by rank_suit

0.0.13 (2024-12-25):
 - added pile.PileStats.suit_has_any_ranks

0.0.12 (2024-12-25):
 - added pile.PileStats

0.0.11 (2024-03-13):
 - added back in a hard-coded id attribute

0.0.9 (2024-02-29):
 - added equality method to Card

0.0.6 (2024-01-11):
 - added an attribute for 'rank_full_name' e.g. "King"
 - added an attribute for 'card_full_name' e.g. "Ace of Spades"

