Skip to main content

Poker hand evaluating modules that provide fast enumerations.

Project description

pokyr

This is a python library that provides routines for very fast poker hand comparisons to power hand match ups.

Pure python and c-extention modules are included. Using the cpoker module it should be easy to write python code that will, for example, quickly caluculate expected hand strength squared and opponent cluster hand strength (EHS2/OCHS).

The rank lookup sceme uses 13 magic numbers attributed to the specialK blog, which I used to supplement my own algorithm. A pure python lite version is also included that leaves a small memory footprint and is still fast.

Sample

Cards are represented by intergers 0-51 and groups of cards are contained in lists. The pretty_args wrapper allows you to use standard card strings rather than integers. You can also convert from integers to pretty cards and back with utils.make_pretty and utils.to_cards.

>>> from poker import cpoker
>>> from poker import utils
>>> #return the evs of a match between any number of hands
>>> enum = utils.pretty_args(cpoker.full_enumeration)
>>> enum(["AsKd", "8c2s"])
[0.6753362720638392, 0.32466372793616083]
>>> enum(["AsKd", "7h 8h", "6c 6d"], "Kc 6h 9h")
[0.021040974529346623, 0.44518272425249167, 0.5337763012181617]
>>> # percentile on river vs all 990 hand combos
>>> utils.pretty_args(cpoker.rivervalue)("As Kd", "Ks Qh Jc 8s 8d")
0.8585858585858586
>>> utils.make_pretty([7, 8, 9])
'Ks Qc Qd'
>>> utils.to_cards('Ks Qc Qd')
[7, 8, 9]

Compile and Install

If you have a c compiler the python dev tools for your system then hopefully this does it. All you need is python 2 or 3 to run the pure python modules.

$ python setup.py install

Project details


Download files

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

Source Distribution

pokyr-0.1.25.tar.gz (31.3 kB view details)

Uploaded Source

Built Distributions

pokyr-0.1.25-py3.7-macosx-10.15-x86_64.egg (52.8 kB view details)

Uploaded Egg

pokyr-0.1.25-py2.7-macosx-10.15-x86_64.egg (48.7 kB view details)

Uploaded Egg

File details

Details for the file pokyr-0.1.25.tar.gz.

File metadata

  • Download URL: pokyr-0.1.25.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.7

File hashes

Hashes for pokyr-0.1.25.tar.gz
Algorithm Hash digest
SHA256 3a9da06fc9375927558ebb86b65ac61952bdbac77eb417d025ff8246b002feea
MD5 afcf961d3eec09a267785a64029f5b13
BLAKE2b-256 441563d34d82fb96d84630f278437763879c88d49bbdf58e9210b78bf3f9feb2

See more details on using hashes here.

File details

Details for the file pokyr-0.1.25-py3.7-macosx-10.15-x86_64.egg.

File metadata

  • Download URL: pokyr-0.1.25-py3.7-macosx-10.15-x86_64.egg
  • Upload date:
  • Size: 52.8 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.7

File hashes

Hashes for pokyr-0.1.25-py3.7-macosx-10.15-x86_64.egg
Algorithm Hash digest
SHA256 435031487d156e57b28e98b1cc99f8407f29abbd11143522d0e4024b33eeed26
MD5 e4f758fc184ff47ab6730d1fc8687651
BLAKE2b-256 61c9b1a3d8958f0001d1ac3ef43164c36e02db6477d665e622b8e7cb678038b9

See more details on using hashes here.

File details

Details for the file pokyr-0.1.25-py2.7-macosx-10.15-x86_64.egg.

File metadata

  • Download URL: pokyr-0.1.25-py2.7-macosx-10.15-x86_64.egg
  • Upload date:
  • Size: 48.7 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.7

File hashes

Hashes for pokyr-0.1.25-py2.7-macosx-10.15-x86_64.egg
Algorithm Hash digest
SHA256 80ca3fd2622b7c92092e3af55eefcf853150a9ce439e64e3e814107884f380d5
MD5 bdc8ff5ad1894be3226fe50935899674
BLAKE2b-256 8cb0d510f62ce2e31acd6f99a8e15f658d3f95c8dd8ed2483e243ec5847de4c6

See more details on using hashes here.

Supported by

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