Skip to main content

PyPI version Code style: black Python 3.10+ supported

gamble is a simple library that implements a collection of some common gambling-related classes

Features

  • die, dice, d-notation
  • cards, decks, hands
  • poker ranks, hand comparison

Usage

Installation

pip install gamble

Basic Usage

Dice

import gamble

# create dice, defaults to 2 6-sided dice
dice = gamble.Dice()

# roll
dice.roll()
>>> 6
dice.rolls
>>> 1

# max, min
dice.max
>>> 12
dice.min
>>> 2

# d-notation for dice constructor
dice = gamble.Dice('d20+8')

# max, min
dice.max
>>> 28
dice.min
>>> 9

# parts
dice.parts
>>> [<d20 Die>, 8]

# roll_many
dice.roll_many(2)
>>> [8, 4]

# max_of, min_of
dice.max_of(3)
>>> (11, [7, 3, 11])
dice.min_of(3)
>>> (2, [2, 9, 4])

Cards

import gamble

# create a deck, defaults to the standard 52 card deck, no jokers
# the deck will be shuffled by default, unless you pass shuffle=False
deck = gamble.Deck()

deck.cards_left
>>> 52

deck.top
>>> <Card:7>
deck.bottom
>>> <Card:9>
deck.shuffle()  # you can also pass times=(int) to shuffle more than once

card = deck.draw()  # you can also pass times=(int) to draw a list of cards
>>> <Card:A>

# the unicode cards icons are implemented as well!
card.unicode
>>> "🂡"

# draw a poker hand, default size 5
hand = deck.draw_hand(). # you can pass size=(int) to draw a different size hand
>>> <Hand[5](straight flush) [A, 2, 3, 4, 5]>

hand.rank
>>> Rank(name='straight flush', value=8)

# arbitrary hand, from text notation
new_hand = gamble.Hand.get("2c,3c,4c,Kc,Kh")
>>> <Hand[5](pair) [2, 3, 4, K, K]>

new_hand.rank
>>> Rank(name='pair', value=1)

hand > new_hand
>>> True

Todo

  • hand equals/ge/le method
  • hand ranking when hands are very similar

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gamble-0.14.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gamble-0.14.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file gamble-0.14.0.tar.gz.

File metadata

  • Download URL: gamble-0.14.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for gamble-0.14.0.tar.gz
Algorithm Hash digest
SHA256 4da99572a6e879e8fb5ec0ab0c5362955f0e37d2b17781a37297c05178678dcd
MD5 9f488a32e525c2315ccfbd916b4d6184
BLAKE2b-256 fdd18028feed00060499672e9f9b3d3bc611685fbcad60667373554137c69f64

See more details on using hashes here.

File details

Details for the file gamble-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: gamble-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for gamble-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 31d2a68626d0180b78b02780054ea6a525bb6506fbd5c613ac792ce991906399
MD5 71bb7f521094bf6f427b19b2eac61da6
BLAKE2b-256 2dc149ea9d265167a82ad3a977060be7a97dc19fa1159ec50f7cbfb7d96beed8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.14.0 This release

2 files

0.13

2 files

0.12

2 files

0.11

2 files

0.10

2 files

0.9

2 files

0.8

2 files

0.7

2 files

0.0.6

1 file

0.0.5

1 file

0.0.4

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page