{ "info": { "author": "Or Carmi", "author_email": "or.carmi82@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Pytest", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Testing" ], "description": "===========\npytest-docs\n===========\n\nA `pytest`_ plugin that generates documentation of the testing application itself.\n\n.. image:: https://img.shields.io/pypi/v/pytest-docs.svg\n :target: https://pypi.org/project/pytest-docs\n :alt: PyPI version\n\n.. image:: https://img.shields.io/pypi/pyversions/pytest-docs.svg\n :target: https://pypi.org/project/pytest-docs\n :alt: Python versions\n\n.. image:: https://travis-ci.org/liiight/pytest-docs.svg?branch=master\n :target: https://travis-ci.org/liiight/pytest-docs\n :alt: Travis CI\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n :alt: Black\n\n.. image:: https://pepy.tech/badge/pytest-docs\n :target: https://pepy.tech/project/pytest-docs\n :alt: Pepy.tech\n\n.. image:: https://codecov.io/gh/liiight/pytest_docs/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/liiight/pytest_docs\n\n\nFeatures\n--------\n\nCreate documentation of your tests. Turns this:\n\n.. code-block::\n\n '''This is the module doc'''\n import pytest\n\n pytestmark = [\n pytest.mark.module_mark,\n pytest.mark.module_mark_2,\n pytest.mark.pytest_doc(name=\"Test Docs\"),\n ]\n\n\n @pytest.mark.class_marker\n @pytest.mark.pytest_doc(name=\"Test Class\")\n class TestClass:\n '''This is the class doc'''\n\n @pytest.mark.func_mark_a(\"foo\")\n def test_func_a(self):\n '''This is the doc for test_func_a'''\n assert 1\n\n @pytest.mark.kwarg_mark(goo=\"bla\")\n def test_func_b(self):\n '''This is the doc for test_func_b'''\n assert 1\n\nTo this:\n\n.. code-block::\n\n # Test Docs\n This is the module doc\n\n **Markers:**\n - module_mark\n - module_mark_2\n - pytest_doc (name=Test Docs)\n ## Test Class\n This is the class doc\n\n **Markers:**\n - pytest_doc (name=Test Class)\n - class_marker\n ### test_func_a\n This is the doc for test_func_a\n\n **Markers:**\n - func_mark_a (foo)\n ### test_func_b\n This is the doc for test_func_b\n\n **Markers:**\n - kwarg_mark (goo=bla)\n\nCurrent supported formats:\n\n- Markdown\n- reStrcutured text\n\nWhy not sphinx?\n---------------\n\n(More accurately, why not sphinx-autodoc?)\nSphinx is an amazing tool that I use and used in other project. To use its autodoc plugin, it need the documented plugin to be importable by the python interperter. Pytest test collection and invocation uses a completely separate mechanism.\nIf you believe that it somehow possible to use sphinx to create pytest documentation, please do not hesitate to contact me.\n\nRequirements\n------------\n\n- Python 3.4, 3.5, 3.6 or 3.7\n- Pytest >= 3.5.0\n\nInstallation\n------------\n\nYou can install \"pytest-docs\" via `pip`_ from `PyPI`_::\n\n $ pip install pytest-docs\n\n\nUsage\n-----\n\nUse ``--docs [PATH]`` to create the documentation.\n\nUse ``--doc-type`` to select the type (currently supports ``md`` and ``rst``)\n\nUse ``@pytest.mark.pytest_doc(name=\"Test Class\")`` to override name of element. It'll override name based on the place it is being used (module, class or function).\n\n**Note:** pytest-docs uses the pytest collection mechanism, so your documentation will be generated according the the usual collection commands used to run the tests.\n\nWhat's planned ahead\n--------------------\n\n1. See if anyone is even interested in this\n2. Document fixtures\n3. Document tests and fixtures parametrization\n4. Custom formatters via hooks\n\nContributing\n------------\nContributions are very welcome. Tests can be run with `tox`_, please ensure\nthe coverage at least stays the same before you submit a pull request.\n\nLicense\n-------\n\nDistributed under the terms of the `MIT`_ license, \"pytest-docs\" is free and open source software\n\nIssues\n------\n\nIf you encounter any problems, please `file an issue`_ along with a detailed description.\n\n.. _`Cookiecutter`: https://github.com/audreyr/cookiecutter\n.. _`@hackebrot`: https://github.com/hackebrot\n.. _`MIT`: http://opensource.org/licenses/MIT\n.. _`BSD-3`: http://opensource.org/licenses/BSD-3-Clause\n.. _`GNU GPL v3.0`: http://www.gnu.org/licenses/gpl-3.0.txt\n.. _`Apache Software License 2.0`: http://www.apache.org/licenses/LICENSE-2.0\n.. _`cookiecutter-pytest-plugin`: https://github.com/pytest-dev/cookiecutter-pytest-plugin\n.. _`file an issue`: https://github.com/liiight/pytest-docs/issues\n.. _`pytest`: https://github.com/pytest-dev/pytest\n.. _`tox`: https://tox.readthedocs.io/en/latest/\n.. _`pip`: https://pypi.org/project/pip/\n.. _`PyPI`: https://pypi.org/project\n\nThis `pytest`_ plugin was generated with `Cookiecutter`_ along with `@hackebrot`_'s `cookiecutter-pytest-plugin`_ template.\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/liiight/pytest-docs", "keywords": "", "license": "MIT", "maintainer": "Or Carmi", "maintainer_email": "or.carmi82@gmail.com", "name": "pytest-docs", "package_url": "https://pypi.org/project/pytest-docs/", "platform": "", "project_url": "https://pypi.org/project/pytest-docs/", "project_urls": { "Homepage": "https://github.com/liiight/pytest-docs" }, "release_url": "https://pypi.org/project/pytest-docs/0.1.0/", "requires_dist": [ "pytest (>=3.5.0)" ], "requires_python": ">=3.4", "summary": "Documentation tool for pytest", "version": "0.1.0" }, "last_serial": 4474630, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "52da0dab3dd0c9f7c641599ee91f32be", "sha256": "45f8feb320cb3de2793c1ab36e2b5db59854661c169a2542fd1e69619e18fa04" }, "downloads": -1, "filename": "pytest_docs-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "52da0dab3dd0c9f7c641599ee91f32be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4,<4.0", "size": 14286, "upload_time": "2018-11-04T14:12:40", "url": "https://files.pythonhosted.org/packages/49/01/9603ba5b07265f7cf2f3b3a610b9a187b583bd15592af7b78a48e833bfbb/pytest_docs-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dac06335555d6fac853a8c2f672ea45", "sha256": "b71727025608341e774cdd88cd80996b0c0426a38931a233401d42d3c30b4bfb" }, "downloads": -1, "filename": "pytest-docs-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2dac06335555d6fac853a8c2f672ea45", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4.0", "size": 5956, "upload_time": "2018-11-04T14:12:38", "url": "https://files.pythonhosted.org/packages/29/4c/19fca3f85d121cc7d3452ebc51c6a818a3444a84b7d852e9b2a45d57ecab/pytest-docs-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "876cdf085ebcc6b0a4f9de1fa10823bf", "sha256": "f0bf01430bc6099b5c39e7a70c3a497c4d95dd948059c552ef3001aa4b98912b" }, "downloads": -1, "filename": "pytest_docs-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "876cdf085ebcc6b0a4f9de1fa10823bf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4,<4.0", "size": 12928, "upload_time": "2018-11-05T22:30:14", "url": "https://files.pythonhosted.org/packages/1d/3f/6f1d31e93ac54989fa89bfd2e73a2863b6bb28d86e49a255007fa33120bc/pytest_docs-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "839c1c5a926d3b74b2068defbc0afba6", "sha256": "def5fa332232ff98f211de63f9041aeef1ae16fa4735798594bd9c9de6662408" }, "downloads": -1, "filename": "pytest-docs-0.0.2.tar.gz", "has_sig": false, "md5_digest": "839c1c5a926d3b74b2068defbc0afba6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4.0", "size": 4363, "upload_time": "2018-11-05T22:29:58", "url": "https://files.pythonhosted.org/packages/3c/96/8a4f37e8b2de7457d9896b01644cc5620018668ddb5789d19ad20d4b8304/pytest-docs-0.0.2.tar.gz" } ], "0.0.2b0": [ { "comment_text": "", "digests": { "md5": "5274d42d7f82c32385313ac3a809da06", "sha256": "b37b1c6984ebb4c0632f24ff6db1b9ff60bc539feacce1c974b3acd8fcd62967" }, "downloads": -1, "filename": "pytest_docs-0.0.2b0-py3-none-any.whl", "has_sig": false, "md5_digest": "5274d42d7f82c32385313ac3a809da06", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3,<4.0", "size": 14503, "upload_time": "2018-11-05T22:45:22", "url": "https://files.pythonhosted.org/packages/a7/b3/3762da8f92a00822b2d9763b27a57ce52cd132b249fd700f61b2b135ee3e/pytest_docs-0.0.2b0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b0ecc67d8f2a4df578ce8648cb428e6", "sha256": "ce38280251fc0f57aad31792c11ddff6359ffc909d087dd7ca390f4bfbf1f0ed" }, "downloads": -1, "filename": "pytest-docs-0.0.2b0.tar.gz", "has_sig": false, "md5_digest": "7b0ecc67d8f2a4df578ce8648cb428e6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3,<4.0", "size": 6054, "upload_time": "2018-11-05T22:45:21", "url": "https://files.pythonhosted.org/packages/f5/57/c6a10389cb1f5fdb065973748a5efc1f19d79caf32ad6e5bec9266110198/pytest-docs-0.0.2b0.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b58982418a467bc1266117e09456a353", "sha256": "57da26f2e07cfac5c1b0c790a0bec2e6aabf8abde117a7e748c4450aa2df7fd4" }, "downloads": -1, "filename": "pytest_docs-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b58982418a467bc1266117e09456a353", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3,<4.0", "size": 14478, "upload_time": "2018-11-05T22:48:02", "url": "https://files.pythonhosted.org/packages/28/e2/31065a3e3d1ec1ca76b8df7c7162efd21c4ead5fe15ce345ba38a610f903/pytest_docs-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ed127b7a01613f5233ed6f6e581e9ce", "sha256": "7d689d1fbdf1e51c049d715a419434881717d9fc7584927e1cbbda3e48403294" }, "downloads": -1, "filename": "pytest-docs-0.0.3.tar.gz", "has_sig": false, "md5_digest": "7ed127b7a01613f5233ed6f6e581e9ce", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3,<4.0", "size": 6046, "upload_time": "2018-11-05T22:47:58", "url": "https://files.pythonhosted.org/packages/5a/c9/969d6b25ff164fa17ea1880baab371405dedc24babe43e7b570d82becf1c/pytest-docs-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "22ebf63315623af743ea7f5d7d2f23c5", "sha256": "ae443973ecc6107561b9e475463f54616f1721ba6f4aa0fd2724d41e1aa90c38" }, "downloads": -1, "filename": "pytest_docs-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "22ebf63315623af743ea7f5d7d2f23c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3,<4.0", "size": 14475, "upload_time": "2018-11-05T22:51:16", "url": "https://files.pythonhosted.org/packages/3c/00/6761c13235232439a6f8518bad4ee9ca66692f6961ced5df70fabf903343/pytest_docs-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "678d61cfce9703fa1048db7ca705074c", "sha256": "b84c208afaf0687382cad8801fa72ba78625c1cc0ca6bd87b8b78dcc655c1012" }, "downloads": -1, "filename": "pytest-docs-0.0.4.tar.gz", "has_sig": false, "md5_digest": "678d61cfce9703fa1048db7ca705074c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3,<4.0", "size": 6046, "upload_time": "2018-11-05T22:51:14", "url": "https://files.pythonhosted.org/packages/83/e7/d7959e0df2bb1073ed09a9f74aa291e7fb7b34c59fb145849d3d74ca5af0/pytest-docs-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "b9271bc3e429afc540aad4b029c24c45", "sha256": "19d928eb3070cf2cd80ada1b172c8e2292c469b52e84002df9ff60bac643cd1e" }, "downloads": -1, "filename": "pytest_docs-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "b9271bc3e429afc540aad4b029c24c45", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 7764, "upload_time": "2018-11-06T09:03:49", "url": "https://files.pythonhosted.org/packages/d9/f5/05ead206d922c9ab4e43cc946f90640b3869d803f1a13afb4753534b817c/pytest_docs-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de0ac52fa0058d082d60b8eb7b7939a6", "sha256": "e9e80fb772ea9a70f1aba8b7dbd5d376b7b3f786125f8da651897f3d09034413" }, "downloads": -1, "filename": "pytest-docs-0.0.5.tar.gz", "has_sig": false, "md5_digest": "de0ac52fa0058d082d60b8eb7b7939a6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 6196, "upload_time": "2018-11-06T09:03:52", "url": "https://files.pythonhosted.org/packages/18/e3/73b6982a5caf18777af2efa9aeacb93d024563898d77f53eb0eacb83f80d/pytest-docs-0.0.5.tar.gz" } ], "0.0.5.post1": [ { "comment_text": "", "digests": { "md5": "25f55f284d9d6b138f4d4dffd70bd6e1", "sha256": "884fa31e296a99e687a5863449e7027ad5a2b58094bd3502899e713e07e145e6" }, "downloads": -1, "filename": "pytest_docs-0.0.5.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "25f55f284d9d6b138f4d4dffd70bd6e1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 7935, "upload_time": "2018-11-06T09:17:26", "url": "https://files.pythonhosted.org/packages/18/98/4e40e75de2ea43671e6cfa8e1ceddba7088ea2eae757c14bf005056ebd20/pytest_docs-0.0.5.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5df7147228f2f7119682fcede5fa50fc", "sha256": "c536ccc70bc2b2f2a80079af4ad554bba21b33310507b892581549beb12301ae" }, "downloads": -1, "filename": "pytest-docs-0.0.5.post1.tar.gz", "has_sig": false, "md5_digest": "5df7147228f2f7119682fcede5fa50fc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 6302, "upload_time": "2018-11-06T09:17:28", "url": "https://files.pythonhosted.org/packages/fe/95/41aec6cda082c4f86249049c45867442db9f474ab83465a5f70bf5e86763/pytest-docs-0.0.5.post1.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "02b87b4ff288903a5e3f664c67863770", "sha256": "986db3e34c3b61922a822468181667c555311915eb5d79f42268142a02e1b4f6" }, "downloads": -1, "filename": "pytest_docs-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "02b87b4ff288903a5e3f664c67863770", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 7875, "upload_time": "2018-11-06T10:13:12", "url": "https://files.pythonhosted.org/packages/9c/72/d46a7a10cb3a64c17e3c7889b244aaf761ee6abf897da5041f17ebe790ac/pytest_docs-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8aac8d013c117fe65f301d8418981d1", "sha256": "9fa8431a714c418c2143239928160bb37b82eaa40553e9e1b96d4d2bc7c1f71c" }, "downloads": -1, "filename": "pytest-docs-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c8aac8d013c117fe65f301d8418981d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 6302, "upload_time": "2018-11-06T10:13:13", "url": "https://files.pythonhosted.org/packages/41/a9/cb79060a83f0665fc0955b774eab9e2226138aa0f5d856c3ca366fcbca15/pytest-docs-0.0.6.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "c6e4fcc06c610cf1215b32396f58d03b", "sha256": "a7c37770dbc3e3279695639e5f73e21657c515b70c4c0d749745a397c5c599f5" }, "downloads": -1, "filename": "pytest_docs-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c6e4fcc06c610cf1215b32396f58d03b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 8598, "upload_time": "2018-11-11T15:59:08", "url": "https://files.pythonhosted.org/packages/b8/04/d05a9d87648e7178309a49a0e2328bd7bfa3ed430faa6bfc59396d8f74d7/pytest_docs-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73d06bd4117e0902c923905310bb504e", "sha256": "0ffa61dafd3aca81bb8e64416207b599e5906fde2d6ad68e430975196eb397e0" }, "downloads": -1, "filename": "pytest-docs-0.1.0.tar.gz", "has_sig": false, "md5_digest": "73d06bd4117e0902c923905310bb504e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 7138, "upload_time": "2018-11-11T15:59:24", "url": "https://files.pythonhosted.org/packages/e2/f1/c84145ca5d0718cd674cea9fe38a21d04620676b0592b81b2c41837c51d8/pytest-docs-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c6e4fcc06c610cf1215b32396f58d03b", "sha256": "a7c37770dbc3e3279695639e5f73e21657c515b70c4c0d749745a397c5c599f5" }, "downloads": -1, "filename": "pytest_docs-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c6e4fcc06c610cf1215b32396f58d03b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 8598, "upload_time": "2018-11-11T15:59:08", "url": "https://files.pythonhosted.org/packages/b8/04/d05a9d87648e7178309a49a0e2328bd7bfa3ed430faa6bfc59396d8f74d7/pytest_docs-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73d06bd4117e0902c923905310bb504e", "sha256": "0ffa61dafd3aca81bb8e64416207b599e5906fde2d6ad68e430975196eb397e0" }, "downloads": -1, "filename": "pytest-docs-0.1.0.tar.gz", "has_sig": false, "md5_digest": "73d06bd4117e0902c923905310bb504e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 7138, "upload_time": "2018-11-11T15:59:24", "url": "https://files.pythonhosted.org/packages/e2/f1/c84145ca5d0718cd674cea9fe38a21d04620676b0592b81b2c41837c51d8/pytest-docs-0.1.0.tar.gz" } ] }