{"id":16164247,"url":"https://github.com/troglobit/yangdoc","last_synced_at":"2025-07-07T16:37:00.884Z","repository":{"id":245742541,"uuid":"818924112","full_name":"troglobit/yangdoc","owner":"troglobit","description":"View YANG documentation from a tree","archived":false,"fork":false,"pushed_at":"2024-07-04T05:03:35.000Z","size":290,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T16:03:32.881Z","etag":null,"topics":["yang","yang-model"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/yangdoc/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/troglobit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-23T09:14:02.000Z","updated_at":"2024-07-04T05:03:27.000Z","dependencies_parsed_at":"2024-06-27T10:10:37.741Z","dependency_job_id":"01519314-dd12-4d2a-9533-02dc52862145","html_url":"https://github.com/troglobit/yangdoc","commit_stats":null,"previous_names":["troglobit/ytree","troglobit/yangtree","troglobit/yangdoc"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fyangdoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fyangdoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fyangdoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fyangdoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/troglobit","download_url":"https://codeload.github.com/troglobit/yangdoc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241418357,"owners_count":19959736,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["yang","yang-model"],"created_at":"2024-10-10T02:45:51.123Z","updated_at":"2025-07-07T16:37:00.877Z","avatar_url":"https://github.com/troglobit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"YANG Documentation Viewer\n=========================\n\nVery limited YANG Documentation generator based on libyang, with similar\noutput to that of `pyang -f jstree`.  The default output is a standalone\nHTML file, called `yangdoc.html`, that can be included in documentation\nbundles.\n\n\nUsage\n-----\n\nSee below [setup instructions](#setup) first.\n\n```\n~/src/yangdoc(main)$ python main.py -p yang -m ietf-system -e authentication \\\n                      -e local-users -e ntp -e ntp-udp-port -e timezone-name \\\n                      -m ietf-interfaces -e if-mib\nINFO: Parsing ietf-system, enabling features: ['authentication', 'local-users', 'ntp', 'ntp-udp-port', 'timezone-name']\nWARNING: Warning: failed to parse module: Data model \"ietf-netconf-acm\" not found in local searchdirs.: Loading \"ietf-netconf-acm\" module failed.: Parsing module \"ietf-system\" failed.\nINFO: Parsing ietf-interfaces, enabling features: ['if-mib']\nINFO: Processing module ietf-interfaces\nINFO: HTML file generated: yangdoc.html\nx-www-browser yang_tree_view.html\n~/src/yangdoc(main)$ x-www-browser yang_tree_view.html\n```\n\n\nScreenshot\n----------\n\n![](screenshot.png)\n\n\nSetup\n-----\n\n\u003e These instructions have been tested on Linux Mint 21.3, but\n\u003e are mostly the same for other operating systems.\n\nClone the repository to your home directory:\n\n```\n~$ cd src/\n~/src$ git clone https://github.com/troglobit/yangdoc\n~/src$ cd yangdoc\n~/src/yangdoc(main)$\n```\n\nSet up your virtual environment, this ensures all python packages\ninstalled from `requirements.txt` are installed only in `.venv/`:\n\n```\n~/src/yangdoc(main)$ python -m venv .venv\n~/src/yangdoc(main)$ source .venv/bin/activate\n```\n\nInstall all required packages:\n\n```\n~/src/yangdoc(main)$ sudo apt install libyang2\n~/src/yangdoc(main)$ pip install -r requirements.txt\n```\n\n\nDeveloper Notes\n---------------\n\nUse `pip-compile` from pip-tools to [manage Python requirements][1],\nthis makes life a lot easier since we only need `pyproject.toml` for\nall our packaging needs.\n\nTo install locally, or just build, verifying pyproject.toml:\n\n```\n~/src/yangdoc(main)$ pip install -e .\n~/src/yangdoc(main)$ python -m build\n```\n\nFor uploading to PyPi, remember to install twine:\n\n```\n~/src/yangdoc(main)$ pip install twine\n```\n\nThen build and test upload:\n\n```\n~/src/yangdoc(main)$ python -m build\n~/src/yangdoc(main)$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*\n```\n\nVerify upload and then upload to PyPi proper:\n\n```\n~/src/yangdoc(main)$ twine upload dist/*\n```\n\n\n[1]: https://massimilianobruni-92986.medium.com/fix-your-python-requirements-with-pip-tools-856765d8c061\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2Fyangdoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftroglobit%2Fyangdoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2Fyangdoc/lists"}