{ "info": { "author": "Matthew Bentley", "author_email": "matthew@bentley.link", "bugtrack_url": null, "classifiers": [], "description": "validatedoc\n====\n\nValidates my extremely specific opinions of what python function docstrings\nshould look like.\n\nI recommend using this with pydocstyle, which velidates pep257. This is more\nstrict and more opinionated than that.\n\nInstalling\n---\n```\npip install validatedoc\n```\n\nUsage\n---\n```\nvalidatedoc file1.py dir/file2.py file2.py\n```\n\nMore info\n---\nExample of how it expects docs to be formated:\n\n```\ndef foo(bar, baz, qux) -> zam:\n \"\"\"Do foo thing to bar baz and qux and produce zam.\n\n :param bar: a thing\n :param baz: another thing\n :param qux: more\n :raises FooError: when foo goes wrong\n :raises ValueError: if a value is wrong\n :return: the value of Zam\n \"\"\"\n ...\n```\n\nSpecifically, it ensures that:\n- There is an empty newline between the description and parameters list\n- Parameters are in the format `:param name: description`\n- Exception docstrings are in the format `:raises exception: description`\n- Return docstrings look like `:return: description`, and come after all raises\n and param doc strings\n- There are no empty newlines in the param/raises/return list\n- Lines in the param/raises/return list either start an item or have a four\n space indent (to continue the previous line)\n- The params match exactly the arguments\n- Return docstrings are last\n- If the function is annotated to return None, no return should be present\n- If the function specifies a return other than none, return is present\n\nIn the future, I also want to:\n- [ ] Verify that any exceptions raised in the function have a raises docstring\n- [ ] Better support \\*args and \\*\\*kwargs (right now they're considered\n normal args that require a single param each if they're in the function\n definition)\n- [ ] Validate docstrings on things other than functions\n- [ ] Validate the short and long descriptions in some way\n- [ ] Something with types\n- [ ] Require param/raises/return lines to start with a lowercase or an\n uppercase (and decide which to use)\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": "", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "validatedoc", "package_url": "https://pypi.org/project/validatedoc/", "platform": "", "project_url": "https://pypi.org/project/validatedoc/", "project_urls": null, "release_url": "https://pypi.org/project/validatedoc/0.0.3/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Do some doc string validateion", "version": "0.0.3" }, "last_serial": 3879435, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "eaaf0ddc814e530f38bd3f35f0f48761", "sha256": "0028ce99930bd9ebe7556cda7dacb78d825ac43d0b32957d75b503b2053cea91" }, "downloads": -1, "filename": "validatedoc-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eaaf0ddc814e530f38bd3f35f0f48761", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5968, "upload_time": "2018-05-17T00:01:58", "url": "https://files.pythonhosted.org/packages/ab/7d/416986d912bcf547a0b2cc8b2ad1465386200bf8db05b77abfb08c4853af/validatedoc-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81ebb3ce5c61135d6eefd0cfd8c7b5c3", "sha256": "cab77e978fbd6b0f1835d24eafd0525a9aafc1b7ac321377566784c0110da5a0" }, "downloads": -1, "filename": "validatedoc-0.0.1.tar.gz", "has_sig": false, "md5_digest": "81ebb3ce5c61135d6eefd0cfd8c7b5c3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4619, "upload_time": "2018-05-17T00:01:59", "url": "https://files.pythonhosted.org/packages/79/c1/addc250dc5037376a992c3a86dca3462c67861ddfa18e597a12e5ee0ea49/validatedoc-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "2fe81e8a7b41553f139d41eba10eadac", "sha256": "ee5e3acd040c6f766e065fe6f51ee77246db5f732c8ac76a3e8a984a910a4274" }, "downloads": -1, "filename": "validatedoc-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2fe81e8a7b41553f139d41eba10eadac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6007, "upload_time": "2018-05-17T02:53:34", "url": "https://files.pythonhosted.org/packages/13/1a/84b2d205c20e5b9977b34ee5bc2057ddfe3f2c26434b9d316cb03d816298/validatedoc-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f415f505a1e91a1645eb3dcea2c97fcd", "sha256": "ca7dbde645f8d4b8f3929dfc461b310a13a5f56526b8d537fdb818e7d2f797e5" }, "downloads": -1, "filename": "validatedoc-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f415f505a1e91a1645eb3dcea2c97fcd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4658, "upload_time": "2018-05-17T02:53:36", "url": "https://files.pythonhosted.org/packages/0e/f1/3524fb6754d9bdaeba146a7da4b15d9e9bb9b4ea40b706aa24d8a3582b84/validatedoc-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "332d3421d1f451fc842ef55b1ba7675f", "sha256": "e278e60bdc20a13788103e900c84759d0ddb86f0fe921af5659465df7403e828" }, "downloads": -1, "filename": "validatedoc-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "332d3421d1f451fc842ef55b1ba7675f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 6007, "upload_time": "2018-05-19T17:27:49", "url": "https://files.pythonhosted.org/packages/06/ff/873d4ba5cebda9727707d02925e82f77782ae8e377df7fbb7ccdf5d2dae4/validatedoc-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7724fabdca6f6ca1507709fb7939845f", "sha256": "4362130f931df370348da2e650ad6e4b0faf1e85aa10b460ca6da9db167ffe25" }, "downloads": -1, "filename": "validatedoc-0.0.3.tar.gz", "has_sig": false, "md5_digest": "7724fabdca6f6ca1507709fb7939845f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4660, "upload_time": "2018-05-19T17:27:51", "url": "https://files.pythonhosted.org/packages/0d/0a/c25df0c351234f86c0469a3b6dba3884c0fd3f0df648e700bdf9dfedda73/validatedoc-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "332d3421d1f451fc842ef55b1ba7675f", "sha256": "e278e60bdc20a13788103e900c84759d0ddb86f0fe921af5659465df7403e828" }, "downloads": -1, "filename": "validatedoc-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "332d3421d1f451fc842ef55b1ba7675f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 6007, "upload_time": "2018-05-19T17:27:49", "url": "https://files.pythonhosted.org/packages/06/ff/873d4ba5cebda9727707d02925e82f77782ae8e377df7fbb7ccdf5d2dae4/validatedoc-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7724fabdca6f6ca1507709fb7939845f", "sha256": "4362130f931df370348da2e650ad6e4b0faf1e85aa10b460ca6da9db167ffe25" }, "downloads": -1, "filename": "validatedoc-0.0.3.tar.gz", "has_sig": false, "md5_digest": "7724fabdca6f6ca1507709fb7939845f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4660, "upload_time": "2018-05-19T17:27:51", "url": "https://files.pythonhosted.org/packages/0d/0a/c25df0c351234f86c0469a3b6dba3884c0fd3f0df648e700bdf9dfedda73/validatedoc-0.0.3.tar.gz" } ] }