{ "info": { "author": "Clout contributors", "author_email": "python-clout@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "=======================================================\nClout: Command-Line Object Utility Tool\n=======================================================\n\n.. start-badges\n\n.. list-table::\n :stub-columns: 1\n\n\n * - docs\n - |docs|\n * - code\n - |github|\n * - tests\n - | |travis|\n | |codecov|\n * - package\n - | |version|\n | |wheel|\n | |supported-versions|\n | |supported-implementations|\n | |commits-since|\n\n.. |docs| image:: https://img.shields.io/readthedocs/clout\n :target: https://clout.readthedocs.org\n :alt: Documentation Status\n\n\n.. |travis| image:: https://img.shields.io/travis/com/python-clout/clout/master\n :alt: Travis-CI Build Status\n :target: https://travis-ci.com/python-clout/clout\n\n.. |version| image:: https://img.shields.io/pypi/v/clout.svg\n :alt: PyPI Package latest release\n :target: https://pypi.org/pypi/clout\n\n.. |commits-since| image:: https://img.shields.io/github/commits-since/python-clout/clout/v0.1.14.svg\n :alt: Commits since latest release\n :target: https://github.com/python-clout/clout/compare/v0.1.14...master\n\n.. |wheel| image:: https://img.shields.io/pypi/wheel/clout.svg\n :alt: PyPI Wheel\n :target: https://pypi.org/pypi/clout\n\n.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/clout.svg\n :alt: Supported versions\n :target: https://pypi.org/pypi/clout\n\n.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/clout.svg\n :alt: Supported implementations\n :target: https://pypi.org/pypi/clout\n\n.. |codecov| image:: https://img.shields.io/codecov/c/github/python-clout/clout/master.svg\n :alt: Coverage\n :target: https://codecov.io/gh/python-clout/clout\n\n.. |github| image:: https://img.shields.io/github/last-commit/python-clout/clout\n :alt: Last commit\n :target: https://img.shields.io/github/last-commit/python-clout/clout\n\n.. end-badges\n\n\n\n..\n start-usage\n\n\nConvert dataclasses into a command-line interface.\n\nQuickstart\n---------------\n\n\nTo install, use\n\n.. code-block:: bash\n\n pip install clout\n\n\nDefine some dataclasses and convert them into a command-line interface.\n\n\n.. code-block:: python\n\n import attr\n import click\n\n import clout\n\n\n @attr.dataclass\n class DB:\n host: str\n port: int\n\n\n @attr.dataclass\n class Config:\n db: DB\n dry_run: bool\n\n\n cli = clout.Command(Config)\n\n print(cli.build())\n\n\n.. code-block:: bash\n\n $ myapp --dry-run db --host example.com --port 9999\n Config(db=DB(host='example.com', port=9999), dry_run=True)\n\n\n..\n end-usage\n\nSee the full docs for more information: https://clout.readthedocs.io/\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "clout", "package_url": "https://pypi.org/project/clout/", "platform": "", "project_url": "https://pypi.org/project/clout/", "project_urls": null, "release_url": "https://pypi.org/project/clout/0.1.14/", "requires_dist": [ "click", "lark-parser (>=0.7.3,<0.8.0)", "marshmallow (>=3.0,<4.0)", "typing-inspect (>=0.4.0,<0.5.0)", "glom (>=19.2,<20.0)", "inflection (>=0.3.1,<0.4.0)", "typing-extensions (>=3.7,<4.0)", "importlib_resources (>=1.0,<2.0)", "dataclasses (>=0.6.0,<0.7.0)", "appdirs (>=1.4,<2.0)", "attrs (>=19.2.0)", "desert (>=2019.11.06)" ], "requires_python": ">=3.7,<4.0", "summary": "Command-line Object Utility Tool", "version": "0.1.14", "yanked": false, "yanked_reason": null }, "last_serial": 6289810, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "fcbe14e61e87a8311d3b644970011fb2", "sha256": "d0fbe14bdeadaaddabe5b9f7ca832a9f386094ac4ef5e438b811537b3a5607d7" }, "downloads": -1, "filename": "clout-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "fcbe14e61e87a8311d3b644970011fb2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 11477, "upload_time": "2019-10-25T04:05:32", "upload_time_iso_8601": "2019-10-25T04:05:32.788655Z", "url": "https://files.pythonhosted.org/packages/cc/cf/f2063650d55b02831e0cd21808d344126a476a560899110c5a5e901fe01d/clout-0.1.10-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a7055fac3334d708cbe46479378f1524", "sha256": "f5455db4d6a6ec35494054d2ac0576237956f29864232ccc9138cba40d1b372a" }, "downloads": -1, "filename": "clout-0.1.10.tar.gz", "has_sig": false, "md5_digest": "a7055fac3334d708cbe46479378f1524", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 11183, "upload_time": "2019-10-25T04:05:34", "upload_time_iso_8601": "2019-10-25T04:05:34.383675Z", "url": "https://files.pythonhosted.org/packages/86/ec/9299d81686cec5adbf3f91d22a475e81c38a7ef4915fc88e0ae923778f57/clout-0.1.10.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "64e1e18df01431ffd4779c7a152c9359", "sha256": "904738d9a77deda96e3a9adcc2dd090b369e1db492c5b5ff8068a4bff56b1fe8" }, "downloads": -1, "filename": "clout-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "64e1e18df01431ffd4779c7a152c9359", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 11487, "upload_time": "2019-10-27T22:25:31", "upload_time_iso_8601": "2019-10-27T22:25:31.482054Z", "url": "https://files.pythonhosted.org/packages/d6/0c/2e6e51583b8dd1e0ade79ecbda85f2d31c9fdc17c0308f5c1c9eada5af84/clout-0.1.11-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9bab6bc0f0e30ad56653916735aaaa2b", "sha256": "982799f20ea42837035a380bf72f941d1086ef438df994ab626bdd67d2c1830e" }, "downloads": -1, "filename": "clout-0.1.11.tar.gz", "has_sig": false, "md5_digest": "9bab6bc0f0e30ad56653916735aaaa2b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 11188, "upload_time": "2019-10-27T22:25:33", "upload_time_iso_8601": "2019-10-27T22:25:33.646079Z", "url": "https://files.pythonhosted.org/packages/7d/e9/4a44cc5211c188661a9cb830f439918aa7c3b1ba78378f81d6b123dfa466/clout-0.1.11.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "cf47cf1f11326a3fddce74a2754ffc72", "sha256": "71ba618888fa440bd611463417c96b4685be34c326e02cc07e85ad4071e36180" }, "downloads": -1, "filename": "clout-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "cf47cf1f11326a3fddce74a2754ffc72", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 12291, "upload_time": "2019-10-28T03:08:49", "upload_time_iso_8601": "2019-10-28T03:08:49.908368Z", "url": "https://files.pythonhosted.org/packages/d6/f4/01a9f62abaf76b9689ae21f08f6b5a396f071e336b1f74145ac1a1e2432f/clout-0.1.12-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f9f9da233f30807e4c882fb3cae7111b", "sha256": "9630abe74a246395601523aca8a4bd7dca98da4206f883dc4a07769d494f1ac0" }, "downloads": -1, "filename": "clout-0.1.12.tar.gz", "has_sig": false, "md5_digest": "f9f9da233f30807e4c882fb3cae7111b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 11942, "upload_time": "2019-10-28T03:08:51", "upload_time_iso_8601": "2019-10-28T03:08:51.621437Z", "url": "https://files.pythonhosted.org/packages/d9/0a/d6fa3578641631a3369f21bfea48fbcd0b389e4ed6cb93a2115b9f20eb97/clout-0.1.12.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "5faa5a8e7bde7a8d0df89a5269e6aa42", "sha256": "5761daf63988640d8860f037cb8423175f23d0c3e828e58e7755db895384e455" }, "downloads": -1, "filename": "clout-0.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "5faa5a8e7bde7a8d0df89a5269e6aa42", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 12447, "upload_time": "2019-11-06T21:49:23", "upload_time_iso_8601": "2019-11-06T21:49:23.305283Z", "url": "https://files.pythonhosted.org/packages/74/03/ee62701725ea691c9c7e731ffdd447cd1a59e44a8614f0e2bc2c333153ef/clout-0.1.13-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8a5f783a37e9bcf6e875cbbc8712f230", "sha256": "5765fe13c235b5f2a53881313e9b3c20ccf7cbc0cb8edcc90a6fd0fd91f76ca8" }, "downloads": -1, "filename": "clout-0.1.13.tar.gz", "has_sig": false, "md5_digest": "8a5f783a37e9bcf6e875cbbc8712f230", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 12052, "upload_time": "2019-11-06T21:49:25", "upload_time_iso_8601": "2019-11-06T21:49:25.322010Z", "url": "https://files.pythonhosted.org/packages/9a/fd/c46a3453b07aac887f0f3a511581680a60265c8eb5adb116f3215a66bb25/clout-0.1.13.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "81a7d9b2b40f15f45d31df81a34c738a", "sha256": "c045577302af6c52764766655a0e911fe22e48616667d47bd4adcadf4960f763" }, "downloads": -1, "filename": "clout-0.1.14-py3-none-any.whl", "has_sig": false, "md5_digest": "81a7d9b2b40f15f45d31df81a34c738a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 12507, "upload_time": "2019-12-13T00:39:47", "upload_time_iso_8601": "2019-12-13T00:39:47.907698Z", "url": "https://files.pythonhosted.org/packages/c5/13/8232288a669a5ea93c85454612446e3c5bc85b6a6ccaa509b348943fb578/clout-0.1.14-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "fe84ff426403fc72cde58a7cac038aab", "sha256": "7aa0410eec7c5c5ecbac13ee997748184c041ca7364279aff1f44e16dceab3ae" }, "downloads": -1, "filename": "clout-0.1.14.tar.gz", "has_sig": false, "md5_digest": "fe84ff426403fc72cde58a7cac038aab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 12157, "upload_time": "2019-12-13T00:39:49", "upload_time_iso_8601": "2019-12-13T00:39:49.552450Z", "url": "https://files.pythonhosted.org/packages/eb/87/ade2dc5818e2986853992633f356f9b1359c1b7aa6a418d69a37d0ef69be/clout-0.1.14.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7.post2": [ { "comment_text": "", "digests": { "md5": "c7cb2189b9f2222e1f1a205c731492d8", "sha256": "6e43a516e0a75217ae2e4a115c6778b9f91f253ebf04958446bf059e6a276641" }, "downloads": -1, "filename": "clout-0.1.7.post2-py3-none-any.whl", "has_sig": false, "md5_digest": "c7cb2189b9f2222e1f1a205c731492d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 18980, "upload_time": "2019-10-12T23:45:03", "upload_time_iso_8601": "2019-10-12T23:45:03.576979Z", "url": "https://files.pythonhosted.org/packages/fd/73/bce9598b404ce9d641888fc621b339e47076884280861187e7b16ee1cab5/clout-0.1.7.post2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "00df0fe28b2ad222a5dbf9cb9e565cf6", "sha256": "57b3d4ca14559241d8af7dd8639ff5aaaed1c78f7ea1059210dc3988aabcb1f3" }, "downloads": -1, "filename": "clout-0.1.7.post2.tar.gz", "has_sig": false, "md5_digest": "00df0fe28b2ad222a5dbf9cb9e565cf6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 16189, "upload_time": "2019-10-12T23:45:06", "upload_time_iso_8601": "2019-10-12T23:45:06.093173Z", "url": "https://files.pythonhosted.org/packages/ba/db/a02ce87e956ff8c55ca51424a9c167738ca6ef2151f65f1944959a044bcb/clout-0.1.7.post2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7.post3": [ { "comment_text": "", "digests": { "md5": "c191012d95eaaffb632ea63b69b7412a", "sha256": "d987f8429e4a9c2e276e255d7084c95335a87dfd56922b1878e179acbd490f27" }, "downloads": -1, "filename": "clout-0.1.7.post3-py3-none-any.whl", "has_sig": false, "md5_digest": "c191012d95eaaffb632ea63b69b7412a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 18963, "upload_time": "2019-10-12T23:46:24", "upload_time_iso_8601": "2019-10-12T23:46:24.850593Z", "url": "https://files.pythonhosted.org/packages/12/f7/9f69e9e9f04f551cd0c3497db3daa07e382c9dde984165b9bcb5f26787ad/clout-0.1.7.post3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "847b65aadb535f6594ff5bb09892e162", "sha256": "4e284157bdf2507ee5e58cfb10f9a0232a61078bfab3b81db8671e7332f53539" }, "downloads": -1, "filename": "clout-0.1.7.post3.tar.gz", "has_sig": false, "md5_digest": "847b65aadb535f6594ff5bb09892e162", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 16186, "upload_time": "2019-10-12T23:46:26", "upload_time_iso_8601": "2019-10-12T23:46:26.578257Z", "url": "https://files.pythonhosted.org/packages/09/fb/02aa13ff52b4d97e6b840264609485b513ce428761c9678e05411aba5d95/clout-0.1.7.post3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "4617e7924cbcde7f0eb5920a46149e6d", "sha256": "7b96f70443537451171ce011c5c9bbbf4c621d4218365f3ecaf1530f9e3a02ae" }, "downloads": -1, "filename": "clout-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "4617e7924cbcde7f0eb5920a46149e6d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 18911, "upload_time": "2019-10-13T00:14:37", "upload_time_iso_8601": "2019-10-13T00:14:37.010704Z", "url": "https://files.pythonhosted.org/packages/e1/55/cbc6256b97ae6cb6c5283295634c82635b2e0703f4a1fe914a5c427c0001/clout-0.1.8-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e558a2b2801f7a4660cc0aaa2bf47d22", "sha256": "7e9d0952619875b901901afc3ac4e121853285540fea1126adc47341a478d93d" }, "downloads": -1, "filename": "clout-0.1.8.tar.gz", "has_sig": false, "md5_digest": "e558a2b2801f7a4660cc0aaa2bf47d22", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 16189, "upload_time": "2019-10-13T00:14:38", "upload_time_iso_8601": "2019-10-13T00:14:38.740618Z", "url": "https://files.pythonhosted.org/packages/1b/e9/d914a82690b5262be7a6558ad17271ce1608a19deb1ebe3e1303baf41cff/clout-0.1.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "79c5307987497a7fca3c96e34ef8e6ce", "sha256": "6b661b724066f2150c303af5ac5134a3e03af81ca7d1f810b1e80ee0240d0c7f" }, "downloads": -1, "filename": "clout-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "79c5307987497a7fca3c96e34ef8e6ce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 11503, "upload_time": "2019-10-24T22:15:42", "upload_time_iso_8601": "2019-10-24T22:15:42.858478Z", "url": "https://files.pythonhosted.org/packages/1b/d8/5f5175af31abc6d02046207ea3af35aa6c4db333264a6dc305d4eadb83fc/clout-0.1.9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cde7f75e0572432547e0ffe4b3e61ae3", "sha256": "0ef0bbe717aa572138ee065e25ea6304aae042219e4975937f55f9cdcd55e858" }, "downloads": -1, "filename": "clout-0.1.9.tar.gz", "has_sig": false, "md5_digest": "cde7f75e0572432547e0ffe4b3e61ae3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 11316, "upload_time": "2019-10-24T22:15:44", "upload_time_iso_8601": "2019-10-24T22:15:44.299700Z", "url": "https://files.pythonhosted.org/packages/ca/36/41068fca20483b42773f865420e81d36cfd36df6fc85da0fae012095a694/clout-0.1.9.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "81a7d9b2b40f15f45d31df81a34c738a", "sha256": "c045577302af6c52764766655a0e911fe22e48616667d47bd4adcadf4960f763" }, "downloads": -1, "filename": "clout-0.1.14-py3-none-any.whl", "has_sig": false, "md5_digest": "81a7d9b2b40f15f45d31df81a34c738a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 12507, "upload_time": "2019-12-13T00:39:47", "upload_time_iso_8601": "2019-12-13T00:39:47.907698Z", "url": "https://files.pythonhosted.org/packages/c5/13/8232288a669a5ea93c85454612446e3c5bc85b6a6ccaa509b348943fb578/clout-0.1.14-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "fe84ff426403fc72cde58a7cac038aab", "sha256": "7aa0410eec7c5c5ecbac13ee997748184c041ca7364279aff1f44e16dceab3ae" }, "downloads": -1, "filename": "clout-0.1.14.tar.gz", "has_sig": false, "md5_digest": "fe84ff426403fc72cde58a7cac038aab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 12157, "upload_time": "2019-12-13T00:39:49", "upload_time_iso_8601": "2019-12-13T00:39:49.552450Z", "url": "https://files.pythonhosted.org/packages/eb/87/ade2dc5818e2986853992633f356f9b1359c1b7aa6a418d69a37d0ef69be/clout-0.1.14.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }