{ "info": { "author": "Hadi Tarhini", "author_email": "eltrhn@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "# Yet Another Command-Line-Argument Parser\n\n[![Build Status](https://travis-ci.com/supposedly/joffrey.svg?branch=master)](https://travis-ci.com/supposedly/joffrey)\n[![codecov](https://codecov.io/gh/supposedly/joffrey/branch/master/graph/badge.svg)](https://codecov.io/gh/supposedly/joffrey)\n\nI'm tired of working around argparse. This suits my needs a tad better; vaguely inspired by\n[discord.py](https://github.com/Rapptz/discord.py)'s brilliant\n[ext.commands](http://discordpy.readthedocs.io/en/rewrite/ext/commands/index.html) framework.\n\n\n\n## Why?\nI needed a way to define sort-of-complex interdependencies between command-line options. None of the packages\nI found\\* were able to handle this out of the box to an acceptable degree, so I decided to try my own hand;\nI feel like the lib should be able to handle this stuff itself, without your needing to delegate roles like *\"check\nthat these two flags aren't used at the same time as this arg\"* or *\"make sure all these things appear\ntogether, or alternatively that this second thing does\"* to external functions or post-parsing if-statements.\n\n*Note: about a month after starting I discovered \"[RedCLAP](https://github.com/marekjm/clap)\", which did beat Joffrey\nto the idea of AND/OR/XOR clumps (by the names of \"requires\", \"wants\", and \"conflicts\"), albeit with a very different\ndesign philosophy overall; credit's due for (AFAIK) originating that concept, however! I also at about the same time\nfound [argh](https://argh.readthedocs.io/en/latest/index.html), which despite not solving the clumping issue appears\nto (by pure coincidence) share a number of features with Joffrey -- but it's currently looking for maintainers and does\ndepend on argparse underneath (which I'm trying my best to get away from), so I'd say we're good.\n\nJoffrey, by the way, is still an experiment. If it really doesn't solve the same problem for you that it does for me,\nI think you'd be better off trying something else -- [here's a list](https://gist.github.com/supposedly/01224262b816df21b601ab0784d5f999)\nof alternatives to check out!\n\n\n## The name\n**Pars**ley, for **pars**ing, is called \u062c\u0639\u0641\u0631\u06cc /d\u0361\u0292\u00e6\u0294f\u00e6\u02c8\u027ei/ in Farsi. That glottal stop is elided into a vowel in Iran,\ngiving /d\u0361\u0292\u00e6\u02d0f\u00e6\u02c8\u027ei/, and if you squint hard enough that resembles a heavily accented pronunciation of \"Joffrey\".\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/supposedly/joffrey", "keywords": "argparse argument parsing", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "joffrey", "package_url": "https://pypi.org/project/joffrey/", "platform": "", "project_url": "https://pypi.org/project/joffrey/", "project_urls": { "Homepage": "https://github.com/supposedly/joffrey" }, "release_url": "https://pypi.org/project/joffrey/0.5.2/", "requires_dist": null, "requires_python": ">=3.5", "summary": "A powerful Python 3 command-line parser", "version": "0.5.2" }, "last_serial": 5863976, "releases": { "0.5.2": [ { "comment_text": "", "digests": { "md5": "ff4170500168b3c06f3bf1c9ae8e1f18", "sha256": "884136ba4ae2c69f91b6c30d811b2d41474ebcff333b5eca311d2658b7174aae" }, "downloads": -1, "filename": "joffrey-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ff4170500168b3c06f3bf1c9ae8e1f18", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 73910, "upload_time": "2019-09-20T20:12:33", "url": "https://files.pythonhosted.org/packages/29/81/bd92ab4d92d4020613c5d50735274d28455396792e5456ceea5e5c6536b2/joffrey-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "730243768aeb29e0edb1aa81ece81b36", "sha256": "6ec29ac8bd87b59d70d064df6bde2ffdab70efb06af6788be2163aa9913236ac" }, "downloads": -1, "filename": "joffrey-0.5.2.tar.gz", "has_sig": false, "md5_digest": "730243768aeb29e0edb1aa81ece81b36", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 27941, "upload_time": "2019-09-20T20:12:35", "url": "https://files.pythonhosted.org/packages/c6/f6/7e1fd7fa6f8512408a9c2519f3996e8c6643316cec0541231f52db2cf452/joffrey-0.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ff4170500168b3c06f3bf1c9ae8e1f18", "sha256": "884136ba4ae2c69f91b6c30d811b2d41474ebcff333b5eca311d2658b7174aae" }, "downloads": -1, "filename": "joffrey-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ff4170500168b3c06f3bf1c9ae8e1f18", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 73910, "upload_time": "2019-09-20T20:12:33", "url": "https://files.pythonhosted.org/packages/29/81/bd92ab4d92d4020613c5d50735274d28455396792e5456ceea5e5c6536b2/joffrey-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "730243768aeb29e0edb1aa81ece81b36", "sha256": "6ec29ac8bd87b59d70d064df6bde2ffdab70efb06af6788be2163aa9913236ac" }, "downloads": -1, "filename": "joffrey-0.5.2.tar.gz", "has_sig": false, "md5_digest": "730243768aeb29e0edb1aa81ece81b36", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 27941, "upload_time": "2019-09-20T20:12:35", "url": "https://files.pythonhosted.org/packages/c6/f6/7e1fd7fa6f8512408a9c2519f3996e8c6643316cec0541231f52db2cf452/joffrey-0.5.2.tar.gz" } ] }