eval7


Nameeval7 JSON
Version 0.1.10 PyPI version JSON
download
home_pagehttps://github.com/JulianAndrews/pyeval7
SummaryA poker hand evaluation and equity calculation library
upload_time2023-12-22 17:57:42
maintainer
docs_urlNone
author
requires_python
licenseMIT
keywords poker equity library
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            eval7
=====

.. image:: https://github.com/julianandrews/pyeval7/workflows/Tests/badge.svg
    :target: https://github.com/julianandrews/pyeval7/actions

Python Texas Hold'em hand evaluation library based on Anonymous7's codebase
which is in turn based on Keith Rule's hand evaluator (which you can see
here_). Eval7 also provides a parser for an extended set of PokerStove
style range strings, and approximate equity calculation for unweighted ranges.

.. _here: http://www.codeproject.com/Articles/12279/Fast-Texas-Holdem-Hand-
          Evaluation-and-Analysis

Eval7 is a work in progress: only the functionality needed by `Flop Ferret`_
has been fully implemented. Time permitting, the goal is to provide a fully
featured poker hand evaluator and range equity calculator with a clean native
python interface and all performance critical parts implemented in Cython.

.. _Flop Ferret: https://github.com/JulianAndrews/FlopFerret

Installation
------------

Pip Installation
~~~~~~~~~~~~~~~~

Check PyPI_ to see if there are recent binary `.whl` packages for your version
of python. If there are, you can just install with::

   pip install eval7

If there isn't a wheel for your package, feel free to open an issue on GitHub.

.. _PyPI: https://pypi.org/project/eval7/#files

Other Platforms
~~~~~~~~~~~~~~~

eval7 is tested on python 3.5, 3.6, 3.7 and 3.8 and likely works with 2.7+.
The build process requires cython. If you have a working copy of pip::

    pip install cython

should work on many platforms. Once you have cython, clone the repo and install
with::

    python setup.py install

Usage
-----

Basic usage::

    >>> import eval7, pprint
    >>> deck = eval7.Deck()
    >>> deck.shuffle()
    >>> hand = deck.deal(7)
    >>> pprint.pprint(hand)
    [Card("5c"),
     Card("9s"),
     Card("8d"),
     Card("5d"),
     Card("Ac"),
     Card("Qc"),
     Card("3d")]
    >>> eval7.evaluate(hand)
    17025648
    >>> eval7.handtype(17025648)
    'Pair'

    >>> hand = [eval7.Card(s) for s in ('As', '2c', '3d', '5s', '4c')]
    >>> eval7.evaluate(hand)
    67305472
    >>> eval7.handtype(67305472)
    'Straight'

``Deck`` objects provide ``sample``, ``shuffle``, ``deal`` and ``peek``
methods. The deck code is currently implemented in pure python and works well
for quick lightweight simulations, but is too slow for full range vs. range
equity calculations. Ideally this code will be rewritten in Cython.

Hand Ranges
-----------

eval7 also provides a parser for weighted PokerStove style hand ranges.

Examples::

    >>> from pprint import pprint
    >>> hr = eval7.HandRange("AQs+, 0.4(AsKs)")
    >>> pprint(hr.hands)
    [((Card("Ac"), Card("Qc")), 1.0),
     ((Card("Ad"), Card("Qd")), 1.0),
     ((Card("Ah"), Card("Qh")), 1.0),
     ((Card("As"), Card("Qs")), 1.0),
     ((Card("Ac"), Card("Kc")), 1.0),
     ((Card("Ad"), Card("Kd")), 1.0),
     ((Card("Ah"), Card("Kh")), 1.0),
     ((Card("As"), Card("Ks")), 1.0),
     ((Card("As"), Card("Ks")), 0.4)]

    >>> hr = eval7.HandRange("AJ+, ATs, KQ+, 33-JJ, 0.8(QQ+, KJs)")
    >>> len(hr)
    144

At present the HandRange objects are just a thin front-end for the
range-string parser. Ultimately the hope is to add Cython backed sampling,
enumeration, and HandRange vs. HandRange equity calculation.

Equity
------

