{ "info": { "author": "Vikas Dhiman", "author_email": "wecacuee@github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "[![Build Status](https://travis-ci.org/wecacuee/keyword2cmdline.svg?branch=master)](https://travis-ci.org/wecacuee/keyword2cmdline)\n# Keywords to command line arguments\n\nConvert your function with keyword arguments into command line arguments with one line of code.\n\n## Installation\n\n``` python\npip install keyword2cmdline\n```\n\n## Usage\n\nUse the decorator `command` from the `keyword2cmdline` module to convert the function into command line arguments.\n\n``` python\nfrom keyword2cmdline import command\n\n@command\ndef main(text=\"Hello world\",\n language='en.US',\n exclamation_number=2,\n exclamation_sign=\"!\",\n exclamation=True):\n ...\n\n\nif __name__ == '__main__':\n main()\n```\n\nCheck the example `examples/hello_world.py`.\n\n``` bash\n$ python examples/hello_world.py -h\nusage: hello_world.py [-h] [--exclamation_number EXCLAMATION_NUMBER]\n [--exclamation_sign EXCLAMATION_SIGN]\n [--exclamation EXCLAMATION] [--text TEXT]\n [--language LANGUAGE]\n\noptional arguments:\n -h, --help show this help message and exit\n --exclamation_number EXCLAMATION_NUMBER\n --exclamation_sign EXCLAMATION_SIGN\n --exclamation EXCLAMATION\n --text TEXT\n --language LANGUAGE\n```\n\n``` bash\n$ python examples/hello_world.py\nHello world!!\n```\n\n``` python-console\n>>> from examples.hello_world import main\n>>> main.set_sys_args([])()\nHello world!!\n\n```\n\n``` bash\n$ python examples/hello_world.py --exclamation_number 10\nHello world!!!!!!!!!!\n```\n\n```python-console\n>>> from examples.hello_world import main\n>>> main.set_sys_args(\"--exclamation_number 10\".split())()\nHello world!!!!!!!!!!\n\n```\n\n``` bash\n$ python examples/hello_world.py --language hi.IN\n\u0928\u092e\u0938\u094d\u0924\u0947 \u0926\u0941\u0928\u093f\u092f\u093e!!\n```\n\n```python-console\n>>> from examples.hello_world import main\n>>> main.set_sys_args(\"--language hi.IN\".split())()\n\u0928\u092e\u0938\u094d\u0924\u0947 \u0926\u0941\u0928\u093f\u092f\u093e!!\n\n```\n\nFor boolean variables, any string is `True` but empty string '' is `False` (you can customize that)\n``` bash\n$ python examples/hello_world.py --exclamation ''\nHello world\n```\n\n``` python-console\n>>> from examples.hello_world import main\n>>> main.set_sys_args( [\"--exclamation\", \"\"])()\nHello world\n\n```\n\nTo add help and more customization to the `ArgumentParser.add_argument()` see the example in \n`examples/hello_world_customizations.py`. Basically import a dummy class `opts`\nfrom keyword2cmdline and then pass all the arguments as if `opts` is a `dict`.\n\n``` python\nfrom keyword2cmdline import command, opts\n\n@command\ndef main(text=\"Hello world\",\n language='en.US',\n exclamation_number=2,\n exclamation_sign=\"!\",\n exclamation=opts(\n default=True,\n type=bool,\n help=\"\"\"Whether to use exclamation sign or not. Use empty string '' for False\"\"\")):\n ...\n\n\nif __name__ == '__main__':\n main()\n\n```\n\nAsking for help will print the keyword help.\n\n``` bash\n$ python examples/hello_world_customizations.py -h\nusage: hello_world_customizations.py [-h]\n [--exclamation_sign EXCLAMATION_SIGN]\n [--exclamation EXCLAMATION] [--text TEXT]\n [--language LANGUAGE]\n [--exclamation_number EXCLAMATION_NUMBER]\n\nPrints hello world with desired number of exclamation signs\n\noptional arguments:\n -h, --help show this help message and exit\n --exclamation_sign EXCLAMATION_SIGN\n --exclamation EXCLAMATION\n Whether to use exclamation sign or not. Use empty\n string '' for False.\n --text TEXT\n --language LANGUAGE\n --exclamation_number EXCLAMATION_NUMBER\n```\n\n## Support for Variational **kwargs\n(New feature in v1.0)\n\n``` python-console\n>>> from keyword2cmdline import command\n>>> first = lambda xs: xs[0]\n>>> @command\n... def main(text=\"sum\", **kw):\n... return dict(kw, text=text)\n>>> _ = main.set_sys_args(sys_args = \"--text sum --a 1 --b 2 --c 3\".split())\n>>> list(sorted(main().items(), key=first))\n[('a', '1'), ('b', '2'), ('c', '3'), ('text', 'sum')]\n\n```\n\n## Support for click like boolean parser\n(New feature in v1.0)\n\n``` python\nfrom keyword2cmdline import click_like_command\n\n@click_like_command\ndef main(text=\"Hello world\",\n language='en.US',\n exclamation_number=2,\n exclamation_sign=\"!\",\n exclamation=True):\n ...\n```\n\n``` bash\n$ python examples/hello_world.py --exclamation False\nHello world\n```\n\n``` python-console\n>>> from examples.hello_world_click import main\n>>> main.set_sys_args( [\"--exclamation\", \"False\"])()\nHello world\n\n```\n\n## Support for argcomplete, lists, dicts and enums\n(New feature in v1.3.0)\n\n`list` and `dict` are parsed using `json.loads`. `dict` are merged with the\ndefault `dict` argument. `enum.Enum` are converted to strings and the\ncorresponding string can be converted back to the enum object. A convenience\nclass `keyword2cmdline.EnumChoice` is provided for using shortnames for `enum`\nobject which might use long names to support `argcomplete` feature consistently.\n\n``` python-console\n>>> from keyword2cmdline import command, EnumChoice\n>>> @command\n... def main(text=\"Hello world\",\n... language=EnumChoice('Lang', 'en_US hi_IN').en_US,\n... exclamation_props=dict(number=2),\n... exclamation=True):\n... return sorted(locals().items())\n...\n>>> main.set_sys_args([])()\n[('exclamation', True), ('exclamation_props', {'number': 2}), ('language', ), ('text', 'Hello world')]\n>>> main.set_sys_args([\"--exclamation\", \"\"])()\n[('exclamation', False), ('exclamation_props', {'number': 2}), ('language', ), ('text', 'Hello world')]\n>>> main.set_sys_args([\"--language\", \"hi_IN\"])()\n[('exclamation', True), ('exclamation_props', {'number': 2}), ('language', ), ('text', 'Hello world')]\n>>> main.set_sys_args([\"--exclamation_props\", '{\"number\": 3}'])()\n[('exclamation', True), ('exclamation_props', {'number': 3}), ('language', ), ('text', 'Hello world')]\n\n>>> from keyword2cmdline import click_like_command\n>>> @click_like_command\n... def main(text=\"Hello world\",\n... language=EnumChoice('Lang', 'en_US hi_IN').en_US,\n... exclamation_props=dict(number=2),\n... exclamation=True):\n... return sorted(locals().items())\n...\n>>> main.set_sys_args([\"--exclamation\", \"False\"])()\n[('exclamation', False), ('exclamation_props', {'number': 2}), ('language', ), ('text', 'Hello world')]\n\n```\n\n\n## Support for recursive configs using command_config\n(New feature in v2.0.0)\n\nRecursive functions are handled by constructing partials of functions \nthat are marked with `@command_config`.\n\n``` python-console\n>>> from keyword2cmdline import command, EnumChoice, command_config\n>>> @command_config\n... def exclamation(number=2,\n... sign=\"!\",\n... use=True):\n... return sorted(locals().items())\n>>> @command\n... def main(text=\"Hello world\",\n... language=EnumChoice('Lang', 'en_US hi_IN').en_US,\n... exclamation=exclamation):\n... return [(\"text\", text), (\"language\", language)] + [\n... (\"exclamation.\" + k, v)\n... for k, v in sorted(exclamation.keywords.items()) ]\n>>> main.set_sys_args([\"--exclamation.use\", \"True\", \"--exclamation.sign\", \"?\"])()\n[('text', 'Hello world'), ('language', ), ('exclamation.number', 2), ('exclamation.sign', '?'), ('exclamation.use', True)]\n\n\nA click like handling of booleans is available with `click_like_command_config`\nand `click_like_command`.\n\n``` python-console\n>>> from keyword2cmdline import click_like_command, EnumChoice, click_like_command_config\n>>> @click_like_command_config\n... def exclamation(number=2,\n... sign=\"!\",\n... use=True):\n... return sorted(locals().items())\n>>> @click_like_command\n... def main(text=\"Hello world\",\n... language=EnumChoice('Lang', 'en_US hi_IN').en_US,\n... exclamation=exclamation):\n... return [(\"text\", text), (\"language\", language)] + [\n... (\"exclamation.\" + k, v)\n... for k, v in sorted(exclamation.keywords.items()) ]\n>>> main.set_sys_args([\"--exclamation.use\", \"False\", \"--exclamation.sign\", \"?\"])()\n[('text', 'Hello world'), ('language', ), ('exclamation.number', 2), ('exclamation.sign', '?'), ('exclamation.use', False)]\n\n```\n\n\n", "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/wecacuee/keyword2cmdline", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "keyword2cmdline", "package_url": "https://pypi.org/project/keyword2cmdline/", "platform": "", "project_url": "https://pypi.org/project/keyword2cmdline/", "project_urls": { "Homepage": "https://github.com/wecacuee/keyword2cmdline" }, "release_url": "https://pypi.org/project/keyword2cmdline/2.0.1/", "requires_dist": [ "kwplus", "argcomplete ; extra == 'argcomplete'" ], "requires_python": ">=3.5", "summary": "Keyword arguments of a function as command-line arguments", "version": "2.0.1" }, "last_serial": 5404932, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c72bccb11b79319e11504d6abcf86510", "sha256": "55a17fdf46ff3b142053b076463fe6d056395a8392004536648df3dcb08607f6" }, "downloads": -1, "filename": "keyword2cmdline-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c72bccb11b79319e11504d6abcf86510", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2067, "upload_time": "2018-12-07T16:25:13", "url": "https://files.pythonhosted.org/packages/51/70/d765eed3c94a2f57e8aaf1f76d4668f29dc9bb88465536345fe186425c10/keyword2cmdline-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1fde765e35e594b2a92ed07fc63e5c7", "sha256": "9e7aa62a8f70313f0fc199650c3432490ee854125c36087b2fde4902cd1eeadc" }, "downloads": -1, "filename": "keyword2cmdline-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a1fde765e35e594b2a92ed07fc63e5c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1481, "upload_time": "2018-12-07T16:25:16", "url": "https://files.pythonhosted.org/packages/74/5b/5f9b085a6786e313c7213e8348654e0e358fdf9491c4b9db12fb52ddb804/keyword2cmdline-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d72549229895894ed5906ce71daafc56", "sha256": "225b4a0fc240a31b0c0e70bc6fddb034d87b826db473c987b63981a37b570227" }, "downloads": -1, "filename": "keyword2cmdline-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d72549229895894ed5906ce71daafc56", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 2084, "upload_time": "2018-12-07T16:34:11", "url": "https://files.pythonhosted.org/packages/c7/f8/dbf304f8f74dbe5c6415306c9fc5c08d42e55c57d567d861c3f3165bfa01/keyword2cmdline-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97fd2b18f3221f77ea5b3704c3be4263", "sha256": "6c723ec296a5fa65f8fb0f8fe9fb4c62b04d965367f95d9aa9a86cac62796e81" }, "downloads": -1, "filename": "keyword2cmdline-0.1.1.tar.gz", "has_sig": false, "md5_digest": "97fd2b18f3221f77ea5b3704c3be4263", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 1501, "upload_time": "2018-12-07T16:34:12", "url": "https://files.pythonhosted.org/packages/a5/b7/580502fd20b2177e74515cd398c392fc86ac9f09af65fbf715517ec0436b/keyword2cmdline-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "66e92b2af26541d0e021805f6dfb269f", "sha256": "ba3c9816bd1d55072823b968b1502a91dfa4c4180b1f17b6b05562fb408851f7" }, "downloads": -1, "filename": "keyword2cmdline-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "66e92b2af26541d0e021805f6dfb269f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3331, "upload_time": "2019-01-14T23:40:51", "url": "https://files.pythonhosted.org/packages/8b/4d/93a3b2918f6a02f6f9e7da16e71b3866f477ee29f05abaa2d8dfc5c75c99/keyword2cmdline-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "47b4d068aee6ffac246fb9e8ad866e82", "sha256": "40df9947b444d9a49c5fe0979642ac8eff1604fa30ef429ccb5e941fb141bf22" }, "downloads": -1, "filename": "keyword2cmdline-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "47b4d068aee6ffac246fb9e8ad866e82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3320, "upload_time": "2019-01-14T23:48:08", "url": "https://files.pythonhosted.org/packages/6b/f4/a757efa3b5a7de2c0980a789b959f2123e3fed3816446ad376382710e9c4/keyword2cmdline-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4aa610807404eb767751688c28b05a55", "sha256": "98645e58c31b32b7939256ff48d9f488a96dffbe4aa04569f875759eb9a23af6" }, "downloads": -1, "filename": "keyword2cmdline-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4aa610807404eb767751688c28b05a55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2559, "upload_time": "2019-01-14T23:40:53", "url": "https://files.pythonhosted.org/packages/f3/3c/a28f82897dbfb21efe306771194ae35a05a8e49833b9641b361ff8dd99db/keyword2cmdline-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b4ba4b024f06ab12d55a908a741c5362", "sha256": "f6ccd98fa8ec7ec151117bae9fd5c4e864e181441265861f6826f40a93a9dac6" }, "downloads": -1, "filename": "keyword2cmdline-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b4ba4b024f06ab12d55a908a741c5362", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 3342, "upload_time": "2019-01-15T19:03:15", "url": "https://files.pythonhosted.org/packages/79/17/e6506bf7a4b5c0bf2b1922a5f04a558b157e406fa22c4666a63c6d44e1be/keyword2cmdline-0.2.1-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "039ab1dc2468a6407b11ea01293688ea", "sha256": "4e5354755f6b1596755edf19262b41414d6f344ed23c05066d7bc9d5917c7269" }, "downloads": -1, "filename": "keyword2cmdline-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "039ab1dc2468a6407b11ea01293688ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 3645, "upload_time": "2019-02-20T21:41:42", "url": "https://files.pythonhosted.org/packages/e6/4d/c503fa61fa4022d4fd69de93ffe427a5d6aeef34554e9a533fc43207a43f/keyword2cmdline-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e49f10900854921de7fdaa67dba5c00", "sha256": "553d2fddc158ae31e54e5cd9ea1a3da3e6b1eb445eb1f95dbae3216733ae143d" }, "downloads": -1, "filename": "keyword2cmdline-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8e49f10900854921de7fdaa67dba5c00", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3254, "upload_time": "2019-02-20T21:41:43", "url": "https://files.pythonhosted.org/packages/d8/82/bfc0afe2daa72673b1cd7941c2fdc143d876077f886830e4f68a1f573abd/keyword2cmdline-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "18bb4c224a8c552982724814822cd6bd", "sha256": "b2cc64bb4c7b2270cc0dfbc5033c01925f20550c8d631fdc22cf9c528d282e32" }, "downloads": -1, "filename": "keyword2cmdline-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "18bb4c224a8c552982724814822cd6bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 3646, "upload_time": "2019-02-20T22:13:56", "url": "https://files.pythonhosted.org/packages/10/4c/bea3a045f2aa703c0ea75d27110325f58f280f86cee592f9d4293264edc1/keyword2cmdline-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9604701395eedd899c966566f2c3f148", "sha256": "52f9618852a92683d106a8c2cfe880293b69ebb9807f40bcc2eb2a5f6cbb547c" }, "downloads": -1, "filename": "keyword2cmdline-1.0.2.tar.gz", "has_sig": false, "md5_digest": "9604701395eedd899c966566f2c3f148", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3468, "upload_time": "2019-02-20T22:13:57", "url": "https://files.pythonhosted.org/packages/aa/67/c9b8f133efba03866e684486141185605ad2dc056fc8c7ba960d7a731c60/keyword2cmdline-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "eeb5f2c9ffadcc48918d3f9e3ed85099", "sha256": "1c3c94a629f41e3b0f6e2de99e2454042c2b6a8c1f3e524419aa973742b12dd2" }, "downloads": -1, "filename": "keyword2cmdline-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "eeb5f2c9ffadcc48918d3f9e3ed85099", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 3995, "upload_time": "2019-03-21T20:59:38", "url": "https://files.pythonhosted.org/packages/b8/56/6f7661222db53445e67675d6835b59a1fb0a16f34792a03f7de14de0bcc0/keyword2cmdline-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54b085b557768e62b85c669571f6500c", "sha256": "c404c84ea5a8183020aebecade2e781f14f63b97c79055f658723292edb1f4c8" }, "downloads": -1, "filename": "keyword2cmdline-1.1.0.tar.gz", "has_sig": false, "md5_digest": "54b085b557768e62b85c669571f6500c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3893, "upload_time": "2019-03-21T20:59:39", "url": "https://files.pythonhosted.org/packages/79/f7/28d4483a15a48cdf5eb66c3624a5d33cbfeda81170177f92a1dbaff10d4c/keyword2cmdline-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "2d80b1a2b8084038feafde1f03a84d1d", "sha256": "8cf867335ea527df3d4aa229eb129a88ea77ecbf8a05c8fe04f4a495dbd94a29" }, "downloads": -1, "filename": "keyword2cmdline-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2d80b1a2b8084038feafde1f03a84d1d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 4080, "upload_time": "2019-03-27T22:20:25", "url": "https://files.pythonhosted.org/packages/66/9a/147f00137ad4bfafc7f10310258c6a4f251fc3d9ca2230e33807decace25/keyword2cmdline-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dffe484222a54f0521d7c85863e5c6bf", "sha256": "26b5512d4c52f063b9c45902cc1d9c87888bc839b15cfbec192f5abba0dc6ea5" }, "downloads": -1, "filename": "keyword2cmdline-1.2.0.tar.gz", "has_sig": false, "md5_digest": "dffe484222a54f0521d7c85863e5c6bf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4185, "upload_time": "2019-03-27T22:20:27", "url": "https://files.pythonhosted.org/packages/a8/a0/f3c07cd80186407cb3e649a73c2e9d0b480679099b537aca377c68143775/keyword2cmdline-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "b001886561f1bb7e88b99609a115f22c", "sha256": "1ff8f81abb7367eb7584a01112dcbe5da6b50cd8856ef6615fa3a9470e5f713d" }, "downloads": -1, "filename": "keyword2cmdline-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b001886561f1bb7e88b99609a115f22c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 4762, "upload_time": "2019-03-28T01:11:39", "url": "https://files.pythonhosted.org/packages/4f/f9/ee2ae7029ee71daf60e663829c4d573892270194e9e27bced2e3dfb20f8b/keyword2cmdline-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79adb24ca58b30c3d0149546553578f4", "sha256": "8b9fd0bbca95c352d41052990cd4ca55cbbda4c3dc58c41358d8991c6d24a46a" }, "downloads": -1, "filename": "keyword2cmdline-1.3.0.tar.gz", "has_sig": false, "md5_digest": "79adb24ca58b30c3d0149546553578f4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5020, "upload_time": "2019-03-28T01:11:41", "url": "https://files.pythonhosted.org/packages/73/a8/288f3063f6652b910bac1d0475395f6c2f2a9fe945aaece3952a49b0b097/keyword2cmdline-1.3.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "8c23f27a52c0efb3a29f704f5596ff64", "sha256": "5cb6baeb7c6f702b892543d017857ac31e3e45aa49d4a726253ca90126fbdc07" }, "downloads": -1, "filename": "keyword2cmdline-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8c23f27a52c0efb3a29f704f5596ff64", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5471, "upload_time": "2019-06-15T21:10:44", "url": "https://files.pythonhosted.org/packages/dd/04/514beea7c975b145524f9580ebe02db688b5583f3ca55ef3943b1e5f918c/keyword2cmdline-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2113866b442b80c6c444406da8d3db87", "sha256": "50ed3a9955dce72e041cd359448496f2c7eefa04162b83c7cc4f40a6875ab8d2" }, "downloads": -1, "filename": "keyword2cmdline-2.0.0.tar.gz", "has_sig": false, "md5_digest": "2113866b442b80c6c444406da8d3db87", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6110, "upload_time": "2019-06-15T21:10:45", "url": "https://files.pythonhosted.org/packages/e0/b6/562fb94f56f4adffbe90dad70b6619368d4c62d72f9076c51081b25cfd84/keyword2cmdline-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "1ff998752c431505824cf1019d604b19", "sha256": "646ab87d69fc328b0ef78276123a4a5a51c562a5777dc5d6d6eb5d321f0779b8" }, "downloads": -1, "filename": "keyword2cmdline-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1ff998752c431505824cf1019d604b19", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 7408, "upload_time": "2019-06-15T21:18:50", "url": "https://files.pythonhosted.org/packages/34/47/032839b3cc77020940f865ca11a4852724b478c1b2484b6037940733b057/keyword2cmdline-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89b09641f264fa75c4321a21b9ac2176", "sha256": "b67b83d8ebe6e137dc21c6760b23eca2626a323f70c5c61b9b43262a9691aae6" }, "downloads": -1, "filename": "keyword2cmdline-2.0.1.tar.gz", "has_sig": false, "md5_digest": "89b09641f264fa75c4321a21b9ac2176", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 7063, "upload_time": "2019-06-15T21:18:52", "url": "https://files.pythonhosted.org/packages/04/cc/15a28eae36acd98bcaa259ef4b4e2169e67fa3bbf0b1266b20dbe8e836ba/keyword2cmdline-2.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1ff998752c431505824cf1019d604b19", "sha256": "646ab87d69fc328b0ef78276123a4a5a51c562a5777dc5d6d6eb5d321f0779b8" }, "downloads": -1, "filename": "keyword2cmdline-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1ff998752c431505824cf1019d604b19", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 7408, "upload_time": "2019-06-15T21:18:50", "url": "https://files.pythonhosted.org/packages/34/47/032839b3cc77020940f865ca11a4852724b478c1b2484b6037940733b057/keyword2cmdline-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89b09641f264fa75c4321a21b9ac2176", "sha256": "b67b83d8ebe6e137dc21c6760b23eca2626a323f70c5c61b9b43262a9691aae6" }, "downloads": -1, "filename": "keyword2cmdline-2.0.1.tar.gz", "has_sig": false, "md5_digest": "89b09641f264fa75c4321a21b9ac2176", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 7063, "upload_time": "2019-06-15T21:18:52", "url": "https://files.pythonhosted.org/packages/04/cc/15a28eae36acd98bcaa259ef4b4e2169e67fa3bbf0b1266b20dbe8e836ba/keyword2cmdline-2.0.1.tar.gz" } ] }