{ "info": { "author": "UNKNOWN", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Cython", "Programming Language :: Python :: 2.7", "Topic :: Games/Entertainment", "Topic :: Software Development :: Libraries" ], "description": "eval7\n=====\n\nPython Texas Hold'em hand evaluation library based on Anonymous7's codebase\nwhich is in turn based on Keith Rule's hand evaluator (which you can see\nhere_). The library also provides a parser for an extended set of PokerStove\nstyle range strings, and a more or less working equity calculator, though\nthat still needs a little cleaning up.\n\n.. _here: http://www.codeproject.com/Articles/12279/Fast-Texas-Holdem-Hand-\n Evaluation-and-Analysis\n\nThe library is fairly basic at the moment; only the functionality needed by\n`Flop Ferret`_ has been fully implemented. Time permitting, the goal is to\nprovide a fully featured poker hand evaluator and range equity calculator\nwith a clean native python interface and all performance critical parts\nimplemented in Cython.\n\n.. _Flop Ferret: https://github.com/JulianAndrews/FlopFerret\n\nInstallation\n------------\n\neval7 requires python 2.6+. The build process requires cython (tested with\n0.23). If you have a working copy of python::\n\n pip install cython\n\nshould work on most platforms. Installing via your package manager or from\nsource should also work.\n\nSimple Installation::\n\n pip install eval7\n\nUsage\n-----\n\nBasic usage::\n\n >>> import eval7\n >>> from pprint import pprint\n >>> deck = eval7.Deck()\n >>> deck.shuffle()\n >>> hand = deck.deal(7)\n >>> pprint.pprint(hand)\n [Card(\"5c\"),\n Card(\"9s\"),\n Card(\"8d\"),\n Card(\"5d\"),\n Card(\"Ac\"),\n Card(\"Qc\"),\n Card(\"3d\")]\n >>> eval7.evaluate(hand)\n 17025648\n\n >>> hand = [eval7.Card(s) for s in ('As', '2c', '3d', '5s', '4c')]\n >>> eval7.evaluate(hand)\n 67305472\n\nLarger numbers represent better hands!\n\n``Card`` objects provide a convenient python interface to cards with ``rank``\nand ``suit`` attributes.\n\n``Deck`` object provide some basic functionality that might be useful for\nsimple simulations such as ``sample``, ``shuffle``, and ``deal``. The deck\ncode isn't very well optimized at this point, so while it works well for\nquick lightweight simulations, you're not going to get the performance\nout of it needed for precise range vs. range equity calculations.\n\nHand Ranges\n-----------\n\neval7 also provides a parser for weighted PokerStove style hand ranges.\n\nExamples::\n\n >>> from pprint import pprint\n >>> hr = eval7.HandRange(\"AQs+, 0.4(AsKs)\")\n >>> pprint(hr.hands)\n [((Card(\"Ac\"), Card(\"Qc\")), 1.0),\n ((Card(\"Ad\"), Card(\"Qd\")), 1.0),\n ((Card(\"Ah\"), Card(\"Qh\")), 1.0),\n ((Card(\"As\"), Card(\"Qs\")), 1.0),\n ((Card(\"Ac\"), Card(\"Kc\")), 1.0),\n ((Card(\"Ad\"), Card(\"Kd\")), 1.0),\n ((Card(\"Ah\"), Card(\"Kh\")), 1.0),\n ((Card(\"As\"), Card(\"Ks\")), 1.0),\n ((Card(\"As\"), Card(\"Ks\")), 0.4)]\n\n >>> hr = eval7.HandRange(\"AJ+, ATs, KQ+, 33-JJ, 0.8(QQ+, KJs)\")\n >>> len(hr)\n 144\n\nAt present the HandRange objects are just a thin front-end for the\nrange-string parser. Ultimately the hope is to add Cython backed sampling,\nenumeration, and HandRange vs. HandRange equity calculation.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/JulianAndrews/pyeval7", "keywords": "poker equity library", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "eval7", "package_url": "https://pypi.org/project/eval7/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/eval7/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/JulianAndrews/pyeval7" }, "release_url": "https://pypi.org/project/eval7/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "A poker hand evaluation and equity calculation library", "version": "0.1.2" }, "last_serial": 1729904, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "78e074a94ee371b647ff6679a449fa4c", "sha256": "f2015d3eaafd85073f6f2756ef7585b63cecc0148667e35e8bd8c4df85a296b3" }, "downloads": -1, "filename": "eval7-0.1.2.tar.gz", "has_sig": false, "md5_digest": "78e074a94ee371b647ff6679a449fa4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111404, "upload_time": "2015-09-19T23:38:23", "url": "https://files.pythonhosted.org/packages/aa/9d/4616cca2200c56194cd24db147bed5cb6a84791a9404004059e76f606ab1/eval7-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "78e074a94ee371b647ff6679a449fa4c", "sha256": "f2015d3eaafd85073f6f2756ef7585b63cecc0148667e35e8bd8c4df85a296b3" }, "downloads": -1, "filename": "eval7-0.1.2.tar.gz", "has_sig": false, "md5_digest": "78e074a94ee371b647ff6679a449fa4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111404, "upload_time": "2015-09-19T23:38:23", "url": "https://files.pythonhosted.org/packages/aa/9d/4616cca2200c56194cd24db147bed5cb6a84791a9404004059e76f606ab1/eval7-0.1.2.tar.gz" } ] }