{ "info": { "author": "Vahid Mardani", "author_email": "vahid.mardani@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Topic :: Software Development" ], "description": "# easycli\n\n[![PyPI](http://img.shields.io/pypi/v/easycli.svg)](https://pypi.python.org/pypi/easycli)\n[![Build Status](https://travis-ci.org/pylover/easycli.svg?branch=master)](https://travis-ci.org/pylover/easycli)\n[![Coverage Status](https://coveralls.io/repos/github/pylover/easycli/badge.svg?branch=master)](https://coveralls.io/github/pylover/easycli?branch=master)\n\nCommand line interface for python application on top of the argparse \nincluding sub-parsers.\n\n## Installation\n\n```bash\npip install easycli\n```\n\n\n## Quickstart\n\n`quickstart.py`\n\n```python\nfrom easycli import Root, SubCommand, Argument\n\n\n__version__ = '0.1.0'\nDEFAULT_TCP_PORT = 8585\nDEFAULT_HOST = 'WPP.local'\n\n\nclass SubCommand1(SubCommand):\n __command__ = 'sub-command1'\n __aliases__ = ['s1', 'sc1']\n __arguments__ = [\n Argument(\n '-V', '--version',\n action='store_true',\n help='Show programmer\\'s version'\n ),\n Argument(\n '-p', '--port',\n type=int,\n default=DEFAULT_TCP_PORT,\n help=f'TCP port, default: {DEFAULT_TCP_PORT}'\n ),\n Argument(\n '-H', '--host',\n default=DEFAULT_HOST,\n help=f'Hostname, default: {DEFAULT_HOST}'\n )\n\n ]\n\n def __call__(self, args):\n print('Sub command 1, args:', args)\n\n\nclass Example(Root):\n __help__ = 'easycli example'\n __completion__ = True\n __arguments__ = [\n Argument('-V', '--version', action='store_true', help='Show version'),\n SubCommand1,\n ]\n\n def __call__(self, args):\n if args.version:\n print(__version__)\n return\n\n return super().__call__(args)\n\n\n\nif __name__ == '__main__':\n Example().main()\n```\n\n\n```bash\n$ python quickstart.py\nusage: quickstart.py [-h] [-V] {sub-command1,completion} ...\n\neasycli example\n\noptional arguments:\n -h, --help show this help message and exit\n -V, --version Show version\n\nSub commands:\n {sub-command1,completion}\n sub-command1\n completion Bash auto completion using argcomplete python package.\n```\n\n\n### Bash Auto Completion\n\n```bash\n$ python quickstart.py completion\nusage: quickstart.py completion [-h] {install,uninstall} ...\n\noptional arguments:\n -h, --help show this help message and exit\n\nSub commands:\n {install,uninstall}\n install Enables the autocompletion.\n uninstall Disables the autocompletion.\n```\n\n### ProgressBar\n\n```python\nfrom easycli import ProgressBar \n\n\nsteps = 100\nwith ProgressBar(steps) as pb:\n for i in range(steps):\n # Do what you want here\n pb.increment()\n```\n\nSee [examples/progressbar.py](examples/progressbar.py)\n\n![](examples/media/example_progressbar.gif)", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/pylover/easycli", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "easycli", "package_url": "https://pypi.org/project/easycli/", "platform": "", "project_url": "https://pypi.org/project/easycli/", "project_urls": { "Homepage": "http://github.com/pylover/easycli" }, "release_url": "https://pypi.org/project/easycli/1.4.0/", "requires_dist": null, "requires_python": "", "summary": "Easily define your Command line and sub-commands using argparse.", "version": "1.4.0" }, "last_serial": 5631461, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f1c0390ed94cec5e623dd243f9231a1c", "sha256": "07d9e6f60c88cdcc70a079b39bddcc5766fe983ebc685c9cc6e52342f3b48c0a" }, "downloads": -1, "filename": "easycli-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f1c0390ed94cec5e623dd243f9231a1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5791, "upload_time": "2019-01-22T21:01:17", "url": "https://files.pythonhosted.org/packages/a6/f3/e7fa5ec11ff8b586575c64906087445ce9377cc440c3db47a488a2e92f72/easycli-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60bf0f632d19a432ded393f7cca1d08e", "sha256": "12b3704a8499c5b02fe29263bc660f81e11baa82f67516bf03010fad0103408d" }, "downloads": -1, "filename": "easycli-0.1.0.tar.gz", "has_sig": false, "md5_digest": "60bf0f632d19a432ded393f7cca1d08e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4084, "upload_time": "2019-01-22T21:01:19", "url": "https://files.pythonhosted.org/packages/7b/94/e26a2f98ae65f2423f08454eca712eb4a840e180b15a7ba502b615119083/easycli-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "fc706ea66dbee5553984d2ccfb144258", "sha256": "c921a5a9605fc7233cf0fe1189bff419ea964464451c1ceffc2aa416d18deed7" }, "downloads": -1, "filename": "easycli-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fc706ea66dbee5553984d2ccfb144258", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5863, "upload_time": "2019-01-22T21:15:10", "url": "https://files.pythonhosted.org/packages/22/a1/87de52bfe6816b53467e7e02421f207dff1bfc367e38b3c2ab117581dcaf/easycli-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8700202950f7f80e6db7e279802bce43", "sha256": "c6c0b1371ce3841624fa41dc1ce8eed4a411d92888afcfca475da169f2925c2a" }, "downloads": -1, "filename": "easycli-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8700202950f7f80e6db7e279802bce43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4197, "upload_time": "2019-01-22T21:15:11", "url": "https://files.pythonhosted.org/packages/03/c5/2c3f9ca5c6690e031393d6b828c8c7116c2f0658b76f644f2e7ab3379353/easycli-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a84e1e323b7184060a7026f4e215e257", "sha256": "08cc6d147d8975fb66b71ee2777db22de6bdea39bfa217ac886e4f7ac03b2b8a" }, "downloads": -1, "filename": "easycli-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a84e1e323b7184060a7026f4e215e257", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7791, "upload_time": "2019-02-16T19:29:21", "url": "https://files.pythonhosted.org/packages/15/a9/d74e95f4d45b2615b0fcad6b1207783741c80c1933c590a9bb018a932998/easycli-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8158932dba393836c042bd5c0be2e846", "sha256": "9a34b5216f487f553daebfae18de418fdbd67e17abe4d81d8895b2186525f1fc" }, "downloads": -1, "filename": "easycli-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8158932dba393836c042bd5c0be2e846", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5716, "upload_time": "2019-02-16T19:29:18", "url": "https://files.pythonhosted.org/packages/89/94/a6ca6197022c50b0272d6cc64e2bc3d4db9904229b8fdeddafb29255505f/easycli-0.2.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "abc675ee8e17948d450dd814446a4604", "sha256": "1e4d3a47a30fb426f1574c99586b0f35e85c373b410320f69ec681ca271034b5" }, "downloads": -1, "filename": "easycli-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "abc675ee8e17948d450dd814446a4604", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7737, "upload_time": "2019-02-28T12:30:52", "url": "https://files.pythonhosted.org/packages/7d/97/9a2ebf5a3b6ce476fbd58b180c93d9d8924aa0c8410d10f2b9d4de93fc6b/easycli-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2eb182531b7cc09b987d2dc2e1c9e40", "sha256": "d449f78c3822b88082660deba1bbeae8538272bc6f0dad3e9d1bd9b88181431d" }, "downloads": -1, "filename": "easycli-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a2eb182531b7cc09b987d2dc2e1c9e40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5692, "upload_time": "2019-02-28T12:30:49", "url": "https://files.pythonhosted.org/packages/4c/b0/7131e2edb509b97fa6c60552f429d7348ef7fce75791adc87368a839d641/easycli-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "d574ca81fd601c1f3762f0b677fffb49", "sha256": "5f8978bd941280079cc5e2b5688358e1da63000243cc06bda65ed9b84c9ca70c" }, "downloads": -1, "filename": "easycli-1.1.0.tar.gz", "has_sig": false, "md5_digest": "d574ca81fd601c1f3762f0b677fffb49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6510, "upload_time": "2019-03-01T09:28:15", "url": "https://files.pythonhosted.org/packages/8a/a4/fd0b023fc6aecf129fdf006a6d4c3af891b743b4b37fa94fcfc959a68625/easycli-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "c9b774b2c2022aa1182a82456ec175ba", "sha256": "5d1d6f83f1814d0e27ed65595a9f84dd9b6f12fa121b64d5dfc78656b0965cac" }, "downloads": -1, "filename": "easycli-1.2.0.tar.gz", "has_sig": false, "md5_digest": "c9b774b2c2022aa1182a82456ec175ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6620, "upload_time": "2019-03-01T19:42:28", "url": "https://files.pythonhosted.org/packages/04/0d/3c880ca5e97320bafc458d45a70adc6d7a807b3690df93812bfd756ee36d/easycli-1.2.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "79605d5ec1fb9c4da62e8da3fe1a509d", "sha256": "98e4aef4f3a8e6934af46d19430422603e63d23bde41835ccb42bbe4745167e5" }, "downloads": -1, "filename": "easycli-1.3.1.tar.gz", "has_sig": false, "md5_digest": "79605d5ec1fb9c4da62e8da3fe1a509d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6751, "upload_time": "2019-07-21T19:44:45", "url": "https://files.pythonhosted.org/packages/8e/fa/135c6c4e6a4e7be47c92e96299a11e388d254de41c67062c078a6ca70e00/easycli-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "f1fb9c93289ba5721f6eb52e3c930695", "sha256": "ea93dc5f767c4a813a8adb1b73b2ee1ca26148f92c03939204a05bc8538c1eeb" }, "downloads": -1, "filename": "easycli-1.3.2.tar.gz", "has_sig": false, "md5_digest": "f1fb9c93289ba5721f6eb52e3c930695", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5937, "upload_time": "2019-07-24T07:01:27", "url": "https://files.pythonhosted.org/packages/d8/67/b24f296aa0cc84e5695188c5c8684b93c401f2c16723a5bdc5b61115c947/easycli-1.3.2.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "67ab4eecf7e4ac5de94be5a448b1884e", "sha256": "8734989747550adfa679c245f6ed4d4035a7acbbd07da84e5dab4c5daff5b639" }, "downloads": -1, "filename": "easycli-1.4.0.tar.gz", "has_sig": false, "md5_digest": "67ab4eecf7e4ac5de94be5a448b1884e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5978, "upload_time": "2019-08-04T20:12:43", "url": "https://files.pythonhosted.org/packages/30/fd/3c9efeff806813884249f0c88bf6e4a0091a08508e90da1607e67cbce473/easycli-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "67ab4eecf7e4ac5de94be5a448b1884e", "sha256": "8734989747550adfa679c245f6ed4d4035a7acbbd07da84e5dab4c5daff5b639" }, "downloads": -1, "filename": "easycli-1.4.0.tar.gz", "has_sig": false, "md5_digest": "67ab4eecf7e4ac5de94be5a448b1884e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5978, "upload_time": "2019-08-04T20:12:43", "url": "https://files.pythonhosted.org/packages/30/fd/3c9efeff806813884249f0c88bf6e4a0091a08508e90da1607e67cbce473/easycli-1.4.0.tar.gz" } ] }