{ "info": { "author": "Carl Moberg", "author_email": "camoberg@cisco.com", "bugtrack_url": null, "classifiers": [], "description": "# A pyang plugin to produce a JSON representation of module trees for use in graph libraries\n\nThis simplistic pyang plugin produces a JSON representation from YANG files. The output can be fed through a variety of libraries for data visualization. Development is mainly done for use with [D3](https://d3js.org/), e.g. using [Hierarchies (d3-hierarchy)](https://github.com/d3/d3/blob/master/API.md#hierarchies-d3-hierarchy).\n\nSome libraries require certain objects, e.g. D3 expects `name` and `children` objects for structure. This may need to be adjusted in the plugin code for other libraries. Should likely be moved to options.\n\n## Example\n```\n$ pyang -f jsontree ietf-interfaces\\@2014-05-08.yang\n{\n \"contact\": \"WG Web: \\nWG List: \\n\\nWG Chair: Thomas Nadeau\\n \\n\\nWG Chair: Juergen Schoenwaelder\\n \\n\\nEditor: Martin Bjorklund\\n \",\n \"name\": \"ietf-interfaces\",\n \"organization\": \"IETF NETMOD (NETCONF Data Modeling Language) Working Group\",\n \"type\": \"module\",\n \"children\": [\n {\n \"description\": \"Interface configuration parameters.\",\n \"type\": \"container\",\n \"name\": \"interfaces\",\n \"children\": [\n {\n \"description\": \"The list of configured interfaces on the device.\\n\\nThe operational state of an interface is available in the\\n/interfaces-state/interface list. If the configuration of a\\nsystem-controlled interface cannot be used by the system\\n(e.g., the interface hardware present does not match the\\ninterface type), then the configuration is not applied to\\nthe system-controlled interface shown in the\\n/interfaces-state/interface list. If the configuration\\nof a user-controlled interface cannot be used by the system,\\nthe configured interface is not instantiated in the\\n/interfaces-state/interface list.\",\n \"type\": \"list\",\n \"name\": \"interface\",\n \"children\": [\n {\n \"description\": \"The name of the interface.\\n\\nA device MAY restrict the allowed values for this leaf,\\npossibly depending on the type of the interface.\\nFor system-controlled interfaces, this leaf is the\\ndevice-specific name of the interface. The 'config false'\\nlist /interfaces-state/interface contains the currently\\nexisting interfaces on the device.\\n\\nIf a client tries to create configuration for a\\nsystem-controlled interface that is not present in the\\n/interfaces-state/interface list, the server MAY reject\\nthe request if the implementation does not support\\npre-provisioning of interfaces or if the name refers to\\nan interface that can never exist in the system. A\\nNETCONF server MUST reply with an rpc-error with the\\nerror-tag 'invalid-value' in this case.\\n\\nIf the device supports pre-provisioning of interface\\nconfiguration, the 'pre-provisioning' feature is\\nadvertised.\\n\\nIf the device allows arbitrarily named user-controlled\\ninterfaces, the 'arbitrary-names' feature is advertised.\\n\\nWhen a configured user-controlled interface is created by\\nthe system, it is instantiated with the same name in the\\n/interface-state/interface list.\",\n \"type\": \"leaf\",\n \"name\": \"name\",\n \"children\": []\n }\n ]\n }\n ]\n }\n [...]\n ]\n}\n```", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cmoberg/pyang-jsontree-plugin", "keywords": "yang,extraction,json", "license": "New-style BSD", "maintainer": "", "maintainer_email": "", "name": "pyang-jsontree-plugin", "package_url": "https://pypi.org/project/pyang-jsontree-plugin/", "platform": "", "project_url": "https://pypi.org/project/pyang-jsontree-plugin/", "project_urls": { "Homepage": "https://github.com/cmoberg/pyang-jsontree-plugin" }, "release_url": "https://pypi.org/project/pyang-jsontree-plugin/0.1/", "requires_dist": null, "requires_python": "", "summary": "A pyang plugin to produce a JSON representation of module trees for use in graph libraries", "version": "0.1" }, "last_serial": 3451494, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "a958df55b8975c033894dcfd087e70f5", "sha256": "91da3626d79185a06f85597729419a8375ebfa6fc4d705e5cc6128f8e7878fc6" }, "downloads": -1, "filename": "pyang_jsontree_plugin-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a958df55b8975c033894dcfd087e70f5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6233, "upload_time": "2017-12-30T13:57:23", "url": "https://files.pythonhosted.org/packages/62/4d/5a8628aaba7e31586eeeca92f2fbd1adea1aee64a4857432e6e578ead822/pyang_jsontree_plugin-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c661cff674a13b5836960a31cc6ca56a", "sha256": "89fb3216c61ec034f3fa6bc4a82fea457f41ac3b18cdf2b8987f361ff5031983" }, "downloads": -1, "filename": "pyang-jsontree-plugin-0.1.tar.gz", "has_sig": false, "md5_digest": "c661cff674a13b5836960a31cc6ca56a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3412, "upload_time": "2017-12-30T13:57:10", "url": "https://files.pythonhosted.org/packages/c5/20/11a6db5e958f91fac1cb7515a7668489db214e3b4bdc7b5880bee2ca7adf/pyang-jsontree-plugin-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a958df55b8975c033894dcfd087e70f5", "sha256": "91da3626d79185a06f85597729419a8375ebfa6fc4d705e5cc6128f8e7878fc6" }, "downloads": -1, "filename": "pyang_jsontree_plugin-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a958df55b8975c033894dcfd087e70f5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6233, "upload_time": "2017-12-30T13:57:23", "url": "https://files.pythonhosted.org/packages/62/4d/5a8628aaba7e31586eeeca92f2fbd1adea1aee64a4857432e6e578ead822/pyang_jsontree_plugin-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c661cff674a13b5836960a31cc6ca56a", "sha256": "89fb3216c61ec034f3fa6bc4a82fea457f41ac3b18cdf2b8987f361ff5031983" }, "downloads": -1, "filename": "pyang-jsontree-plugin-0.1.tar.gz", "has_sig": false, "md5_digest": "c661cff674a13b5836960a31cc6ca56a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3412, "upload_time": "2017-12-30T13:57:10", "url": "https://files.pythonhosted.org/packages/c5/20/11a6db5e958f91fac1cb7515a7668489db214e3b4bdc7b5880bee2ca7adf/pyang-jsontree-plugin-0.1.tar.gz" } ] }