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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file yanggui-0.1.7.tar.gz.

File metadata

  • Download URL: yanggui-0.1.7.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.0

File hashes

Hashes for yanggui-0.1.7.tar.gz
Algorithm Hash digest
SHA256 cd79d347387b378c8d4f839a0d4b267155f2f638a9aaf13fcc44b94be06cafb3
MD5 74560b1f53116d88dcc06acc22d5b04b
BLAKE2b-256 a91e29b22de7238bf5da8d5d629d9d1798295b4e63f36301d106fd28a531fbb9

See more details on using hashes here.

File details

Details for the file yanggui-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: yanggui-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.0

File hashes

Hashes for yanggui-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 81f99b2725c3ad4b34369e4557d6a95cb50e59703d021aecbb1eaab343ad8f25
MD5 d17e1d32dff396d0986ee79d5a80f0e4
BLAKE2b-256 46d08babaa727349ebfcb5cf705e83beff7041814d004635fb5af60ad0f1966a

See more details on using hashes here.

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