{ "info": { "author": "0.1.3", "author_email": "poletaev.vladislav@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Other Audience", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3 :: Only", "Topic :: Games/Entertainment :: Puzzle Games" ], "description": "# CubeLang\n\nCubeLang is a strongly statically typed domain-specific procedural programming language made for solving twisting cube puzzles like Rubik's cubes.\n\n
\n\n## Installation\n\nCubeLang requires Python 3.6 or newer to functions. For the information on how to install Python please refer to the [downlaod page](https://www.python.org/downloads/).\n\nThe easies way to install CubeLang is by using pip. On how to install pip please refer to the [manual](https://pip.pypa.io/en/stable/installing/).\n\n```bash\npip install CubeLang\n```\n\nAfter the installation `cubelang` and `cubelang-scramble` command line utilities will be available.\n\n#### Development\n\nIn order to develop CubeLang clone this repository and install dependencies.\n\n```bash\ngit clone https://github.com/poletaevvlad/CubeLang.git\ncd CubeLang\npip install lark-parser termcolor\npip install -r test_requirements.txt\n```\n\nTests for the interpreter are located in the `test` directory, tests for the example programs are in the `test_examples` directory. CubeLang uses pytest for testing.\n\n## Examples\n\nThere are two example programs written in CubeLang. They are located in the `examples` directory of the GitHub repository.\n\nThe results of executing example programs are shown bellow.\n\n**Beginner's method** (3x3x3 cube) @ [examples/beginner](examples/beginner)\n\n\n| [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_beginner_1.png)](https://www.youtube.com/watch?v=dzqH6hYKuco) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_beginner_2.png)](https://www.youtube.com/watch?v=7hDjaBIfIeU) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_beginner_3.png)](https://www.youtube.com/watch?v=-jjZ7OJNd4g) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_beginner_4.png)](https://www.youtube.com/watch?v=_PxvFn2qd5M) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_beginner_5.png)](https://www.youtube.com/watch?v=D6EbnLoh51s) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_beginner_6.png)](https://www.youtube.com/watch?v=NhziEe3avvM)\n|--|--|--|--|--|--|\n\n**Pocket cube** (2x2x2 cube) @ [examples/pocket-cube](examples/pocket-cube)\n\n| [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_pocket_1.png)](https://www.youtube.com/watch?v=NhziEe3avvM) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_pocket_2.png)](https://www.youtube.com/watch?v=z7OPzDXNGSA) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_pocket_3.png)](https://www.youtube.com/watch?v=MO36Aj56TVw) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_pocket_4.png)](https://www.youtube.com/watch?v=ZX0P7-SvCWod5M) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_pocket_5.png)](https://www.youtube.com/watch?v=an4ovEBPumc) | [![](https://raw.githubusercontent.com/poletaevvlad/CubeLang/master/docs/images/example_pocket_6.png)](https://www.youtube.com/watch?v=Qvmfpi6yIWQ)\n|--|--|--|--|--|--|\n\n## Documentation\n\nYou can find the language documentation in the [`docs`](./docs) directory in the root of this repositorty.\n\nDocumentation consists of the following sections:\n\n**Usage** @ [docs/usage.md](https://github.com/poletaevvlad/CubeLang/blob/master/docs/usage.md)
Describes the command line arguments for the interpreter and scrambler utility application\n\n**Variables and types** @ [docs/types.md](https://github.com/poletaevvlad/CubeLang/blob/master/docs/types.md)
Describes how to define a variable, determine it's scope. Lists data types, supported by CubeLang.\n\n**Operators** @ [docs/operators.md](https://github.com/poletaevvlad/CubeLang/blob/master/docs/operators.md)
Lists binary and unary operators supported by CubeLang.\n\n**Conditions and loops** @ [docs/statements.md](https://github.com/poletaevvlad/CubeLang/blob/master/docs/statements.md)
Shows the syntax of most execution controlling operators: conditions, loops and `orient` operator.\n\n**Cube turns and rotations** @ [docs/actions.md](https://github.com/poletaevvlad/CubeLang/blob/master/docs/actions.md)
Shows the syntax of cube turning and rotating commands used by the language and some of the interpreter's command line arguments.\n\n**Indexing** @ [docs/indexing.md](https://github.com/poletaevvlad/CubeLang/blob/master/docs/indexing.md)
Describes how to access sticker colors of a cube.\n\n**Standard library** @ [docs/stdlib.md](https://github.com/poletaevvlad/CubeLang/blob/master/docs/stdlib.md)
A reference for all functions and constants included into the standard library.\n\n## License\n\nThis software is licensed under MIT license. Please refer to [LICENSE](https://github.com/poletaevvlad/CubeLang/blob/master/LICENSE) of the repository file for more information.\n\nCopyright © Vlad Poletaev, 2019", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/poletaevvlad/CubeLang", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "CubeLang", "package_url": "https://pypi.org/project/CubeLang/", "platform": "", "project_url": "https://pypi.org/project/CubeLang/", "project_urls": { "Homepage": "https://github.com/poletaevvlad/CubeLang" }, "release_url": "https://pypi.org/project/CubeLang/0.1.3/", "requires_dist": null, "requires_python": "", "summary": "Domain-specific programming language made for solving twisting cube puzzles", "version": "0.1.3" }, "last_serial": 5495858, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e74b018386f0cdf2888b7b565d3546ba", "sha256": "7f7488cbeac33180f3e10360802f011ac19c1d31158fe18884cacb8dc321f53e" }, "downloads": -1, "filename": "CubeLang-0.1.0-py3.7.egg", "has_sig": false, "md5_digest": "e74b018386f0cdf2888b7b565d3546ba", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 316894, "upload_time": "2019-07-06T22:56:02", "url": "https://files.pythonhosted.org/packages/1e/87/0f239670722f185a4db1a11b04e3a321ca023e7e72010e36a2173c63433c/CubeLang-0.1.0-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "a8ce786f6c838ce7cceb1fafa82f67e1", "sha256": "2ffba4c8d519c6013089c3d01796ee4ce442b7447bcfc6a4bd2bc55da7565e01" }, "downloads": -1, "filename": "CubeLang-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a8ce786f6c838ce7cceb1fafa82f67e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37545, "upload_time": "2019-07-06T22:37:42", "url": "https://files.pythonhosted.org/packages/f7/cb/c04b9b3c3ef305d976004b114f9be698a538aa3542b494bb273fe59c725a/CubeLang-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "37543881accd73f70f431f3f1e104726", "sha256": "36e51681e6ca1b68a7428afbb095fc7a4b1d2dc7aeb2e93764c77f68a4798bf2" }, "downloads": -1, "filename": "CubeLang-0.1.1.tar.gz", "has_sig": false, "md5_digest": "37543881accd73f70f431f3f1e104726", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38828, "upload_time": "2019-07-06T23:10:38", "url": "https://files.pythonhosted.org/packages/25/ae/23d700b5a2561256d154f09adbe9c0cbe08db4c86d835fac792990cd38bc/CubeLang-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8cd5cff042bbc7611c7a967a8bfd0c14", "sha256": "ad5a077261aca4d93c228224f6b0852d1c26a7c1f16000bc85c6310be4a39cce" }, "downloads": -1, "filename": "CubeLang-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8cd5cff042bbc7611c7a967a8bfd0c14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38836, "upload_time": "2019-07-06T23:16:00", "url": "https://files.pythonhosted.org/packages/73/c1/d182581d1ef1bedf182902b687c6a4c49844b320ab6c45c8666c932fc8a6/CubeLang-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5f3f3f93de5437c6c24bd9ebaf3e1b2e", "sha256": "d59b4e4602c3f661a1b9c66d90a87ea710d63ff35de950bf5db8c138b26f96d8" }, "downloads": -1, "filename": "CubeLang-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5f3f3f93de5437c6c24bd9ebaf3e1b2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39201, "upload_time": "2019-07-06T23:43:07", "url": "https://files.pythonhosted.org/packages/d3/e9/3d1062f5b7498efd4c9a3e13556242cb1ed11b695de02eed18ce376b833f/CubeLang-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5f3f3f93de5437c6c24bd9ebaf3e1b2e", "sha256": "d59b4e4602c3f661a1b9c66d90a87ea710d63ff35de950bf5db8c138b26f96d8" }, "downloads": -1, "filename": "CubeLang-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5f3f3f93de5437c6c24bd9ebaf3e1b2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39201, "upload_time": "2019-07-06T23:43:07", "url": "https://files.pythonhosted.org/packages/d3/e9/3d1062f5b7498efd4c9a3e13556242cb1ed11b695de02eed18ce376b833f/CubeLang-0.1.3.tar.gz" } ] }