{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Software Development :: User Interfaces" ], "description": "# CliMaker\n\nPython package which allows to define a CLI argument parser (with subcommands) with a schema.\nThe only dependency is the `argparse` library.\nTested (a bit) with Python 3.6+\n\nPlease, [create an issue](https://github.com/MrP4p3r/climaker/issues/new) if you have a bug-report or find this package needs an improvement. (It definitely needs an improvement.)\n\n# Installation\n\n```pip install climaker```\n\n# Example\n\n```python\nimport sys\nfrom climaker import Parser, Subcommands, Arguments, Arg\n\n# Define commands structure\nspec = Subcommands({\n 'bake': Subcommands({\n 'cake': Arguments([\n Arg('-s', '--size', type_=int, default=10),\n Arg('--color', default='pink'),\n ]),\n 'cookie': Arguments([\n Arg('--kind', default='biscuit'),\n ]),\n }),\n 'eat': Arguments([\n Arg('edible', default='cookie'),\n ])\n})\n\n# Create a parser\nparser = Parser(spec)\n\n# Parse arguments\naction = parser.parse_arguments(sys.argv[1:])\n\nprint(action.command)\n# ['bake', 'cake']\n\nprint(action.params)\n# {'size': 10, 'color': 'pink'}\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/MrP4p3r/climaker", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "climaker", "package_url": "https://pypi.org/project/climaker/", "platform": "", "project_url": "https://pypi.org/project/climaker/", "project_urls": { "Homepage": "https://github.com/MrP4p3r/climaker" }, "release_url": "https://pypi.org/project/climaker/0.1.0/", "requires_dist": null, "requires_python": ">=3.6.0", "summary": "Build a CLI parser with subcommands", "version": "0.1.0" }, "last_serial": 4347743, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4a9aedef0e1b2a387cfd16ea2e72460b", "sha256": "936d92d2c510922eb1af1e53e740115a0a48c760675c445c9436126f6be5f96d" }, "downloads": -1, "filename": "climaker-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4a9aedef0e1b2a387cfd16ea2e72460b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 3683, "upload_time": "2018-10-06T18:50:57", "url": "https://files.pythonhosted.org/packages/92/ea/07df3220baf629d63ac11f6f534429ad503730018f1c47ab26cbe5465a9e/climaker-0.1.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4a9aedef0e1b2a387cfd16ea2e72460b", "sha256": "936d92d2c510922eb1af1e53e740115a0a48c760675c445c9436126f6be5f96d" }, "downloads": -1, "filename": "climaker-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4a9aedef0e1b2a387cfd16ea2e72460b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 3683, "upload_time": "2018-10-06T18:50:57", "url": "https://files.pythonhosted.org/packages/92/ea/07df3220baf629d63ac11f6f534429ad503730018f1c47ab26cbe5465a9e/climaker-0.1.0-py3-none-any.whl" } ] }