Skip to main content

GUI tool for viewing and editing YANG instance data

Project description

YANG GUI: A Graphical User Interface (GUI) for viewing and editing YANG data (RFC 7950)

Copyright (C) 2020-2021 by Christian Herber

ABOUT

YANG GUI is a python implemented GUI for working with YANG models and their corresponding instance data. The GUI based on wxPython (https://wxpython.org/), a cross-platform GUI toolkit.

YANG model and data handling is done using Yangson https://yangson.labs.nic.cz/index.html. The GUI was developed using version 1.4.4 of Yangson. The supported features of YANG etc. are naturally a subset of the features supported by Yangson.

The intention of the GUI is to provide easy means of getting on overview over YANG data, YANG models, and allow also inexperienced engineers to work with YANG.

FEATURES

The GUI supports the following high level features:

  • YANG instance data editor
    • Load and display instance data
    • Create or delete nodes in the data tree
    • Enforcement of correct data through specialized controls
    • Store modified data to file
  • YANG error log: Error view for entire data tree
  • Diff viewer: Side-by-side comparison of intial and modified data
  • Graph support: Draw line graphs for values like counters
  • Southbound interface integration: Prepared for integration with soutbound interfaces

INSTALLATION

YANG GUI is distributed via PyPI and can be installed using pip

pip install yanggui

After successful installation, it should be possible to launch the GUI using

python -m yanggui

GETTING STARTED

To get started with YANG GUI, at least two things are needed:

  • A list of include directories specifying where YANG modules can be found
  • A YANG library data file (RFC7895)

The includes should be in place first. They can be loaded through YANG | Load Includes.... The file containing is expected to be a .json containing an array with the includes paths. For example, this file would load include paths for IEEE 802 and IETF modules:

[
    "./yang/standard/ieee/published/802",
    "./yang/standard/ieee/published/802.1",
    "./yang/standard/ieee/published/802.3",
    "./yang/standard/ietf/RFC",
]

With includes in place, a YANG libarary can be loaded through YANG | Load Libary.... After successfully loading the library, the specified YANG modules are loaded and the editor appears. As no data has been loaded, the editor will only show the top level modules, and nodes can be added by clicking the plus icons.

With the YANG modules loaded through the libarary, data files can be opened following YANG | Load Data.... After succesfully loading the data, it can be inspected and modified in the editor. Also, any errors will be shown in the Data Errors View at the bottom.

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

yanggui-0.1.7.tar.gz (21.1 kB view hashes)

Uploaded Source

Built Distribution

yanggui-0.1.7-py3-none-any.whl (25.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page