Back to directory

ygot

ygot (YANG Go Tools) is a Go toolkit that generates Go structs and enums from YANG modules, validates populated structs against the YANG schema, and renders them to JSON or gNMI notifications for streaming telemetry.

ygot

ygot generates a set of Go structures and enumerated values from a set of YANG modules through its generator binary, built on the ygen library, along with associated helper methods. The ytypes package validates the contents of those generated structures against constraints defined in the YANG schema, such as ranges and regular expressions, and the ygot package itself renders populated structures to JSON or to a set of gNMI notifications for use in streaming telemetry.

While designed to work with any YANG module, ygot can additionally transform the schema for OpenConfig modules that follow the OpenConfig style guide, optimizing the data structures it produces for configuration use; an OpenConfig linter can verify a model conforms to those style requirements. A demo walks through generating and using code for the openconfig-interfaces module, and the project tracks support for the two most recent Go releases. It is explicitly not an official Google product.

More in Libraries

See all 292
  • OpenDecision

    deepanwadhwa.github.io

    An open-source Python package that answers typed questions about application state or documents using a local natural-language-inference model, returning structured choice, score, yes/no or evidence-relation values instead of free text.

  • TradeCanvas

    bonguynvan.github.io

    A zero-dependency canvas charting engine for building TradingView-style trading charts in JavaScript, with 66 technical indicators, 24 drawing tools, 17 chart types, and real-time streaming.

  • 3d retro graphics

    3d-retro.com

    A free, CC0-licensed library of copy-paste retro 3D and demoscene graphics effects, such as plasma, raytracing, and voxel terrain, runnable as WebGL 1 or plain 2D canvas.