{ "info": { "author": "Ross Anderson", "author_email": "ross.anderson@ualberta.ca", "bugtrack_url": null, "classifiers": [], "description": "catan\n-----\n\nPackage catan provides models for representing and manipulating a game of catan\n\nBoard coordinates must be specified as described in module [`hexgrid`](https://github.com/rosshamish/hexgrid).\n\n`.catan` files will be written to the working directory by class Game (see [`catanlog`](https://github.com/rosshamish/catanlog)).\n\nclass Game also supports undo and redo, which is useful for building GUIs.\n\nSupports Python 3. Might work in Python 2.\n\n> Author: Ross Anderson ([rosshamish](https://github.com/rosshamish))\n\n### Installation\n\n```\npip install catan\n```\n\n### Usage\n\n```\nimport catan.board\nimport catan.game\nimport catan.trading\n\nplayers = [Player(1, 'ross', 'red'),\n Player(2, 'josh', 'blue'),\n Player(3, 'yuri', 'green'),\n Player(4, 'zach', 'orange')]\nboard = catan.board.Board()\ngame = catan.game.Game(board=board)\n\ngame.start(players=players)\nprint(game.get_cur_player()) # -> ross (red)\ngame.buy_settlement(0x37)\ngame.buy_road(0x37)\ngame.end_turn()\n...\ngame.roll(6)\ngame.trade(trade=catan.trading.CatanTrade(...))\ngame.undo()\ngame.redo()\ngame.play_knight(...)\ngame.end_turn()\n...\ngame.end()\n```\n\nSee [`catan-spectator`](https://github.com/rosshamish/catan-spectator) for extensive usage.\n\n### File Format\n\n\n\ncatan-spectator writes game logs in the `.catan` format described by package [`catanlog`](https://github.com/rosshamish/catanlog).\n\nThey look like this:\n\n```\ngreen rolls 6\nblue buys settlement, builds at (1 NW)\norange buys city, builds at (1 SE)\nred plays dev card: monopoly on ore\n```\n\n### Documentation\n\nMost classes and modules are documented. Read the docstrings! If something is confusing or missing, open an issue.\n\n### License\n\nGPLv3", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/rosshamish/catan-py/tarball/0.4.3", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rosshamish/catan-py/", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "catan", "package_url": "https://pypi.org/project/catan/", "platform": "", "project_url": "https://pypi.org/project/catan/", "project_urls": { "Download": "https://github.com/rosshamish/catan-py/tarball/0.4.3", "Homepage": "https://github.com/rosshamish/catan-py/" }, "release_url": "https://pypi.org/project/catan/0.4.3/", "requires_dist": null, "requires_python": "", "summary": "models for representing and manipulating a game of catan", "version": "0.4.3" }, "last_serial": 4060332, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "4d258d88789427ab77ead288e07f44c5", "sha256": "5b69ce71e6443046ab4f51e1196256998e68ac18afb1c3ba98a368e082f65eb8" }, "downloads": -1, "filename": "catan-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4d258d88789427ab77ead288e07f44c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25229, "upload_time": "2016-01-22T22:43:38", "url": "https://files.pythonhosted.org/packages/b3/87/73d83e30ac76a22a6f5c65179926b96914a078e3662e0471308641f8b2ae/catan-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d5aa6a24003512c01aa0fb2403259787", "sha256": "c939ca093f4287f3cdceaf8e9a8986d17c97ca76213b58a5380b8b5fb5564d22" }, "downloads": -1, "filename": "catan-0.1.2.tar.gz", "has_sig": false, "md5_digest": "d5aa6a24003512c01aa0fb2403259787", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25301, "upload_time": "2016-01-22T23:25:25", "url": "https://files.pythonhosted.org/packages/3a/be/190854aba332864dc75d18edff62ac0f9f224cadd9b85a7c1e406b7eb3aa/catan-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "0724601a5ed154268076c6693a823423", "sha256": "82ab2f4f60e02254e17918b43d6df1e587a05bb5d79463271177ed40334d93b8" }, "downloads": -1, "filename": "catan-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0724601a5ed154268076c6693a823423", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25293, "upload_time": "2016-01-22T23:26:32", "url": "https://files.pythonhosted.org/packages/8d/84/0c3f62c3b4152e58dade72bf5708917eb019cdc8d9f5e2632f5017cb597f/catan-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ec735980d2e834cd6971650569d7318c", "sha256": "62cd838e5f84db8744b8c9748fb4f7fd163b691034c9261a26fc1892cc7b5073" }, "downloads": -1, "filename": "catan-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ec735980d2e834cd6971650569d7318c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25327, "upload_time": "2016-01-25T18:13:53", "url": "https://files.pythonhosted.org/packages/21/20/e48f39a940625873a0a7e16de7927ba26a6af4c001c0195d2875d454d48f/catan-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "cd7e8ed0c43b98271b598b891286bbfe", "sha256": "ec6210795c91886c64d5b1b5f115df82a3880454a484eca0fc3d27c9e8186c34" }, "downloads": -1, "filename": "catan-0.1.5.tar.gz", "has_sig": false, "md5_digest": "cd7e8ed0c43b98271b598b891286bbfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25544, "upload_time": "2016-01-30T06:09:17", "url": "https://files.pythonhosted.org/packages/44/56/d5dde392a9ffb544fc95e13c7125460e65a7c1639d51e4dbb82f6abc556f/catan-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "28ccc6440b1c2084f72fdf0ba54c86ad", "sha256": "8066fb89abecf18c3d0ab44ed8e27fafdeaf643994ca24458bb9887b48c96df9" }, "downloads": -1, "filename": "catan-0.1.6.tar.gz", "has_sig": false, "md5_digest": "28ccc6440b1c2084f72fdf0ba54c86ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25561, "upload_time": "2016-01-30T06:11:17", "url": "https://files.pythonhosted.org/packages/39/52/c79c91819263d9154d5b07432c6a007dcc54b6f0ec9a7e2a5a7161f6e6c5/catan-0.1.6.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "334a802eb2c3d7b6f9d3319f2021b578", "sha256": "7ff2b08c696892b5135a988c46f039c024f09603768c401b92d21f249010fe33" }, "downloads": -1, "filename": "catan-0.2.5.tar.gz", "has_sig": false, "md5_digest": "334a802eb2c3d7b6f9d3319f2021b578", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25557, "upload_time": "2016-01-31T18:37:34", "url": "https://files.pythonhosted.org/packages/b8/07/2619699eaf2b8e18c2d34556e83d3c66a12d06ae52b8739266e346d0f518/catan-0.2.5.tar.gz" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "0b8138590da99ae0b6bc57415c38a626", "sha256": "13d5f923234c376bc187dd23579ea5bcf0bff4671eeae71f7ac18647a1d16d04" }, "downloads": -1, "filename": "catan-0.3.10.tar.gz", "has_sig": false, "md5_digest": "0b8138590da99ae0b6bc57415c38a626", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25753, "upload_time": "2016-02-04T07:05:48", "url": "https://files.pythonhosted.org/packages/d5/03/b1a80bce866ddec2ddca86698831b9612a448a7697459314b1d5186937c5/catan-0.3.10.tar.gz" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "36af583a21d2da4b510f08e1c664563d", "sha256": "5d2cda4116716fc949a3edbb97209c147a08c0246e87a2a6e4e2e122a17aea88" }, "downloads": -1, "filename": "catan-0.3.11.tar.gz", "has_sig": false, "md5_digest": "36af583a21d2da4b510f08e1c664563d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25745, "upload_time": "2016-02-04T20:16:09", "url": "https://files.pythonhosted.org/packages/2e/f0/e22833a868c4970884e6c6416c91a5df9a2e7c645e1ca840a36f53b5c797/catan-0.3.11.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "e9a7ca37e2219d21edcc09ce12b372f2", "sha256": "c0c24805e11584b50f04af7b0c19e7113c50c93234bffd2bd413ad99254382ad" }, "downloads": -1, "filename": "catan-0.3.5.tar.gz", "has_sig": false, "md5_digest": "e9a7ca37e2219d21edcc09ce12b372f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25730, "upload_time": "2016-02-03T19:38:02", "url": "https://files.pythonhosted.org/packages/28/e9/cefd2f234f9dec5bbb0117acfd859030767e9dc663d7958fb3c0d2d91505/catan-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "6093fe6d73215e3464fc14b0027276b1", "sha256": "117546a764e6f7fbfd34b2740a00de81fd05d41cba190e1cb52ff57a003d28d8" }, "downloads": -1, "filename": "catan-0.3.6.tar.gz", "has_sig": false, "md5_digest": "6093fe6d73215e3464fc14b0027276b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25736, "upload_time": "2016-02-04T01:15:17", "url": "https://files.pythonhosted.org/packages/e4/41/b8881aae0c9a4deed6876f1988719ec75af79ddcdd12c5f875bf3fd79e48/catan-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "cda7da41ad756d9765ad9bf7a7786e32", "sha256": "e8f36c276d074cd7b62e009a470221db991c94b7f7cc1bd3616486c12e3ae818" }, "downloads": -1, "filename": "catan-0.3.7.tar.gz", "has_sig": false, "md5_digest": "cda7da41ad756d9765ad9bf7a7786e32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25731, "upload_time": "2016-02-04T02:09:39", "url": "https://files.pythonhosted.org/packages/a9/7b/1c870a082e2fce208e0114f1a50ff68927da49d07f7a12b81e93e127e803/catan-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "f5b632ebc474869ef0047b94e6e36954", "sha256": "21248b2324ece7e5853d5f4eadd61a8901852c49885459720a214ad5c28a56ab" }, "downloads": -1, "filename": "catan-0.3.8.tar.gz", "has_sig": false, "md5_digest": "f5b632ebc474869ef0047b94e6e36954", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25732, "upload_time": "2016-02-04T02:16:00", "url": "https://files.pythonhosted.org/packages/10/4a/3e05c3ceba136ebc71c8bfe7f1df480e877942e4a8aae43dba891b42b246/catan-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "3fe3fde77c3aa7f8955593684f2e878f", "sha256": "0fcd0a51c1c69a286008610b3aee26442e38c63d9cb28aac62840fd15f8e8977" }, "downloads": -1, "filename": "catan-0.3.9.tar.gz", "has_sig": false, "md5_digest": "3fe3fde77c3aa7f8955593684f2e878f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25742, "upload_time": "2016-02-04T06:51:54", "url": "https://files.pythonhosted.org/packages/de/2d/47e72b335b085dab77fd803f2390c50be7dcbacc76837b4eea2ca9e3bfa4/catan-0.3.9.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "805246f67af05fc6db58566abda8620b", "sha256": "7428af02d459b19905245df973a6e8e02f2d3b1500399eb29313afd10f71a365" }, "downloads": -1, "filename": "catan-0.4.2.tar.gz", "has_sig": false, "md5_digest": "805246f67af05fc6db58566abda8620b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26351, "upload_time": "2016-02-16T07:07:19", "url": "https://files.pythonhosted.org/packages/84/b4/4719ec8d5b4f781430ef741b5b8574fd7eaa253a327013d1c2f04e50a92a/catan-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "0b05f73b1902d58dea07b8a44bd1bd06", "sha256": "ca8892e54ee4bc3b1fc8bbf87f600e863839b10995bb4040eede3b9127e2d90c" }, "downloads": -1, "filename": "catan-0.4.3.tar.gz", "has_sig": false, "md5_digest": "0b05f73b1902d58dea07b8a44bd1bd06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27069, "upload_time": "2018-07-14T02:32:28", "url": "https://files.pythonhosted.org/packages/b1/f0/7511047b16a3b8eb8a1a5dd5e686b09c3c31f8e4d80e2d61a036f121b72f/catan-0.4.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0b05f73b1902d58dea07b8a44bd1bd06", "sha256": "ca8892e54ee4bc3b1fc8bbf87f600e863839b10995bb4040eede3b9127e2d90c" }, "downloads": -1, "filename": "catan-0.4.3.tar.gz", "has_sig": false, "md5_digest": "0b05f73b1902d58dea07b8a44bd1bd06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27069, "upload_time": "2018-07-14T02:32:28", "url": "https://files.pythonhosted.org/packages/b1/f0/7511047b16a3b8eb8a1a5dd5e686b09c3c31f8e4d80e2d61a036f121b72f/catan-0.4.3.tar.gz" } ] }