{ "info": { "author": "TakesxiSximada", "author_email": "takesxi.sximada@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Topic :: Software Development" ], "description": "`jumon` is a small framework for sub commands.\n\nThe jumon is a small framework for implementing the sub command.\nYou can be implemented sub commands,\nas the hierarchial structure of the sub modules in the packages.\nIt finds importable sub module from the arguments passed,\nRuns main function in the importable sub module with arguments.\n\nYou can be displayed the hierarchial structure of the sub commands\nwith tree command etc, because it be implementing sub commands as \nthe hierarchial structure of the sub module.\nIt will be easy to see where sub command has been implemented.\n\nPlease consider to use `jumon`, if you are trying to implement the\nsub commands.\n\n\nInstalling\n==========\nUse ``setup.py`` in the source code root directory::\n\n $ python setup.py install\n\nby pip (from PyPI)\n-------------------\n::\n\n $ pip install jumon\n \nHow to use\n============\n\nThis is a description of how to use the jumon.\nLet create a package called \"testcmd\", \nand sub package called \"testcmd.command\".\n\n::\n\n $ mkdir testcmd\n $ touch testcmd/__init__.py\n $ mkdir testcmd/command\n\nLet implementing sub commands in \"testcmd.command\" subordinate.\n\nFirst, create top level command.::\n\n $ touch testcmd/command/__init__.py\n\n\ntestcmd/command/__init__.py::\n\n import jumon\n\n def main():\n jumon.entry(__name__)\n\nUnder this package is the search range of sub commands.\n\nNext, create sub command.::\n\n $ touch testcmd/command/aaa.py\n\ntestcmd/command/aaa.py::\n\n def main(argv):\n print 'OK'\n return 0\n\n\nThis commamd is printed string \"OK\", and end with exit code 0.\n\nYou can be implemented sub command of sub command.::\n\n $ mkdir testcmd/command/bbb\n $ touch testcmd/command/bbb/__init__.py\n $ touch testcmd/command/bbb/ccc.py\n\n\ntestcmd/command/bbb/__init__.py::\n\n def main(argv):\n print 'bbb'\n return 1\n\ntestcmd/command/bbb/ccc.py::\n\n def main(argv):\n print 'ccc'\n return 2\n\nI implemented sub commands, called \"bbb\" and \"bbb ccc\".\nThis commamd \"bbb\" is printed string \"bbb\", and end with exit code 1.\nThis commamd \"bbb ccc\" is printed string \"ccc\", and end with exit code 2.\n\nNext, install \"testcmd\".::\n\n $ cp testcmd $SITE_PACKAGES -R\n\n\nLast, create command.::\n\n $ touch test.py\n\ntest.py::\n\n #! /usr/bin/env python\n import testcmd.command\n \n def main():\n testcmd.command.main()\n\n if __name__ == '__main__':\n main()\n\nAdd permission::\n\n $ chmod 755 test.py\n\nRun, displayed usage.::\n\n $ ./test.py \n Usage: test.py [options]\n\n test.py: error: Command Not Found: \n\nRun sub command \"aaa\".::\n\n $ ./test.py aaa\n OK\n $ echo $?\n 0\n\nRun sub command \"bbb\".::\n\n $ ./test.py bbb\n bbb\n $ echo $?\n 1\n\nRun sub command \"bbb ccc\".::\n\n $ ./test.py bbb ccc\n ccc\n $ echo $?\n 2\n\nDo you want to created command with setup.py?\n-------------------------------------------------\n\nsetup.py::\n\n #-*- coding: utf-8 -*-\n from setuptools import setup, find_packages\n setup(\n name='testcmd',\n version='1',\n license='BSD',\n author='TakesxiSximada',\n author_email='takesxi.sximada@gmail.com',\n packages=find_packages(),\n entry_points = \"\"\"\\\n [console_scripts]\n testcmd = testcmd.command:main\n \"\"\"\n )\n\n\nThis is important::\n\n entry_points = \"\"\"\\\n [console_scripts]\n testcmd = testcmd.command:main\n \"\"\"\n\nDo you want to transparenting the undefined options?\n---------------------------------------------------------\n\nYou can use *jumon.TransparentOptionParser()* class.\n\n::\n\n >>> import jumon\n >>> parser = jumon.TransparentOptionParser()\n >>> opts, args = parser.parse_args(['-f', '-n', '1'])\n >>> args\n ['-f', '-n', '1']\n\n\nRequirements\n============\n* Python 2.6 or laterr (not supprt 3.x)\n\nLicense\n=======\nApache License 2.0\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/TakesxiSximada/jumon", "keywords": null, "license": "Apache License 2.0", "maintainer": null, "maintainer_email": null, "name": "jumon", "package_url": "https://pypi.org/project/jumon/", "platform": "any", "project_url": "https://pypi.org/project/jumon/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/TakesxiSximada/jumon" }, "release_url": "https://pypi.org/project/jumon/1.1.11/", "requires_dist": null, "requires_python": null, "summary": "The small framework for sub commands.", "version": "1.1.11" }, "last_serial": 2702084, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "273c475214cc2cb69bd0462521553ac8", "sha256": "8c4ffef14c344c062d69ec44f1c309e69672f10c753286f4cc11c0679f2b028c" }, "downloads": -1, "filename": "jumon-1.0.0.tar.gz", "has_sig": false, "md5_digest": "273c475214cc2cb69bd0462521553ac8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4830, "upload_time": "2013-09-19T09:35:25", "url": "https://files.pythonhosted.org/packages/7c/fc/849d3c30b9b974cec5838204fbdd60aa4f864547a81a5c7ee4bdc3e63f63/jumon-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "c16faba12d153db90363b81c24fc4451", "sha256": "abde9a36b8b01b4d4c53a016461d6dd5c16865b37c9564663d6ca21467f165b5" }, "downloads": -1, "filename": "jumon-1.0.1-py2.7.egg", "has_sig": false, "md5_digest": "c16faba12d153db90363b81c24fc4451", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 8163, "upload_time": "2013-10-02T06:01:37", "url": "https://files.pythonhosted.org/packages/ac/d6/d22436503398bc6626713aaa549a2350d3a7c0e32db083c06bf2b770beb3/jumon-1.0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7eb06c56f8f2422184d158e9af458723", "sha256": "1a280c282c2ff210a1cd25b8dc008521bc892ffc4664ac7cc5e2542669a69248" }, "downloads": -1, "filename": "jumon-1.0.1.tar.gz", "has_sig": false, "md5_digest": "7eb06c56f8f2422184d158e9af458723", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5643, "upload_time": "2013-10-02T06:01:32", "url": "https://files.pythonhosted.org/packages/d0/43/8c2c7c628d775a056ca471860d5450d08f9cd09a2565c88563b26df96df6/jumon-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "764f790bd744d2bc4c192a5a5a21ca5a", "sha256": "5afda91c4d8fc4ca48dc2fe8ff52f7bbf092df1f1dd1f5d80e15db700ff62103" }, "downloads": -1, "filename": "jumon-1.0.2.tar.gz", "has_sig": false, "md5_digest": "764f790bd744d2bc4c192a5a5a21ca5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5723, "upload_time": "2014-01-21T02:29:57", "url": "https://files.pythonhosted.org/packages/a0/ad/2ed25fa4efb0247a804796c6ea0b0a08faacf8349171e608f0f6112e08eb/jumon-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "dc7faa5fb83656b07748acc520de9bdd", "sha256": "54ec053c4d87b7ea638de307ef60850c793ebf051043a366795350f44dcba9de" }, "downloads": -1, "filename": "jumon-1.1.0.tar.gz", "has_sig": false, "md5_digest": "dc7faa5fb83656b07748acc520de9bdd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6254, "upload_time": "2014-03-24T00:43:46", "url": "https://files.pythonhosted.org/packages/1f/5a/0674f05c3534a0ad211e150e0468c45772e2200982c31bf78d7a4ea0aef5/jumon-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "1c1ebc77fe2d15f1d430dc678e06effa", "sha256": "bcb9245b378d96819ca5704bf28dc547b63be0e963d103823ac77d7d09f05ea1" }, "downloads": -1, "filename": "jumon-1.1.1.tar.gz", "has_sig": false, "md5_digest": "1c1ebc77fe2d15f1d430dc678e06effa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6228, "upload_time": "2014-03-24T12:47:55", "url": "https://files.pythonhosted.org/packages/da/c7/8280d7f3e1458e3eeaccb89f2dd28beb2e3a2d0cc9e0ff25b308ab386332/jumon-1.1.1.tar.gz" } ], "1.1.10": [ { "comment_text": "", "digests": { "md5": "1351669ae7f1e261d85987b96e3b089f", "sha256": "3051e5d69adf909927cc202c9b8514de0837ace5de3c6036aef88f6b82bd5ecf" }, "downloads": -1, "filename": "jumon-1.1.10.tar.gz", "has_sig": false, "md5_digest": "1351669ae7f1e261d85987b96e3b089f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6746, "upload_time": "2014-04-30T05:58:19", "url": "https://files.pythonhosted.org/packages/12/68/ed9ad245df372c4b8b2d3a4db7544862b8698bdee006dd5dc8f4b5eb099f/jumon-1.1.10.tar.gz" } ], "1.1.11": [ { "comment_text": "", "digests": { "md5": "1dcae080ef737a85ffbcac25e3744ac1", "sha256": "ba3802d0b9a91accf8fa866a8f138b2eb7344931b6571296a1a3e635058e7895" }, "downloads": -1, "filename": "jumon-1.1.11.tar.gz", "has_sig": false, "md5_digest": "1dcae080ef737a85ffbcac25e3744ac1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6184, "upload_time": "2014-11-07T01:23:02", "url": "https://files.pythonhosted.org/packages/8b/a3/1e8836024d615a398ffc6714c5ae18eee76b25d6023fe35dbe1df493ef2b/jumon-1.1.11.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "ca7d03716897b72eb5d0d8fb45a0c0a5", "sha256": "1cfc64d0101eb6fefbf9a171a348e481bca8a2618305f8fa7c62909da35cdc4c" }, "downloads": -1, "filename": "jumon-1.1.2.tar.gz", "has_sig": false, "md5_digest": "ca7d03716897b72eb5d0d8fb45a0c0a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6402, "upload_time": "2014-04-15T13:50:07", "url": "https://files.pythonhosted.org/packages/5d/ff/839067aaf6b327beb48d4d110df5921f8cf4d855f4e020d4498bc4de824b/jumon-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "736b915054a4db188ea2c2981269cc2e", "sha256": "c7bcec9c25457d97ff437e73a167d4c6d4a51d1a98b381a8d1fc2d2a462f9b53" }, "downloads": -1, "filename": "jumon-1.1.3.tar.gz", "has_sig": false, "md5_digest": "736b915054a4db188ea2c2981269cc2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6399, "upload_time": "2014-04-22T05:01:40", "url": "https://files.pythonhosted.org/packages/a0/68/f9a2c7c1fac8debb5cb9715b8d9c7477281d93c0690bd6bc360f9c67c3ea/jumon-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "e2e4d7bd922dc63a035b024dc71ef35a", "sha256": "09b5772c949c7b69bc954575ee9006da88a11b635cd49acad0c766714e2451d2" }, "downloads": -1, "filename": "jumon-1.1.4.tar.gz", "has_sig": false, "md5_digest": "e2e4d7bd922dc63a035b024dc71ef35a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6506, "upload_time": "2014-04-22T15:40:30", "url": "https://files.pythonhosted.org/packages/8d/56/6dc3988907755276db463ff3badc6498e57b7e82ee0b4988f05db16428aa/jumon-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "5a1540814f1519ed6608af77bdbec050", "sha256": "792d22c570cab8afe2d7ed429d83e649a1599bde32d68f5cd88c94ade40ddd38" }, "downloads": -1, "filename": "jumon-1.1.5.tar.gz", "has_sig": false, "md5_digest": "5a1540814f1519ed6608af77bdbec050", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6799, "upload_time": "2014-04-24T06:50:07", "url": "https://files.pythonhosted.org/packages/cb/ad/3612031cf497c97967308db33a9bd12933b9dd74ea283136ad29f994e98f/jumon-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "daa65216fb4da658d0f732523d26f312", "sha256": "ee28bf471503484a9de43333034a5dd863112c891fe59e79f719e5206e2fd688" }, "downloads": -1, "filename": "jumon-1.1.6.tar.gz", "has_sig": false, "md5_digest": "daa65216fb4da658d0f732523d26f312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6793, "upload_time": "2014-04-24T07:37:45", "url": "https://files.pythonhosted.org/packages/58/83/7ff4f5141a68c7ace9c3a81a6e70210d2d3dcf06996dca3cc3f18e02e585/jumon-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "1099dbf4a1d3acae0b96955b305bfca8", "sha256": "8d3d0731d237493e2a98bd7dd6d8a77e66a59d64558322b7d7643eb3398414af" }, "downloads": -1, "filename": "jumon-1.1.7.tar.gz", "has_sig": false, "md5_digest": "1099dbf4a1d3acae0b96955b305bfca8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6789, "upload_time": "2014-04-24T07:48:22", "url": "https://files.pythonhosted.org/packages/85/df/8380687991ecf581cd97d012160818935517eb5b0286a464f3261fdb17a2/jumon-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "a5d1657eeafbead3da5317c4828bbfd7", "sha256": "549e18efe81a176415454372741a05921cd2679309fd424c7d082e67c911f170" }, "downloads": -1, "filename": "jumon-1.1.8.tar.gz", "has_sig": false, "md5_digest": "a5d1657eeafbead3da5317c4828bbfd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6782, "upload_time": "2014-04-24T07:51:08", "url": "https://files.pythonhosted.org/packages/a3/18/45aeeeeaef161c4865009c18749c24e02413f2077c7d819a7769ac0789b8/jumon-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "14994cafd8f8098de7ab0b51d486f9df", "sha256": "e7ffd4fee8bd03e827826c55d5d42c4680aaa535dc35806a3935efb0157b24d2" }, "downloads": -1, "filename": "jumon-1.1.9.tar.gz", "has_sig": false, "md5_digest": "14994cafd8f8098de7ab0b51d486f9df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6792, "upload_time": "2014-04-24T08:10:57", "url": "https://files.pythonhosted.org/packages/af/a3/628e2b1427810119e7c55653f634db0c93ac4b0fda1eb0a78bc7406ab06e/jumon-1.1.9.tar.gz" } ], "1.2.dev1": [ { "comment_text": "", "digests": { "md5": "d43f35a7d2b1a9f95e753d21f2a29bb1", "sha256": "c1e82c852d78ecd3c2a5526acf86bd680faf8fcdff15be729546c101974dfd23" }, "downloads": -1, "filename": "jumon-1.2.dev1-py2-none-any.whl", "has_sig": false, "md5_digest": "d43f35a7d2b1a9f95e753d21f2a29bb1", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8733, "upload_time": "2017-03-13T10:59:13", "url": "https://files.pythonhosted.org/packages/20/51/5440502873d9812135db1c301c141cd914fe55ab68e811cae0ba4919ca03/jumon-1.2.dev1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7868fb807c2d2479950bfb0d9782713", "sha256": "def687b24f9841670401740940ce68831aad61ea82b26709de6e0e0597204876" }, "downloads": -1, "filename": "jumon-1.2.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "c7868fb807c2d2479950bfb0d9782713", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8718, "upload_time": "2017-03-13T10:59:14", "url": "https://files.pythonhosted.org/packages/7f/bd/29037b447684478669a4ae172411bdf2b71ae3e86f4e6044e7a667a5413c/jumon-1.2.dev1-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1dcae080ef737a85ffbcac25e3744ac1", "sha256": "ba3802d0b9a91accf8fa866a8f138b2eb7344931b6571296a1a3e635058e7895" }, "downloads": -1, "filename": "jumon-1.1.11.tar.gz", "has_sig": false, "md5_digest": "1dcae080ef737a85ffbcac25e3744ac1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6184, "upload_time": "2014-11-07T01:23:02", "url": "https://files.pythonhosted.org/packages/8b/a3/1e8836024d615a398ffc6714c5ae18eee76b25d6023fe35dbe1df493ef2b/jumon-1.1.11.tar.gz" } ] }