{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3" ], "description": "# `xadix.argparse_tree`\n\nThis package provides a class which makes it easier to deal with many\nnested argparse subcommands in python.\n\nInstalling:\n\n```bash\npip3 install --user --upgrade xadix.argparse_tree\n```\n\nSample code:\n\n```py\n#!/usr/bin/env python3\n# vim: set filetype=python sts=4 ts=4 sw=4 expandtab tw=100 cc=+1:\n\nimport sys\nimport xadix.argparse_tree as apt\n\ndef main():\n # pylint: disable=unused-variable\n root = apt.ArgParseNode(options={\"add_help\": True, \"description\": \"argparse_tree example\"},\n default_options={\"add_help\": True})\n root.parser.add_argument(\"--version\",\n action=\"version\", version=\"???\")\n root.parser.add_argument(\"-v\", \"--verbose\",\n action=\"count\", dest=\"verbosity\",\n help=\"increase verbosity level\")\n root.parser.add_argument(\"-s\", \"--some\",\n action=\"store\", dest=\"some\", type=str, required=False, default=None,\n help=\"???\")\n node_git = root.get(\"git\")\n node_git.parser.add_argument(\"-C\",\n action=\"store\", dest=\"git_path\", type=str, required=False, default=None,\n help=\"...\")\n node_git_id = root.get(\"git\").get(\"id\")\n node_git_id.parser.add_argument(\"--file\",\n action=\"store\", dest=\"git_ids_file\", type=str, required=False,\n help=\"...\")\n node_git_id_list = root.get(\"git\").get(\"id\").get(\"list\")\n node_git_id_set = root.get(\"git\").get(\"id\").get(\"set\")\n node_git_id_fromlog = root.get(\"git\").get(\"id\").get(\"fromlog\")\n\n parse_result = root.parser.parse_args(args=sys.argv[1:])\n\n print(\"root.get_selected_path(parse_result) = '{}'\".\n format(root.get_selected_path(parse_result)))\n print(\"root.get_selected_path_list(parse_result) = '{}'\".\n format(root.get_selected_path_list(parse_result)))\n print(\"root.get_selected_node(parse_result) is node_git_id_list = '{}'\".\n format(root.get_selected_node(parse_result) is node_git_id_list))\n\n\nif __name__ == \"__main__\":\n main()\n```\n\nRunning sample code:\n\n```\n$ ./sample.py -h\nusage: sample.py [-h] [--version] [-v] [-s SOME] {git} ...\n\nargparse_tree example\n\npositional arguments:\n {git}\n\noptional arguments:\n -h, --help show this help message and exit\n --version show program's version number and exit\n -v, --verbose increase verbosity level\n -s SOME, --some SOME ???\n\n$ ./sample.py git -h\nusage: sample.py git [-h] [-C GIT_PATH] {id} ...\n\npositional arguments:\n {id}\n\noptional arguments:\n -h, --help show this help message and exit\n -C GIT_PATH ...\n\n$ ./sample.py git id list\nroot.get_selected_path(parse_result) = 'git/id/list'\nroot.get_selected_path_list(parse_result) = '['git', 'id', 'list']'\nroot.get_selected_node(parse_result) is node_git_id_list = 'True'\n```\n\n## Dev guide\n\n```bash\n\npip3 uninstall xadix.argparse_tree\npip3 install --user --upgrade --editable .\npython3 -m xadix.argparse_tree.cli -vvvv --version\n```\n\nRun without installing:\n\n```bash\npython3 -m src.xadix.argparse_tree.cli -vvvv --version\npython3 -m src.xadix.argparse_tree.cli -vvvv\n```\n\n```bash\npip3 install --user --upgrade wheel twine\n\ngit tag --message=\"tag version\" 0.1.0\ngit push --tags\n\npython3 setup.py clean --all\nrm -rf dist/ *.egg-info\n\npython3 setup.py bdist_wheel\ntwine check dist/*\n\ntwine upload dist/*\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://gitlab.com/xadix/argparse_tree", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "xadix.argparse-tree", "package_url": "https://pypi.org/project/xadix.argparse-tree/", "platform": "", "project_url": "https://pypi.org/project/xadix.argparse-tree/", "project_urls": { "Homepage": "https://gitlab.com/xadix/argparse_tree" }, "release_url": "https://pypi.org/project/xadix.argparse-tree/0.1.7/", "requires_dist": [ "check-manifest ; extra == 'dev'", "coverage ; extra == 'test'" ], "requires_python": ">=3, <4", "summary": "This library makes it easier to work with many nested subcommands", "version": "0.1.7" }, "last_serial": 5448267, "releases": { "0.1.5": [ { "comment_text": "", "digests": { "md5": "9e293cf69b7bb588a7851f150ea9e9ba", "sha256": "834e11bdba6e8285d82296b73c2febe46233bc346bc04e90f457c858509b17ac" }, "downloads": -1, "filename": "xadix.argparse_tree-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "9e293cf69b7bb588a7851f150ea9e9ba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3, <4", "size": 5667, "upload_time": "2019-06-10T21:23:12", "url": "https://files.pythonhosted.org/packages/d8/93/2cdad235f078932083f54adb3282b5f666ec027e73b10cc615df3c9dc53e/xadix.argparse_tree-0.1.5-py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "d8b1cb26f1fd5c5607ce3bd4d22770e7", "sha256": "7a17380e4ce52f11f9a6ef185179ffc46ead88835fe5cf274ac743406572820e" }, "downloads": -1, "filename": "xadix.argparse_tree-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d8b1cb26f1fd5c5607ce3bd4d22770e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3, <4", "size": 6244, "upload_time": "2019-06-25T20:08:38", "url": "https://files.pythonhosted.org/packages/fd/9c/73dee5b474091f4a53d26b24c2fbf21533e482c9b260ba2c8f3680081b51/xadix.argparse_tree-0.1.6-py3-none-any.whl" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "ea2e459bfd17c61f29f6822e3ae7bb73", "sha256": "40eb5ebe28844271a5c373e1d0898fb2f8b34f981e6710acb3dc1de22b923591" }, "downloads": -1, "filename": "xadix.argparse_tree-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "ea2e459bfd17c61f29f6822e3ae7bb73", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3, <4", "size": 6548, "upload_time": "2019-06-25T20:17:37", "url": "https://files.pythonhosted.org/packages/63/7a/d60df605cec47acb41be5a6794df3af91f428c0c6b6e11693afff060696f/xadix.argparse_tree-0.1.7-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ea2e459bfd17c61f29f6822e3ae7bb73", "sha256": "40eb5ebe28844271a5c373e1d0898fb2f8b34f981e6710acb3dc1de22b923591" }, "downloads": -1, "filename": "xadix.argparse_tree-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "ea2e459bfd17c61f29f6822e3ae7bb73", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3, <4", "size": 6548, "upload_time": "2019-06-25T20:17:37", "url": "https://files.pythonhosted.org/packages/63/7a/d60df605cec47acb41be5a6794df3af91f428c0c6b6e11693afff060696f/xadix.argparse_tree-0.1.7-py3-none-any.whl" } ] }