{ "info": { "author": "Oscar Ciudad", "author_email": "oscar@jacho.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Web Environment", "Framework :: Sphinx :: Extension", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Documentation", "Topic :: Documentation :: Sphinx", "Topic :: Utilities" ], "description": "Sphinx traceability extension\n=============================\n\n.. image:: https://badge.fury.io/py/sphinxcontrib-traceability.svg\n :target: https://badge.fury.io/py/sphinxcontrib-traceability\n\nTraceability extension for Sphinx documentation generator.\n\nThis extension adds directives and roles that serve to identify and\nrelate portions of Sphinx documents and create lists and traceability\nmatrices based on them.\n\nIt brings Sphinx the capability to work as a pretty decent\ndocument-oriented requirements management tool. Outside of the\nrequirements domain, it can also be used for a wide range of\ndocumentation needs. Interesting features such as code-documentation\ntraceability comes also out of the box.\n\nDirectives\n----------\n\n::\n\n .. item:: item_id [item_caption]\n :<>: other_item_id ...\n ...\n \n [item_content]\n\nThis directive identifies with ``item_id`` the portion of a document\ncontained by the directive itself (``item_content``). If no\n``item_content`` is defined, the directive just marks with ``item_id``\nthe position of the document where it is defined. An optional text can\nbe defined with ``item_caption`` and it will be used in cross\nreferences instead of ``item_id``.\n\nThe extension also checks for uniqueness of item identifiers through\nall files of a Sphinx project, in a similar way to standard Sphinx\nreferences.\n\nThe directive allows multiple ``:<>:`` options that can\nset a list of item identifiers (space separated) the item traces\nto. The name of the option itself indicates the type of the\nrelationship. For example::\n\n .. item:: SW_REQ_001 \n :addresses: SYS_REQ_001 SYS_REQ_002\n :tested_by: SW_TEST_005\n :allocated_to: SW_CSU_004\n ...\n \nThere is a predefined set of relationship names that can be used (the\nmost typical in the systems / software engineering world). If no\nspecific relationship type is to be set, just the generic ``:trace:``\nrelationship name can be used.\n\nA configuration variable, ``traceability_relationships``, can be used to\nextend and customize the set of available relationships. See\n`Configuration`_ for details.\n\n::\n\n .. item-list:: title\n :filter: regexp\n\nThis directive generates in place a list of items. A regular\nexpression can be set with option ``:filter:``, so that only items\nwhose identifier matches the expression are written in the list.\n\n::\n\n .. item-matrix:: title\n :source: regexp\n :target: regexp\n :type: <> ...\n \nThis directive generates in place a traceability matrix of item\ncross-references. ``:source:`` and ``:target:`` options can be used to\nfilter matrix contents. Also content can be filtered based on\ntraceability relationships.\n\n\nRoles\n-----\n\nWhenever an item needs to be referenced in documentation, it can be\ndone with the ``:item:`` role. This item works the same way as any\nother Sphinx cross-reference role. By default, item identifier (or\ncaption, if existing) shall be used in generated link text, but it can\nbe overwritten with ``:role:`Text ``` Sphinx syntax.\n\n\nMore on relationships\n---------------------\n\nWhen setting a relationship from one item to another, this extension\nalways considers the reverse relationship and sets it automatically\nfrom the latter to the former.\n\nTo do it, the internal relationship dictionary will always require\na name for the reverse relationship. For bidirectional relationships,\nthe same name shall be used. Examples:\n\n- depends_on: impacts_on\n- parent: child\n- sibling: sibling\n- trace: backtrace\n\nThis is a very effective way to make traceability matrices flexible\nand easy, as often matrices are requested in both directions. A\ntraceability matrix from source A to target B according a relationship\nwill have its automatic reverse matrix form B to A using its reverse\nrelationship.\n\n\nConfiguration\n-------------\n\n``traceability_relationships`` configuration variable follows the rules\nabove. It is a dictionary with relationship/reverse pairs.\n\nThis is the set of predefined relationships (mostly related with\nstandard UML relationships):\n\n- fulfills: fulfilled_by\n- depends_on: impacts_on\n- implements: implemented_by\n- realizes: realized_by\n- validates: validated_by\n- trace: backtrace (this is kept mainly for backwards compatibility)\n\n\nAdvanced configuration\n----------------------\n\nBy default, items are written as term/definition tuples, but this is\nfully customizable by defining ``traceability_item_template``\nconfiguration variable. It uses `Jinja2 templating language\n`_.\n\n.. note:: using this template mechanism is not trivial. A good\n knowledge of Jinja2 is required.\n\n\nExamples\n--------\n\nThere is an `examples` folder with some Sphinx projects you can run.", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/ociu/sphinx-traceability-extension/archive/v0.1.2.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ociu/sphinx-traceability-extension", "keywords": "traceability,requirements engineering,requirements management,software engineering,systems engineering,sphinx,requirements", "license": "GNU General Public License v3 (GPLv3)", "maintainer": null, "maintainer_email": null, "name": "sphinxcontrib-traceability", "package_url": "https://pypi.org/project/sphinxcontrib-traceability/", "platform": "any", "project_url": "https://pypi.org/project/sphinxcontrib-traceability/", "project_urls": { "Download": "https://github.com/ociu/sphinx-traceability-extension/archive/v0.1.2.tar.gz", "Homepage": "https://github.com/ociu/sphinx-traceability-extension" }, "release_url": "https://pypi.org/project/sphinxcontrib-traceability/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "Sphinx traceability extension", "version": "0.1.2" }, "last_serial": 2219812, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7b0ec8a75415bb5ea82be9d181e97813", "sha256": "843b54b9455ee9b89e826dd1d6020bf52d17fb6ea9851e0f363575f7e5d77588" }, "downloads": -1, "filename": "sphinxcontrib-traceability-v0.1.0.tar.gz", "has_sig": false, "md5_digest": "7b0ec8a75415bb5ea82be9d181e97813", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30035, "upload_time": "2016-04-18T21:27:34", "url": "https://files.pythonhosted.org/packages/be/ba/62f9aaaa30073bc95e57a819c8f34389dc33781a5e7c0fc48c6432feb564/sphinxcontrib-traceability-v0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "82058bbbab0c58f706592f1fe23b0cec", "sha256": "df5d1c246621ce88b21c746cbe995a2f0a60c096ee6f6393cac4e2a8437647c2" }, "downloads": -1, "filename": "sphinxcontrib-traceability-0.1.1.tar.gz", "has_sig": false, "md5_digest": "82058bbbab0c58f706592f1fe23b0cec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7565, "upload_time": "2016-05-03T17:38:52", "url": "https://files.pythonhosted.org/packages/6a/56/dcf6376616ec1d3ae99d00b51a3d3f887fae33ec79606d7ce91fa3e2f342/sphinxcontrib-traceability-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5a9d1a61d8df820ce1d6961c69c38d8c", "sha256": "b223f8194de10b8c845d18377ebe3a429529adb05b5635b56edc7091d2e030bc" }, "downloads": -1, "filename": "sphinxcontrib-traceability-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5a9d1a61d8df820ce1d6961c69c38d8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8074, "upload_time": "2016-07-14T00:00:01", "url": "https://files.pythonhosted.org/packages/7b/54/86344474cf50dd1d5823ea7b04dc4563b5f8cc99fae3dea0ff756f35fbc3/sphinxcontrib-traceability-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5a9d1a61d8df820ce1d6961c69c38d8c", "sha256": "b223f8194de10b8c845d18377ebe3a429529adb05b5635b56edc7091d2e030bc" }, "downloads": -1, "filename": "sphinxcontrib-traceability-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5a9d1a61d8df820ce1d6961c69c38d8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8074, "upload_time": "2016-07-14T00:00:01", "url": "https://files.pythonhosted.org/packages/7b/54/86344474cf50dd1d5823ea7b04dc4563b5f8cc99fae3dea0ff756f35fbc3/sphinxcontrib-traceability-0.1.2.tar.gz" } ] }