Skip to main content

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.

Release files for yanggui 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yanggui 0.1.7
File Size Uploaded
yanggui-0.1.7.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yanggui 0.1.7
File Interpreter ABI Platform
yanggui-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 46.5 kB

Release files / yanggui-0.1.7.tar.gz

Download URL yanggui-0.1.7.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cd79d347387b378c8d4f839a0d4b267155f2f638a9aaf13fcc44b94be06cafb3
BLAKE2b-256 checksum
How to use checksums
a91e29b22de7238bf5da8d5d629d9d1798295b4e63f36301d106fd28a531fbb9
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / yanggui-0.1.7-py3-none-any.whl

Download URL yanggui-0.1.7-py3-none-any.whl
Size 25.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81f99b2725c3ad4b34369e4557d6a95cb50e59703d021aecbb1eaab343ad8f25
BLAKE2b-256 checksum
How to use checksums
46d08babaa727349ebfcb5cf705e83beff7041814d004635fb5af60ad0f1966a
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page