eval7 also provides equity calculation functions: ``py_hand_vs_range_exact``,
``py_hand_vs_range_monte_carlo`` and ``py_all_hands_vs_range``. These don't yet
support weighted ranges and could probably benefit from optimization.  See
``equity.pyx`` for documentaiton.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/JulianAndrews/pyeval7",
    "name": "eval7",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "poker equity library",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/3a/70/7d11bfc2b97ebfde6ca2adee6c8101e20ff4a12797fc308010f36a13cf1c/eval7-0.1.10.tar.gz",
    "platform": null,
    "description": "eval7\n=====\n\n.. image:: https://github.com/julianandrews/pyeval7/workflows/Tests/badge.svg\n    :target: https://github.com/julianandrews/pyeval7/actions\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_). Eval7 also provides a parser for an extended set of PokerStove\nstyle range strings, and approximate equity calculation for unweighted ranges.\n\n.. _here: http://www.codeproject.com/Articles/12279/Fast-Texas-Holdem-Hand-\n          Evaluation-and-Analysis\n\nEval7 is a work in progress: only the functionality needed by `Flop Ferret`_\nhas been fully implemented. Time permitting, the goal is to provide a fully\nfeatured poker hand evaluator and range equity calculator with a clean native\npython interface and all performance critical parts implemented in Cython.\n\n.. _Flop Ferret: https://github.com/JulianAndrews/FlopFerret\n\nInstallation\n------------\n\nPip Installation\n~~~~~~~~~~~~~~~~\n\nCheck PyPI_ to see if there are recent binary `.whl` packages for your version\nof python. If there are, you can just install with::\n\n   pip install eval7\n\nIf there isn't a wheel for your package, feel free to open an issue on GitHub.\n\n.. _PyPI: https://pypi.org/project/eval7/#files\n\nOther Platforms\n~~~~~~~~~~~~~~~\n\neval7 is tested on python 3.5, 3.6, 3.7 and 3.8 and likely works with 2.7+.\nThe build process requires cython. If you have a working copy of pip::\n\n    pip install cython\n\nshould work on many platforms. Once you have cython, clone the repo and install\nwith::\n\n    python setup.py install\n\nUsage\n-----\n\nBasic usage::\n\n    >>> import eval7, 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    >>> eval7.handtype(17025648)\n    'Pair'\n\n    >>> hand = [eval7.Card(s) for s in ('As', '2c', '3d', '5s', '4c')]\n    >>> eval7.evaluate(hand)\n    67305472\n    >>> eval7.handtype(67305472)\n    'Straight'\n\n``Deck`` objects provide ``sample``, ``shuffle``, ``deal`` and ``peek``\nmethods. The deck code is currently implemented in pure python and works well\nfor quick lightweight simulations, but is too slow for full range vs. range\nequity calculations. Ideally this code will be rewritten in Cython.\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\nEquity\n------\n\neval7 also provides equity calculation functions: ``py_hand_vs_range_exact``,\n``py_hand_vs_range_monte_carlo`` and ``py_all_hands_vs_range``. These don't yet\nsupport weighted ranges and could probably benefit from optimization.  See\n``equity.pyx`` for documentaiton.\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A poker hand evaluation and equity calculation library",
    "version": "0.1.10",
    "project_urls": {
        "Homepage": "https://github.com/JulianAndrews/pyeval7"
    },
    "split_keywords": [
        "poker",
        "equity",
        "library"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ffae7238a114947ea9e11222a3bd0c304c9fb095d9c3f984d7c16ecccbf1fa32",
                "md5": "29566aac5cfe3b647bddc552e01638ed",
                "sha256": "33c02e812827a4044b1a9cf09e3f33f01f861330d92bd6b71e609fb1bfc66f14"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "29566aac5cfe3b647bddc552e01638ed",
            "packagetype": "bdist_wheel",
            "python_version": "cp35",
            "requires_python": null,
            "size": 397073,
            "upload_time": "2023-12-22T17:57:18",
            "upload_time_iso_8601": "2023-12-22T17:57:18.264012Z",
            "url": "https://files.pythonhosted.org/packages/ff/ae/7238a114947ea9e11222a3bd0c304c9fb095d9c3f984d7c16ecccbf1fa32/eval7-0.1.10-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "89e2318b3747114fe55343e4f90eb0351b6df98a43fbfb356779c0e947914ffb",
                "md5": "64a5ef7fd02f4c0e4920bbef66417729",
                "sha256": "a7a98b94440aee178c992a62d2bf72b779cbe0529812321da0b568b20a5a0223"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp36-cp36m-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "64a5ef7fd02f4c0e4920bbef66417729",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 105867,
            "upload_time": "2023-12-22T17:57:20",
            "upload_time_iso_8601": "2023-12-22T17:57:20.100234Z",
            "url": "https://files.pythonhosted.org/packages/89/e2/318b3747114fe55343e4f90eb0351b6df98a43fbfb356779c0e947914ffb/eval7-0.1.10-cp36-cp36m-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8f6b0bcd214a30cd8775da1d66db8610be23fcddfe3578b97c139e864e52a98c",
                "md5": "9194d59062fe4d0ecae69d42e966e1b8",
                "sha256": "794d79e67c66d47b088f1c64ad14dd55447757a22421e4e938e8c10d205662ad"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9194d59062fe4d0ecae69d42e966e1b8",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 403463,
            "upload_time": "2023-12-22T17:57:21",
            "upload_time_iso_8601": "2023-12-22T17:57:21.912403Z",
            "url": "https://files.pythonhosted.org/packages/8f/6b/0bcd214a30cd8775da1d66db8610be23fcddfe3578b97c139e864e52a98c/eval7-0.1.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "df1374a346629900df019394e2db3795563604d59f73e945ba5dd5265468afc9",
                "md5": "46cc150568898e8b9f2ceaa946d4ea05",
                "sha256": "b25e06c8315128505b7b2734dc540a46a00b9f9677d6e75676c98ade819842a4"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp36-cp36m-win32.whl",
            "has_sig": false,
            "md5_digest": "46cc150568898e8b9f2ceaa946d4ea05",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 107598,
            "upload_time": "2023-12-22T17:57:23",
            "upload_time_iso_8601": "2023-12-22T17:57:23.184305Z",
            "url": "https://files.pythonhosted.org/packages/df/13/74a346629900df019394e2db3795563604d59f73e945ba5dd5265468afc9/eval7-0.1.10-cp36-cp36m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1cf322c9165bf4caabd688b16fca9b0a839c64c2246371354ba69c4f5be4b174",
                "md5": "440649301db243b2cc89d253615a156c",
                "sha256": "2128b1a554a8655a672263db0ae0cfa7e93f2a0c4f8e13d61c861e9239287fe3"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp36-cp36m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "440649301db243b2cc89d253615a156c",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 124036,
            "upload_time": "2023-12-22T17:57:25",
            "upload_time_iso_8601": "2023-12-22T17:57:25.290904Z",
            "url": "https://files.pythonhosted.org/packages/1c/f3/22c9165bf4caabd688b16fca9b0a839c64c2246371354ba69c4f5be4b174/eval7-0.1.10-cp36-cp36m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc7c5bbea997e86e17679083c287b26ad0eeca2a5b5fc78976f625501c5f79cc",
                "md5": "a7f96e1bea7fc5e1388f59ce602039df",
                "sha256": "5357c37f97ae3dd2f4f447b80e3d777c057ed9f24f1b99432e013932951aa8c7"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp37-cp37m-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a7f96e1bea7fc5e1388f59ce602039df",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 114559,
            "upload_time": "2023-12-22T17:57:26",
            "upload_time_iso_8601": "2023-12-22T17:57:26.987062Z",
            "url": "https://files.pythonhosted.org/packages/cc/7c/5bbea997e86e17679083c287b26ad0eeca2a5b5fc78976f625501c5f79cc/eval7-0.1.10-cp37-cp37m-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "106ce9f3916fd493eb685526c669bacb0a27e56bd25a37c45421b921727a8482",
                "md5": "13d5987cbdbe85ab2ae4a46ae13c8be4",
                "sha256": "e9830b13532e847e2d9e8350cfc5fa5769eab45f967f3936de7e2fb2b2d78808"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "13d5987cbdbe85ab2ae4a46ae13c8be4",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 458214,
            "upload_time": "2023-12-22T17:57:28",
            "upload_time_iso_8601": "2023-12-22T17:57:28.350690Z",
            "url": "https://files.pythonhosted.org/packages/10/6c/e9f3916fd493eb685526c669bacb0a27e56bd25a37c45421b921727a8482/eval7-0.1.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "02916c4e237944efdf3858f1574256a98eef3b95e7af633a52b226d67f74ca0c",
                "md5": "758d5be2c40232fb9183886dd0dad4bd",
                "sha256": "1365e9047c9f17c257622b0d521742a7c21e0f19758ffe041a00f70e2d5cf0af"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "758d5be2c40232fb9183886dd0dad4bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 114972,
            "upload_time": "2023-12-22T17:57:30",
            "upload_time_iso_8601": "2023-12-22T17:57:30.160182Z",
            "url": "https://files.pythonhosted.org/packages/02/91/6c4e237944efdf3858f1574256a98eef3b95e7af633a52b226d67f74ca0c/eval7-0.1.10-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a89d74fd1f2988cebd4d46484e66970f36f536e692d43942c79b77db74003844",
                "md5": "23170d858d5646a2f744018aa9b9aca0",
                "sha256": "221a9b04f8d76f15e8ef6226bb1b2d7eb7e5fbdd0f2c568f41bd98838396781b"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "23170d858d5646a2f744018aa9b9aca0",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 132424,
            "upload_time": "2023-12-22T17:57:32",
            "upload_time_iso_8601": "2023-12-22T17:57:32.026552Z",
            "url": "https://files.pythonhosted.org/packages/a8/9d/74fd1f2988cebd4d46484e66970f36f536e692d43942c79b77db74003844/eval7-0.1.10-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71250baef7284f637b487c5a744370586ec71cd9ca1a46cef6278f18d5a980eb",
                "md5": "5a017d3f6655d559c16116f08a4eaee0",
                "sha256": "192e4c35eae376728db3b780cbc7fa7fea5d029f08d8d1ff5f4ff051f4dc1899"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp38-cp38-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5a017d3f6655d559c16116f08a4eaee0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 114564,
            "upload_time": "2023-12-22T17:57:33",
            "upload_time_iso_8601": "2023-12-22T17:57:33.812076Z",
            "url": "https://files.pythonhosted.org/packages/71/25/0baef7284f637b487c5a744370586ec71cd9ca1a46cef6278f18d5a980eb/eval7-0.1.10-cp38-cp38-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2b2ae8fcc5e5ecea4dd789755df933c3b27e20f9f8fa5eefd608016517e5f451",
                "md5": "159279da733143fb64f84441c5449bdb",
                "sha256": "d9d4f41d0aefcd88d26f2febada44c0627d0727c1a77cc9774deecb85f1cf222"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "159279da733143fb64f84441c5449bdb",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 464881,
            "upload_time": "2023-12-22T17:57:35",
            "upload_time_iso_8601": "2023-12-22T17:57:35.525788Z",
            "url": "https://files.pythonhosted.org/packages/2b/2a/e8fcc5e5ecea4dd789755df933c3b27e20f9f8fa5eefd608016517e5f451/eval7-0.1.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e9526a1670ddc96e272e8039145dfee2b140091e6a40b1e40215fa01bca83153",
                "md5": "1b97d27be0b2fe53ba752a91a51ee838",
                "sha256": "72316c94a2a27241567617d8f5d8ac7a80705a14d9b7e9fbde601f0afa7a4b37"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "1b97d27be0b2fe53ba752a91a51ee838",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 115780,
            "upload_time": "2023-12-22T17:57:37",
            "upload_time_iso_8601": "2023-12-22T17:57:37.403269Z",
            "url": "https://files.pythonhosted.org/packages/e9/52/6a1670ddc96e272e8039145dfee2b140091e6a40b1e40215fa01bca83153/eval7-0.1.10-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9e073f879713ac51823ab45d287a2f44740a34a1890039a23a4bd939aa720dc8",
                "md5": "bd1b9dc03255993f884ac10712f9be2c",
                "sha256": "4c3366584dc1792cd49fed003db9056b2d5de245a8d3c629c097e6ea92b0e50a"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "bd1b9dc03255993f884ac10712f9be2c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 132786,
            "upload_time": "2023-12-22T17:57:39",
            "upload_time_iso_8601": "2023-12-22T17:57:39.023011Z",
            "url": "https://files.pythonhosted.org/packages/9e/07/3f879713ac51823ab45d287a2f44740a34a1890039a23a4bd939aa720dc8/eval7-0.1.10-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0eae0b0b7339ac3329640964e043f0db092e09785d6bb53a10f086262b49ed8d",
                "md5": "4c157da1bf965f9982af1564f0ac2344",
                "sha256": "1740c7f7bc43b882cf281ec9accab3d453ff99eda0b194e7c21b7c444fbca4b9"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4c157da1bf965f9982af1564f0ac2344",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 445314,
            "upload_time": "2023-12-22T17:57:40",
            "upload_time_iso_8601": "2023-12-22T17:57:40.867027Z",
            "url": "https://files.pythonhosted.org/packages/0e/ae/0b0b7339ac3329640964e043f0db092e09785d6bb53a10f086262b49ed8d/eval7-0.1.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3a707d11bfc2b97ebfde6ca2adee6c8101e20ff4a12797fc308010f36a13cf1c",
                "md5": "6debf83c1fe4e6bd43316f48559b5444",
                "sha256": "4549e9523e1ed7d87ab382eb88a5598f6975dd5a51831ad2589ef9484782ea73"
            },
            "downloads": -1,
            "filename": "eval7-0.1.10.tar.gz",
            "has_sig": false,
            "md5_digest": "6debf83c1fe4e6bd43316f48559b5444",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 249284,
            "upload_time": "2023-12-22T17:57:42",
            "upload_time_iso_8601": "2023-12-22T17:57:42.760142Z",
            "url": "https://files.pythonhosted.org/packages/3a/70/7d11bfc2b97ebfde6ca2adee6c8101e20ff4a12797fc308010f36a13cf1c/eval7-0.1.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-22 17:57:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "JulianAndrews",
    "github_project": "pyeval7",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "eval7"
}
        
Elapsed time: 9.47893s