{ "info": { "author": "kulinacs", "author_email": "nicklaus@kulinacs.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: System Administrators", "License :: OSI Approved :: ISC License (ISCL)", "Programming Language :: Python :: 3.5", "Topic :: System :: Systems Administration" ], "description": "AnsiQA\n======\n\nA utility for managing Ansible Roles. Designed to be run inside the `roles` directory.\n\nInspired by [ansigenome](https://github.com/nickjj/ansigenome/)\n\nHost Depends\n------------\n\ndepends functionality requires on graphviz to be installed.\n\nFeatures\n--------\n\n### Stats\n\n`ansiqa stats`\n\nPrints stats about roles. With no arguments, `stats` will print the following for each:\n\n* Number of tasks\n* Number of variables set\n* Number of defaults set\n* If a README.* file is present\n* If meta/main.yml is present\n* If extras/main.yml is present (used by Ansiqa to generate READMEs)\n\n### Meta\n\n`ansiqa meta`\n\nGenerate base meta files for roles from values in the AnsiQA config file.\n\n### Extra\n\n`ansiqa extra`\n\nGenerate base extra files for roles from values in the AnsiQA config file, stored in `extra/main.yml`. These values are used by AnsiQA to generate READMEs.\n\n### Docs\n\n`ansiqa docs`\n\nGenerate a README by filling a Jinja2 template. The readme template must end in .j2, and can be put in the following places:\n\n* Specified in the AnsiQA config file, by the root level token `template`\n* Found in the current working directory, matching the README.*.j2 glob\n* Found in the user's home directory, matching the README.*.j2 glob\n\nThis template is fed a role dictionary, which contains the following tokens\n\n```\n'name': the role name\n'path': the role absolute path\n'defaults': the defaults provided by the role, formatted as yaml\n'files': a list of files by the role\n'handlers': a list of handlers provided by the role\n'meta': a dict containing the values in meta/main.yml\n'tasks': a list of tasks provided by the role\n'templates': a list of templates provided by the role\n'tests': a boolean value, if the tests directory exists\n'vars': the variables provided by the role, formatted as yaml\n'extra': a dict containing the values in extra/main.yml\n```\n\n### Depends\n\n`ansiqa depends`\n\nDependency introspection. With no arguments, `depends` prints the number of dependencies each role has, the number of times each role is depended on, and the \"dependency depth\" of each role (how long the longest dependency chain is.)\n\nWith the `--graph` flag, ansiqa generates a GraphViz graph to visualize the dependency tree.\n\n\nConfiguration\n-------------\nThe configuration file should be a yaml file named `.ansiqa` and be located either in the current working directory or in the user's home directory. It can have the following root level tokens\n\n```\nmeta: A dict containing the default values for the meta/main.yml\nextra: A dict containing the default values for the extra/main.yml\ntemplate: A string containing the path to the README template, first checking the current working directory for the path, then the home directory, and finally checking it as an absolute path.\n```\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kulinacs/ansiqa", "keywords": "ansible automation documentation", "license": "ISC", "maintainer": "", "maintainer_email": "", "name": "ansiqa", "package_url": "https://pypi.org/project/ansiqa/", "platform": "", "project_url": "https://pypi.org/project/ansiqa/", "project_urls": { "Homepage": "https://github.com/kulinacs/ansiqa" }, "release_url": "https://pypi.org/project/ansiqa/0.3.0/", "requires_dist": [ "ruamel.yaml (<0.15)", "argparse", "tabulate", "termcolor", "jinja2", "pygraphviz" ], "requires_python": "", "summary": "Anisible Role Quality Assurance", "version": "0.3.0" }, "last_serial": 5459968, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "64b9b551fa1278a0eb4fb4cc00ebecad", "sha256": "cde3dcaa8250614e1dab807a05b5934450b134d4976ec9c2737f3d4c8e0a01b1" }, "downloads": -1, "filename": "ansiqa-0.1.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "64b9b551fa1278a0eb4fb4cc00ebecad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9127, "upload_time": "2017-04-30T01:46:13", "url": "https://files.pythonhosted.org/packages/2d/ce/1f1573b87b13776db872caa02ac4754e4b41a50ef23dc8895c6549dfa293/ansiqa-0.1.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "9ee7ccefa6b789f7000f2487097a02a4", "sha256": "14e84f1ea337f0438d473366f8fe74b16f74a531a335c214b0ad335fda61afb8" }, "downloads": -1, "filename": "ansiqa-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9ee7ccefa6b789f7000f2487097a02a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6277, "upload_time": "2017-04-30T01:54:41", "url": "https://files.pythonhosted.org/packages/09/f1/242a682b0ab13728af953afdba2e6cee02632bdc838181a5e42c8215dcf2/ansiqa-0.1.0-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "dcb55744cebd06d412521bf60af99d04", "sha256": "54bd6986a34b0c8ca76f3e5011c16b1bbed2853a643c93ffc60c656798a11dd7" }, "downloads": -1, "filename": "ansiqa-0.1.2-py3-none-any.whl", "has_sig": true, "md5_digest": "dcb55744cebd06d412521bf60af99d04", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6291, "upload_time": "2017-04-30T02:18:35", "url": "https://files.pythonhosted.org/packages/13/27/43f0855912a346932c88b7d723d5f8999d5b1ecd26528a97ea8d4d507a02/ansiqa-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d0efdf108d971210ac375119320f46e", "sha256": "79cbf267229536d13be0f2009d1316d1f0f60f71188f2036e689178f87a2e597" }, "downloads": -1, "filename": "ansiqa-0.1.2.tar.gz", "has_sig": true, "md5_digest": "2d0efdf108d971210ac375119320f46e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4593, "upload_time": "2017-04-30T02:18:37", "url": "https://files.pythonhosted.org/packages/82/ea/a602733297b21d3163c6a39df5618042c8ec3c0548ce0a09858bbd716c16/ansiqa-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ca7f3cd3ebc968c8a43f5b602051853f", "sha256": "52185b480311390ef715c110db840a2878cf115c6173779ba0d7830b509fc345" }, "downloads": -1, "filename": "ansiqa-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ca7f3cd3ebc968c8a43f5b602051853f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6391, "upload_time": "2017-04-30T04:24:59", "url": "https://files.pythonhosted.org/packages/ba/55/0a663232bfcb89e4c560f96a0fafa3a16bfabfc00a7295316ec59a42cd55/ansiqa-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d51b3eaade146e3e4ce4bbcaf8388d3", "sha256": "6a1ca53f12c7fb8504ba3f1b0680da77c5ab45f3c25844617ee050936f80cf4f" }, "downloads": -1, "filename": "ansiqa-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9d51b3eaade146e3e4ce4bbcaf8388d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4651, "upload_time": "2017-04-30T04:25:01", "url": "https://files.pythonhosted.org/packages/1b/fb/d00894be830352851b95e0192b90b7eb708ccac252b5b2edc30ef96ec427/ansiqa-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b38be084ab3051f7e8631bad5be567ba", "sha256": "66651fcec7ff2cfb8a892c6a5087a68adf18fafde62f6ab9a7238658d6db6bc4" }, "downloads": -1, "filename": "ansiqa-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b38be084ab3051f7e8631bad5be567ba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8922, "upload_time": "2017-06-05T23:09:49", "url": "https://files.pythonhosted.org/packages/37/a8/3dde9deacea34d5a1a6fca86a1b7c6f702af8c75c2fab57c26a04879eb8d/ansiqa-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "670f2eeb23468e7c4120c3c5d042d72e", "sha256": "b2da2785552ccc4f6ea276de917be0cc11722891288e0dc1cbf79812b93254bb" }, "downloads": -1, "filename": "ansiqa-0.2.0.tar.gz", "has_sig": false, "md5_digest": "670f2eeb23468e7c4120c3c5d042d72e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6173, "upload_time": "2017-06-05T23:09:51", "url": "https://files.pythonhosted.org/packages/54/58/1187b9ccef0786fd3c62ef54efa352388cf6e45a2c49f9c650f9606a5f22/ansiqa-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b5148fe059188497049d5258e23096e6", "sha256": "0bec1bb4ab2f7d51e7a2aafb4890f87b99c91fe86e6a81e28a2302eddec939c8" }, "downloads": -1, "filename": "ansiqa-0.2.1-py3-none-any.whl", "has_sig": true, "md5_digest": "b5148fe059188497049d5258e23096e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8931, "upload_time": "2017-08-11T05:39:58", "url": "https://files.pythonhosted.org/packages/df/1a/74b0a6774759ee2161a87149463e369095c8a8070634d6286b15be67dd00/ansiqa-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e98079df840f8127f6a17d30e6022592", "sha256": "f7c7d4238369a320e4da5d1e3663bd9cc92577b801bc331027f258b41e014ae7" }, "downloads": -1, "filename": "ansiqa-0.2.1.tar.gz", "has_sig": true, "md5_digest": "e98079df840f8127f6a17d30e6022592", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6173, "upload_time": "2017-08-11T05:40:04", "url": "https://files.pythonhosted.org/packages/e0/1e/2e3cedd754e71e2c853c1da0a07a45b1a20cd6514f6125b904424b2ddfd6/ansiqa-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "dc60c337e66ee20601db821bb31096af", "sha256": "f58890c8eacbe9f42ddde3297b769e3dee35ec9dfe543321eb7a34ed73f4b57f" }, "downloads": -1, "filename": "ansiqa-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dc60c337e66ee20601db821bb31096af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7564, "upload_time": "2019-06-28T04:31:04", "url": "https://files.pythonhosted.org/packages/e3/64/d1beb5f81e34a6dd2327ed8068fd46a53c751c2e18548fc1a9e0f6b01ec0/ansiqa-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5318a1d87246e70e0730303163de9b80", "sha256": "cb7bf0d7d222d23f16650355d25407fdd31aeb82640ac4a2c9e357748ae935a6" }, "downloads": -1, "filename": "ansiqa-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5318a1d87246e70e0730303163de9b80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6412, "upload_time": "2019-06-28T04:31:05", "url": "https://files.pythonhosted.org/packages/f4/13/a93b0b6b9d8ea4008eb8281b1fea9d60c541a54b4e3080fd5e9a3367a805/ansiqa-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dc60c337e66ee20601db821bb31096af", "sha256": "f58890c8eacbe9f42ddde3297b769e3dee35ec9dfe543321eb7a34ed73f4b57f" }, "downloads": -1, "filename": "ansiqa-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dc60c337e66ee20601db821bb31096af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7564, "upload_time": "2019-06-28T04:31:04", "url": "https://files.pythonhosted.org/packages/e3/64/d1beb5f81e34a6dd2327ed8068fd46a53c751c2e18548fc1a9e0f6b01ec0/ansiqa-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5318a1d87246e70e0730303163de9b80", "sha256": "cb7bf0d7d222d23f16650355d25407fdd31aeb82640ac4a2c9e357748ae935a6" }, "downloads": -1, "filename": "ansiqa-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5318a1d87246e70e0730303163de9b80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6412, "upload_time": "2019-06-28T04:31:05", "url": "https://files.pythonhosted.org/packages/f4/13/a93b0b6b9d8ea4008eb8281b1fea9d60c541a54b4e3080fd5e9a3367a805/ansiqa-0.3.0.tar.gz" } ] }