{ "info": { "author": "Victor Cabezas", "author_email": "wiston666@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "Python Rubik Solver\n===================\n\n.. image:: https://badge.fury.io/py/rubik_solver.svg\n :target: https://badge.fury.io/py/rubik_solver\n\n.. image:: https://landscape.io/github/Wiston999/python-rubik/master/landscape.svg?style=flat\n :target: https://landscape.io/github/Wiston999/python-rubik/master\n :alt: Code Health\n\n.. image:: https://coveralls.io/repos/github/Wiston999/python-rubik/badge.svg?branch=master\n :target: https://coveralls.io/github/Wiston999/python-rubik?branch=master\n\n.. image:: https://travis-ci.org/Wiston999/python-rubik.svg?branch=master\n :target: https://travis-ci.org/Wiston999/python-rubik\n\n.. image:: https://readthedocs.org/projects/rubik-solver/badge/?version=latest\n :target: https://rubik-solver.readthedocs.io/en/latest/\n\nRubik Cube solving library and command line utility\n\nHow to install\n--------------\n\n``$ pip install rubik_solver``\n\nHow to use\n----------\n\nAs a command\n\n.. image:: docs/_static/cmd_tty.gif\n\n\nAs a module\n\n.. code:: python\n \n >>> cube = 'wowgybwyogygybyoggrowbrgywrborwggybrbwororbwborgowryby'\n >>> from rubik_solver import utils\n >>> utils.solve(cube, 'Beginner')\n [F', R, U', R', U, U, F2, Y, B', U, B, U, F2, Y, R', F', U, F, R, U, U, U, F2, Y, L, F, U', F', L', U, F2, Y, L', U, L, U', R, U, R', Y, U', F', U', F, Y, B, U, B', R, U, R', Y, Y, U', L', U, L, U, F, U', F', Y, Y, U2, Y2, U, R, U', R', U', F', U, F, Y, Y, U, R, U', R', U', F', U, F, Y, F, R, U, R', U', F', U2, F, R, U, R', U', F', F, R, U, R', U', F', U, U, U, U, R, U', L', U, R', U', L, R', D', R, D, R', D', R, D, U, R', D', R, D, R', D', R, D, U, U, R', D', R, D, R', D', R, D, U]\n >>> utils.solve(cube, 'CFOP')\n [F', R, U', R', U, U, F2, Y, B', U, B, U, F2, Y, R', F', U, F, R, U, U, U, F2, Y, L, F, U', F', L', U, F2, Y, L', U, L, U', U, F', U, F, U, F', U2, F, Y, U, Y', R', U', R, U2, R', U', R, U, R', U', R, Y, Y, B, U, B', U, F', U2, F, U, F', U2, F, Y, U2, U', R, U, R', U, R, U, R', Y, Y, R', F, R, U, R', F', R, Y, L, U', L', U, Y, Y, Y, Y, U, Y, Y, Y, Y, U, Y, Y, R, U', R, U, R, U, R, U', R', U', R2]\n >>> utils.solve(cube, 'Kociemba')\n [L', F, B2, R', B, R', L, B, D', F', U, B2, U, F2, D', R2, L2, U, F2, D']\n\nCube Notation\n-------------\n\nFor a better and more in depth explanation about the cube moves notation visit https://ruwix.com/the-rubiks-cube/notation/\n\nThe configuration string of the cube corresponds to the color of the stickers according to the following figure\n\n::\n\n ----------------\n | 0 | 1 | 2 |\n ----------------\n | 3 | 4 | 5 |\n ----------------\n | 6 | 7 | 8 |\n ----------------\n -------------------------------------------------------------\n | 9 | 10 | 11 | 18 | 19 | 20 | 27 | 28 | 29 | 36 | 37 | 38 |\n -------------------------------------------------------------\n | 12 | 13 | 14 | 21 | 22 | 23 | 30 | 31 | 32 | 39 | 40 | 41 |\n -------------------------------------------------------------\n | 15 | 16 | 17 | 24 | 25 | 26 | 33 | 34 | 35 | 42 | 43 | 44 |\n -------------------------------------------------------------\n ----------------\n | 45 | 46 | 47 |\n ----------------\n | 48 | 49 | 50 |\n ----------------\n | 51 | 52 | 53 |\n ----------------\n\nSo, the color at position 0, corresponds to the color of the sticker BLU, the color at 1 is BU and so on ...\n\nColors used in the implementation are:\n\n- [O]range\n- [B]lue\n- [R]ed\n- [W]hite\n- [Y]ellow\n- [G]reen\n\nNOTE\n----\n\n``Kociemba`` solver needs the following cubies at place:\n\n- **4** (Upper center): **YELLOW**\n- **13** (Left center): **BLUE**\n- **22** (Front center): **RED**\n- **31** (Right center): **GREEN**\n- **40** (Back center): **ORANGE**\n- **49** (Down center): **WHITE**\n\nTODO\n----\n- Improve documentation\n- Improve Kociemba Solver tests", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Wiston999/python-rubik", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "rubik-solver", "package_url": "https://pypi.org/project/rubik-solver/", "platform": "", "project_url": "https://pypi.org/project/rubik-solver/", "project_urls": { "Homepage": "https://github.com/Wiston999/python-rubik" }, "release_url": "https://pypi.org/project/rubik-solver/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "Rubik solver algorithms", "version": "0.2.0" }, "last_serial": 4696508, "releases": { "0.0.2": [], "0.1.0": [ { "comment_text": "", "digests": { "md5": "40f510eadb773a34cddcae6ea50762f0", "sha256": "7f20e22f3f612d8cd2301f003bb7ac60bd9a3422019408a7387f3ea32e4aff3c" }, "downloads": -1, "filename": "rubik_solver-0.1.0.tar.gz", "has_sig": false, "md5_digest": "40f510eadb773a34cddcae6ea50762f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23450, "upload_time": "2017-05-05T17:09:21", "url": "https://files.pythonhosted.org/packages/a0/a0/0c8f514f06a100e6bbcdda69127128e0f2cadd8258e052f5ab114076ddfd/rubik_solver-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e2c406b6cd5bd71a491e8f10d0fc0dc9", "sha256": "721c6e43d3e51ac7ec7cb648af87b59a4a397314e4be98f858b1f67bb4bdcef1" }, "downloads": -1, "filename": "rubik_solver-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e2c406b6cd5bd71a491e8f10d0fc0dc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23436, "upload_time": "2017-05-06T11:38:28", "url": "https://files.pythonhosted.org/packages/0d/e2/f10c8daa327ad417c194ecc7cc5df6d1e2d68507ba0b45dbe0510400ea0e/rubik_solver-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "260b48dd02f3534b5b59b3e22d698947", "sha256": "10113c5f0b19a44840d3ae4ef2a40f2b69e93407aabc266562dca3648c3430fc" }, "downloads": -1, "filename": "rubik_solver-0.1.2.tar.gz", "has_sig": false, "md5_digest": "260b48dd02f3534b5b59b3e22d698947", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3550458, "upload_time": "2017-05-07T12:20:40", "url": "https://files.pythonhosted.org/packages/2c/4b/cfb85a57abaccf7acbf31949739551a27f231d33218054d24016bbc45cf8/rubik_solver-0.1.2.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "95b9c82d34a6a81f8d466b302c3ade71", "sha256": "3a223cd27852bb1557e9f24fdea8bd55ef329b2dae01fd24a1f7c5ac5bc62f94" }, "downloads": -1, "filename": "rubik_solver-0.1.4.tar.gz", "has_sig": false, "md5_digest": "95b9c82d34a6a81f8d466b302c3ade71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3550511, "upload_time": "2017-05-08T18:12:16", "url": "https://files.pythonhosted.org/packages/44/fe/88583f989dfdae6b1f1f8b40ba5842fcce646e265a231d350c579822c3b6/rubik_solver-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "c51945901e2593b68a9e9f062acfa15d", "sha256": "969cc7006a15e382659561efc5b96a87ce1df0cddbcc3b936c3330ff1ee0ec80" }, "downloads": -1, "filename": "rubik_solver-0.1.5.tar.gz", "has_sig": false, "md5_digest": "c51945901e2593b68a9e9f062acfa15d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3550523, "upload_time": "2017-05-11T20:14:13", "url": "https://files.pythonhosted.org/packages/7c/43/6987647b2160542b36fc13f453561abd8ce778299f228efc5127321f9adc/rubik_solver-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8017f245f9b530b1a7746a9d9433c63e", "sha256": "b951e84cda8b36343b0e589833c1aa1a2771eae7bdb56279ec1e87870e7a7cf5" }, "downloads": -1, "filename": "rubik_solver-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8017f245f9b530b1a7746a9d9433c63e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3556243, "upload_time": "2019-01-14T23:14:16", "url": "https://files.pythonhosted.org/packages/17/f8/c80afe8baf7375b3ffec7d0a1780bd0909509ff5c0a80846c702a798df7a/rubik_solver-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8017f245f9b530b1a7746a9d9433c63e", "sha256": "b951e84cda8b36343b0e589833c1aa1a2771eae7bdb56279ec1e87870e7a7cf5" }, "downloads": -1, "filename": "rubik_solver-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8017f245f9b530b1a7746a9d9433c63e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3556243, "upload_time": "2019-01-14T23:14:16", "url": "https://files.pythonhosted.org/packages/17/f8/c80afe8baf7375b3ffec7d0a1780bd0909509ff5c0a80846c702a798df7a/rubik_solver-0.2.0.tar.gz" } ] }