{ "info": { "author": "willemt", "author_email": "himself@willemthiart.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: System :: Logging" ], "description": "docopt2ragel makes command line interface parsing easy!\n\ndocopt2ragel parses docopt USAGE text and outputs a Ragel finite state machine for parsing the CLI.\n\nYou can then use Ragel to output the finite state machine into C source code.\n\nExample\n=======\n\nCreate a USAGE file using docopt's declarative format. See below for example contents:\n\n.. code-block:: bash\n\n dq - a command line tool for duraqueue the dead simple queue\n\n Usage:\n dq info \n dq --help\n\n Options:\n -h --help Prints a short usage summary.\n\nConvert the USAGE file into a Ragel file:\n\n.. code-block:: bash\n\n docopt2ragel.py USAGE > usage.rl \n\nConvert the Ragel file into a C file:\n\n.. code-block:: bash\n\n ragel usage.rl \n\nImport the generated file into your source:\n\n.. code-block:: c\n\n #include \"usage.c\"\n\n int main(int argc, char **argv)\n {\n int e;\n options_t opts;\n\n e = parse_options(argc, argv, &opts);\n if (-1 == e)\n {\n exit(-1);\n }\n\n void *qu = NULL;\n\n if (opts.help)\n {\n show_usage();\n exit(0);\n }\n else if (opts.info)\n {\n qu = dqueuer_open(opts.queue_file);\n }\n\n if (qu)\n printf(\"Item count: %d\\n\", dqueue_count(qu));\n\n return 1;\n }\n\n\nFor real life examples see:\n\n- https://github.com/willemt/duraqueue\n- https://github.com/willemt/peardb\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/willemt/docopt2ragel", "keywords": "development", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "docopt2ragel", "package_url": "https://pypi.org/project/docopt2ragel/", "platform": "", "project_url": "https://pypi.org/project/docopt2ragel/", "project_urls": { "Homepage": "https://github.com/willemt/docopt2ragel" }, "release_url": "https://pypi.org/project/docopt2ragel/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "Convert your docopt usage text into a Ragel FSM", "version": "0.1.4" }, "last_serial": 3505664, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "5bc9d0992e6c7733c3a51e171f9f918a", "sha256": "7cd2e6eb8a3d8ec98aecf9ad6bf88ace88991b7dcff4280e93ea1206a8174a69" }, "downloads": -1, "filename": "docopt2ragel-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5bc9d0992e6c7733c3a51e171f9f918a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6929, "upload_time": "2015-04-10T10:19:54", "url": "https://files.pythonhosted.org/packages/89/18/d60fe9d0f68f97f6c922bc0323d2b99b80ef6086f06b90726461c94eaca5/docopt2ragel-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "efd831abdda45e8dad3ad4c080ff2166", "sha256": "87609acbf640010d7026e94a275841ca1a00ab998a5ab476e8a26c91c47ec5f4" }, "downloads": -1, "filename": "docopt2ragel-0.1.0.tar.gz", "has_sig": false, "md5_digest": "efd831abdda45e8dad3ad4c080ff2166", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4795, "upload_time": "2015-04-10T10:19:51", "url": "https://files.pythonhosted.org/packages/7f/18/b1a1c4cf023816ba51e67a61947edd895cc25d523b363f08333e19c81262/docopt2ragel-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "573ad26fab69665f29f2786c9fe733bd", "sha256": "9d718a9d0c7764fb990ccd025307f1f1ab605976c8ea7a8563a9bb1b288dcf82" }, "downloads": -1, "filename": "docopt2ragel-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "573ad26fab69665f29f2786c9fe733bd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6952, "upload_time": "2015-04-13T11:29:40", "url": "https://files.pythonhosted.org/packages/c0/4d/716298d64266ec5adc8bcbdd0e7458540aec10fb4fb402b96d42f6183e46/docopt2ragel-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7543df951d712b9c126273e289280d9", "sha256": "46c3ce7eacbebb8efb32e2af630ef45822e992046ebc86a3bf8bc926df35fef3" }, "downloads": -1, "filename": "docopt2ragel-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e7543df951d712b9c126273e289280d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4871, "upload_time": "2015-04-13T11:29:37", "url": "https://files.pythonhosted.org/packages/17/40/424bf3596a139ddce6a27cd553e3607361e3f65147a6aa431d7dc1287d71/docopt2ragel-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "c5bcf1ff4292d4baefdcdfad99579ec8", "sha256": "7b4adbc2739961a0649753be0fe54dad25d82f8da5a9fa5f5f62e5b011e5b543" }, "downloads": -1, "filename": "docopt2ragel-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5bcf1ff4292d4baefdcdfad99579ec8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6950, "upload_time": "2015-04-16T13:19:26", "url": "https://files.pythonhosted.org/packages/a7/e9/85a8d3f01c6e28f97eee11607c7eadbac6774dae3d7ec502bd69a2bb68f9/docopt2ragel-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b493c58d3cac6fbcc1464f70660507bc", "sha256": "4c3cb20c5b3d03aaa434b57aecd522462670b7fa2338ba6dde608d48d555a396" }, "downloads": -1, "filename": "docopt2ragel-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b493c58d3cac6fbcc1464f70660507bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4859, "upload_time": "2015-04-16T13:19:22", "url": "https://files.pythonhosted.org/packages/eb/1b/02d4ae27df1934430c8d0087846e1d9a9aebfa0689e97ece25e6336ba61f/docopt2ragel-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "6c76cf1f222ceda642741b2177c3d15f", "sha256": "c19fad4aead4a2cba365ba971a3427dcde9670dc3a1c036c5501595daee1abfb" }, "downloads": -1, "filename": "docopt2ragel-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6c76cf1f222ceda642741b2177c3d15f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6898, "upload_time": "2015-11-02T11:34:28", "url": "https://files.pythonhosted.org/packages/cc/61/b4ada743e5fc9d100cd5ff11b3d557d0f075c9f725809f0ce81ba4149cc1/docopt2ragel-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c8e6d1bfcfc741f694947c1623c1b86", "sha256": "3c9695ab1218ce69ffbeb9d9e4ad0e9627a24a8942d01d499347effeb1be8781" }, "downloads": -1, "filename": "docopt2ragel-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5c8e6d1bfcfc741f694947c1623c1b86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4872, "upload_time": "2015-11-02T11:34:22", "url": "https://files.pythonhosted.org/packages/12/71/1463bb9495fa3b1ceaefda5fa0e6973a02ba7ac92a4b39a905c72e5e202d/docopt2ragel-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "03da17c21e8d0d95e6ca425f52b087df", "sha256": "0444717ef228fcd7e56768e2a13c0aedc7f5e8a610c71894b559ded7f57297c3" }, "downloads": -1, "filename": "docopt2ragel-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03da17c21e8d0d95e6ca425f52b087df", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6919, "upload_time": "2018-01-19T22:08:32", "url": "https://files.pythonhosted.org/packages/d9/58/a903f6787f1c54c769c0b3973580d88bf48a497f2cc3a0700294e8b18e3c/docopt2ragel-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "400e4a755cc22f4bc2ca71ed131d6f7f", "sha256": "93583cc5e7d5b2e9170d4833bba0a1196531cf5995ea3d672ce5a15a4076e14f" }, "downloads": -1, "filename": "docopt2ragel-0.1.4.tar.gz", "has_sig": false, "md5_digest": "400e4a755cc22f4bc2ca71ed131d6f7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4898, "upload_time": "2018-01-19T22:08:28", "url": "https://files.pythonhosted.org/packages/12/9f/23bf9fa5eb0cf2c0299b6cb2731b61e4d77da40565d1e8799330942c740b/docopt2ragel-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "03da17c21e8d0d95e6ca425f52b087df", "sha256": "0444717ef228fcd7e56768e2a13c0aedc7f5e8a610c71894b559ded7f57297c3" }, "downloads": -1, "filename": "docopt2ragel-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03da17c21e8d0d95e6ca425f52b087df", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6919, "upload_time": "2018-01-19T22:08:32", "url": "https://files.pythonhosted.org/packages/d9/58/a903f6787f1c54c769c0b3973580d88bf48a497f2cc3a0700294e8b18e3c/docopt2ragel-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "400e4a755cc22f4bc2ca71ed131d6f7f", "sha256": "93583cc5e7d5b2e9170d4833bba0a1196531cf5995ea3d672ce5a15a4076e14f" }, "downloads": -1, "filename": "docopt2ragel-0.1.4.tar.gz", "has_sig": false, "md5_digest": "400e4a755cc22f4bc2ca71ed131d6f7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4898, "upload_time": "2018-01-19T22:08:28", "url": "https://files.pythonhosted.org/packages/12/9f/23bf9fa5eb0cf2c0299b6cb2731b61e4d77da40565d1e8799330942c740b/docopt2ragel-0.1.4.tar.gz" } ] }