Skip to main content

ncs-yang is the smartway to compile yang file/files along with it's dependencies from Makefile.

Project description


License: Apache 2.0 Version: Downloads Downloads

ncs-yang is a simple tool to compile specific yang file/s using ncsc and to create uml diagrams from it.


We haven't found a simple way to compile single yang file or to create uml diagrams from it. We usuall run make or make all to compile the yang files. For uml diagrams we have to copy all the yang files from ncs and the project to an directory and generate uml diagram using pyang -f uml command.

Being a developer we wanted to trigger/generate with simple commands or single line commands. Which leaded to create this library.


  • ncsc, pyang commands must be reconginsed by the terminal.
  • ncs-yang supports both trains of python 2.7+ and 3.1+, the OS should not matter.

Installation and Downloads

The best way to get ncs-yang is with setuptools or pip. If you already have setuptools, you can install as usual:

python -m pip install ncs-yang
pip install ncs-yang

Otherwise download it from PyPi, extract it and run the script

python install

If you're Interested in the source, you can always pull from the github repo:

  • From github git clone


⋊> ~/k/i/ncs-yang on master $ ncs-yang --help

    <YangFile or YangFiles> [--uml | --jtox | --dsdl] 
    --schema <yang>         [--json | --xml | --yml]
    --yang-sync <settings.yml>          to collect yang files from remote machine
    --payload <payload.json> 
        <YangFile or YangFiles>         will return payload.xml
    --payload <payload.xml>
        <YangFile or YangFiles>         will return payload.json
    --payload <payload.yml>             will return payload.json
        <YangFile or YangFiles>         will return payload.xml
    --log [info | debug]
    --path <dependency yang path>
    -h | --help
    -v | --version


Compiling specific yang files

  • running single yang file
⋊> ~/k/i/cfs-package on sprint $ ncs-yang src/yang/cfs-mpls.yang
[ INFO ] :: [ ncs-yang ] :: compiling yang file: src/yang/cfs-mpls.yang
 /opt/ncs/ncs- `ls cfs-mpls-ann.yang > /dev/null 2>&1 && echo "-a cfs-mpls-ann.yang"` --yangpath /opt/ncs/ncs-run/packages/cfs-package/src/../../common/src/yang --yangpath /opt/ncs/ncs-run/packages/cfs-package/src/../../resource-manager/src/yang -c -o /opt/ncs/ncs-run/packages/cfs-package/load-dir/cfs-mpls.fxs src/yang/cfs-mpls.yang
  • running multiple yang files
⋊> ~/k/i/cfs-package/src/yang on sprint $ ncs-yang cfs-mpls.yang cfs-asa.yang
[ INFO ] :: [ ncs-yang ] :: compiling yang file: cfs-mpls.yang
 /opt/ncs/ncs- `ls cfs-mpls-ann.yang > /dev/null 2>&1 && echo "-a cfs-mpls-ann.yang"` --yangpath /opt/ncs/ncs-run/packages/cfs-package/src/../../common/src/yang --yangpath /opt/ncs/ncs-run/packages/cfs-package/src/../../resource-manager/src/yang -c -o /opt/ncs/ncs-run/packages/cfs-package/load-dir/cfs-mpls.fxs cfs-mpls.yang
[ INFO ] :: [ ncs-yang ] :: compiling yang file: cfs-asa.yang
 /opt/ncs/ncs- `ls cfs-asa-ann.yang > /dev/null 2>&1 && echo "-a cfs-asa-ann.yang"` --yangpath /opt/ncs/ncs-run/packages/cfs-package/src/../../common/src/yang --yangpath /opt/ncs/ncs-run/packages/cfs-package/src/../../resource-manager/src/yang -c -o /opt/ncs/ncs-run/packages/cfs-package/load-dir/cfs-asa.fxs cfs-asa.yang

Creating uml diagrams from yang files

⋊> ~/k/i/c/s/yang on sprint $ ncs-yang cfs-mpls.yang --uml
[ INFO ] :: [ ncs-yang ] :: generated uml diagram: cfs-mpls.uml


  • Question: I am seeing an error?
    Answer: Error might be related to yang file, we recommend to check again beforing opening a bug.

Change Log

New in 1.2.4

  • Feature Adding yang-sync
  • Feature Adding payload convertion
  • Feature Adding schema generator

New in 1.2.3

  • Fix: Import issues, logger corrections

New in 1.2

  • Feature: Adding UML Diagrams support
  • Feature: Adding Jtox support
  • Feature: Adding DSDL support

Bug Tracking and Support

  • Please report any suggestions, bug reports, or annoyances with ncs-yang through the Github bug tracker.

License and Copyright

Author and Thanks

ncs-yang was developed by Kiran Kumar Kotari, For any suggestions or comments contact or If you find any bugs please fix them and send me a pull request.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ncs-yang- (18.7 kB view hashes)

Uploaded source

Built Distribution

ncs_yang- (17.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page