{ "info": { "author": "Revar Desmera", "author_email": "revarbat@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Code Generators", "Topic :: Software Development :: Compilers", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "#####\nPyMUV\n#####\n\nThis is a pure python implementation of the MUV 2.0 compiler.\nIt takes C-like MUV language source code, and compiles it to the\nmore inscrutable forth-based MUF language, suitable for uploading\nto an fb6 (or later) Fuzzball MUCK chat server.\n\n\nThe MUV 2.0 Language\n====================\n\nCreating MUF programs is an ugly, painful, nearly write-only experience,\nand that's coming from the coder who designed most of the language. Why\nspend massive amounts of time debugging and keeping track of stack items,\nwhen you can write code in a more modern, readable language?\n\nInstead of writing cryptic code like::\n\n : showspecies[ -- ret ]\n var obj\n loc @ contents_array\n foreach obj ! pop\n obj @ player? if\n obj @ \"species\" getpropstr dup not if pop \"Unknown\" then\n obj @ \"sex\" getpropstr dup not if pop \"Unknown\" then\n obj @\n \"%-30D %-10s %-30s\"\n fmtstring\n me @ swap notify\n then\n repeat\n ;\n\nYou can write::\n\n func showspecies() {\n for (var obj in contents_array(loc)) {\n if (player?(obj)) {\n tell(\n fmtstring(\n \"%-30D %-10s %-30s\", obj,\n getpropstr(obj, \"sex\") || \"Unknown\",\n getpropstr(obj, \"species\") || \"Unknown\"\n )\n );\n }\n }\n }\n\n\nInstallation\n============\n\nInstall using PyPi::\n\n pip install pymuv\n\nInstalling from sources::\n\n python3 setup.py build install\n\n\nUsage\n=====\nThe ``muv`` program expects the input MUV source file to be given on the\ncommand-line. The MUF output will, by default, be written to ``STDOUT``.\nError messages will be printed to ``STDERR``, and the return code will be\nnon-zero if errors were found::\n\n muv sourcefile.muv >outfile.muf\n\nYou can use ``-w PROGNAME`` to wrap the output in MUF editor commands::\n\n muv -w cmd-whospecies whospecies.muv >whospecies.muf\n\nUsing ``-o OUTFILE`` will write the output MUF code to OUTFILE instead\nof STDOUT::\n\n muv -o whospecies.muf whospecies.muv\n\nAdding a ``-d`` to the command-line will add debugging code to the MUF output.\nEach line of MUV will add code like: ``\"foo.muv:23\" pop`` to the MUF output::\n\n muv -d -o whospecies.muf whospecies.muv\n\n\nLinks\n=====\n- Language reference: \n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/revarbat/pymuv/archive/master.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/revarbat/pymuv", "keywords": "muv muf muck compiler", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "pymuv", "package_url": "https://pypi.org/project/pymuv/", "platform": "", "project_url": "https://pypi.org/project/pymuv/", "project_urls": { "Download": "https://github.com/revarbat/pymuv/archive/master.zip", "Homepage": "https://github.com/revarbat/pymuv" }, "release_url": "https://pypi.org/project/pymuv/0.9.8/", "requires_dist": null, "requires_python": "", "summary": "A python implementation of the MUV 2.0 to FuzzBall MUCK MUF compiler.", "version": "0.9.8" }, "last_serial": 3334378, "releases": { "0.7.0": [ { "comment_text": "", "digests": { "md5": "c0e25bf4a3ab2a359f302920fbb474c1", "sha256": "fe0844691fb589eadc4b62709fd28b5ccb074e704461ec92c73e48f440ab6a0a" }, "downloads": -1, "filename": "pymuv-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c0e25bf4a3ab2a359f302920fbb474c1", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 37185, "upload_time": "2016-08-02T04:12:35", "url": "https://files.pythonhosted.org/packages/df/37/21566a42ce4a20e0f3b93eae967357668d152174a1f102e75ad69ba15b73/pymuv-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1a8d4602133eefa0ea6f88099dbea2b", "sha256": "3e8661b248c7f53ca85eaa41e71672bd242468f473d62fa39b90a409e77dcadd" }, "downloads": -1, "filename": "pymuv-0.7.0.tar.gz", "has_sig": false, "md5_digest": "c1a8d4602133eefa0ea6f88099dbea2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28840, "upload_time": "2016-08-02T04:12:32", "url": "https://files.pythonhosted.org/packages/92/8f/37aac06770977d12018e9cdefd911a13a8186663fe2548372fe308ab102a/pymuv-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "cb1c4619e351ba6127e8127832b07d82", "sha256": "716a8eabe49b599e7716cd912c7be2f40f96da1d7799ddfe42c4c655fd057d53" }, "downloads": -1, "filename": "pymuv-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cb1c4619e351ba6127e8127832b07d82", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 37970, "upload_time": "2016-08-03T04:15:20", "url": "https://files.pythonhosted.org/packages/d4/c7/74926d1f40448471a7d9807e23770919307b652dfe6ce573a18a1f395674/pymuv-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5da78babb2f436d358e018f29e9cee46", "sha256": "2cf83203107da5a894ebbe1f48e937d89e05da4042749115faf4d2e274917757" }, "downloads": -1, "filename": "pymuv-0.8.0.tar.gz", "has_sig": false, "md5_digest": "5da78babb2f436d358e018f29e9cee46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29668, "upload_time": "2016-08-03T04:15:17", "url": "https://files.pythonhosted.org/packages/69/59/0dc699b5b963d1bf30c6bf1c70c3640836ad505de5f75668ae371199a824/pymuv-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "017c97920f60f820b0ba501730c26796", "sha256": "4159f095d29cb29b404a3f6255a28af091fbc0522e881a98b571c8dc28e2e5a2" }, "downloads": -1, "filename": "pymuv-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "017c97920f60f820b0ba501730c26796", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 38716, "upload_time": "2016-08-07T01:16:16", "url": "https://files.pythonhosted.org/packages/a7/ed/776ff09170e51762265c60066a3b905447699660f95a393394806f416c2d/pymuv-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ee9585d4eb4f1b335b4fe2135eace64", "sha256": "ca2bc5aa8e56d58fe1ce930259f4f2495c1a114252db84344aab50ec77068e96" }, "downloads": -1, "filename": "pymuv-0.9.0.tar.gz", "has_sig": false, "md5_digest": "7ee9585d4eb4f1b335b4fe2135eace64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30331, "upload_time": "2016-08-07T01:16:13", "url": "https://files.pythonhosted.org/packages/e7/ce/a045482f41e1d886cf56e1d737839ee66fc6cec236888ea9021c16f14854/pymuv-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "95d4c265c2848253bb5c2930637331d6", "sha256": "3fc1b6e5402ab0c898879be9a6604742beacb4986b7b08f1db8d9ba40a2eee38" }, "downloads": -1, "filename": "pymuv-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95d4c265c2848253bb5c2930637331d6", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 38770, "upload_time": "2016-08-07T20:10:18", "url": "https://files.pythonhosted.org/packages/69/c7/78446fdebd29be502dcf025de09e646e72e4f92d614ee70422555b958d14/pymuv-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41cb39cf5d6a785594fda550b5413f8d", "sha256": "002003c887844627e0ce5914ba83a0fd64889ad40cc9877c0d5c8a2f82c61727" }, "downloads": -1, "filename": "pymuv-0.9.1.tar.gz", "has_sig": false, "md5_digest": "41cb39cf5d6a785594fda550b5413f8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30350, "upload_time": "2016-08-07T20:10:16", "url": "https://files.pythonhosted.org/packages/48/a7/6f1c48ef423acea51f1bb88b7a6bfb14d5891194029b9f0b87f9cccf03f4/pymuv-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "b55bb49ddab04d3920540d75bc4fcfd5", "sha256": "6307174058c07417118b9c03a89307e02a3c37a74271b138e2c6b7862b766722" }, "downloads": -1, "filename": "pymuv-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b55bb49ddab04d3920540d75bc4fcfd5", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 38772, "upload_time": "2016-08-12T05:10:32", "url": "https://files.pythonhosted.org/packages/8a/34/cf59e8dccbf57c0f582e4b216c5b956c5096e65e1197f77c0c55f652211d/pymuv-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68ec15381ab8d374feecea8a27fc2a00", "sha256": "e2718d23463082d7f272cf506118c988adad4b0e5346b975c8c3cce5a1b0c61c" }, "downloads": -1, "filename": "pymuv-0.9.2.tar.gz", "has_sig": false, "md5_digest": "68ec15381ab8d374feecea8a27fc2a00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30369, "upload_time": "2016-08-12T05:10:29", "url": "https://files.pythonhosted.org/packages/2d/aa/2e892fb142ce5ae11cc253227d3b8c5e053a622b274ba6411429594e4bb6/pymuv-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "78703b8200d1b83b8a2f0533b732da28", "sha256": "6528bdb72961c1a651c481b0563ec79d0271a25a5b3e58e5295862b4808a88ca" }, "downloads": -1, "filename": "pymuv-0.9.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78703b8200d1b83b8a2f0533b732da28", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 39489, "upload_time": "2016-08-19T06:45:55", "url": "https://files.pythonhosted.org/packages/87/7e/4daa98a10a6b1bf6142e8e88b2d839f20f6b5b37f7c0619f598bec3983de/pymuv-0.9.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "333ac1e21520eb27944bd8d9334d241e", "sha256": "ee58f98c872c413fbbd57b48f3084d58373c80aa554997eb5202175fe4b1ad97" }, "downloads": -1, "filename": "pymuv-0.9.3.tar.gz", "has_sig": false, "md5_digest": "333ac1e21520eb27944bd8d9334d241e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30914, "upload_time": "2016-08-19T06:45:52", "url": "https://files.pythonhosted.org/packages/f1/ec/7f855e42be2e6ca349d4b13bc0f8590d8c40a6c103f1e43b44eec533d9fb/pymuv-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "7b4a80a168473cc24d661b07d319451b", "sha256": "ed76aa5a4a08ddd17ff81acea4b4bd3c71a511bbe10a2684f8739bb4e7702533" }, "downloads": -1, "filename": "pymuv-0.9.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7b4a80a168473cc24d661b07d319451b", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 39750, "upload_time": "2016-08-20T18:15:13", "url": "https://files.pythonhosted.org/packages/c1/30/b89f9f7b92ca2b88328e2382064262a801d2d1c1c74f5b66accdfbba8aa8/pymuv-0.9.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2b3437e2e845ab6c32b4fe59b701ead", "sha256": "a739c01eafe72a1a6d730dd022d67456b6e6e375eb19904625f727641ffb5167" }, "downloads": -1, "filename": "pymuv-0.9.4.tar.gz", "has_sig": false, "md5_digest": "e2b3437e2e845ab6c32b4fe59b701ead", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30824, "upload_time": "2016-08-20T18:15:10", "url": "https://files.pythonhosted.org/packages/81/19/8f47bc9bd6ed2dab82f36f9ff4be485bb920c0544e38aed4905bb17f007e/pymuv-0.9.4.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "f102401b7e3322e05da1f32e96a6042d", "sha256": "e9963bf0bd7bc5af289e3d81754f589871f2834b912b149c97f19db620381a43" }, "downloads": -1, "filename": "pymuv-0.9.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f102401b7e3322e05da1f32e96a6042d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 52136, "upload_time": "2017-10-17T03:47:48", "url": "https://files.pythonhosted.org/packages/ae/07/806f61c8dd020a6a2926e559584d9b14216ba88ccc6f92e5456dc6408c0f/pymuv-0.9.7-py2.py3-none-any.whl" } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "067e6661d63f16f6603711fc5a276807", "sha256": "800787487041763c86f0eb7f99efc48d538b5b2b7870f70a8210853c34681832" }, "downloads": -1, "filename": "pymuv-0.9.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "067e6661d63f16f6603711fc5a276807", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 52897, "upload_time": "2017-11-15T08:20:58", "url": "https://files.pythonhosted.org/packages/29/d5/6d08ad86ee4979acb0601e89c55eb8146a68ac6b6002dca64d587b5816d5/pymuv-0.9.8-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "067e6661d63f16f6603711fc5a276807", "sha256": "800787487041763c86f0eb7f99efc48d538b5b2b7870f70a8210853c34681832" }, "downloads": -1, "filename": "pymuv-0.9.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "067e6661d63f16f6603711fc5a276807", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 52897, "upload_time": "2017-11-15T08:20:58", "url": "https://files.pythonhosted.org/packages/29/d5/6d08ad86ee4979acb0601e89c55eb8146a68ac6b6002dca64d587b5816d5/pymuv-0.9.8-py2.py3-none-any.whl" } ] }