pyang
A YANG (RFC 6020/7950) validator and converter
Decision gist · record as of 2026-08-14
Yes. pyang is a stable, actively maintained tool with no known vulnerabilities, low install friction, and a permissive license. Install it if you work with YANG models, NETCONF, or network data modeling; otherwise, it is not a general-purpose utility.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction; pure Python wheel with a single runtime dependency (lxml).
- Actively maintained with a recent release (2025-08-29) and ongoing repository activity.
License · maintenance · safety
BSD (permissive) — BSD permissive license allows use in most commercial and open-source projects without significant restriction.
last release 2025-08-29 (350 days) · last repo commit 2026-06-24 · 569 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 591,014 downloads/mo, #5,856 on PyPI
Alternatives
Verify before relying
pip install pyang
python -c "from pyang import context; ctx = context.Context()"- Whether the plugin framework is documented well enough for custom code generation without reading source code.
- Performance characteristics when validating large or deeply nested YANG modules.
- Whether all IETF RFCs listed (RFC 6020, 6087, 6110, 6643, 7950, 7952, 8040, 8407, 8791, 9595) are fully implemented or partially supported.
What it is and what it does
pyang is a YANG validator and code generator for network data models. YANG (RFC 7950) is a data modeling language used with NETCONF for network device configuration. pyang reads YANG modules, validates them for correctness against the YANG grammar and RFC specifications, and can transform them into other formats (YIN, DSDL schemas, UML diagrams, tree representations, XML skeletons, and JSON). It includes a plugin system for extending its output capabilities, making it suitable for both standalone validation workflows and integration into larger network automation or code-generation pipelines.
The package depends only on lxml for XML processing and is written in pure Python, making it portable across platforms. It has been actively maintained since its first release, with support for Python 3.7 through 3.11. The tool is commonly used by network engineers and automation developers who need to validate vendor or standards-based YANG models, generate documentation from data models, or translate models into formats suitable for schema validation or code generation.
Use it for
- Validate YANG modules from network device vendors or IETF standards before deploying them in NETCONF-based automation.
- Convert YANG models to DSDL schemas for validating XML instance documents from network devices.
- Generate tree diagrams or UML visualizations of YANG data models for documentation and design review.
- Transform YANG modules to YIN (XML representation) for processing or archival in XML-based workflows.
- Build custom code generators by writing pyang plugins to emit device-specific or language-specific code from YANG models.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
pyang is a stable, actively maintained tool with no known vulnerabilities, low install friction, and a permissive license. Install it if you work with YANG models, NETCONF, or network data modeling; otherwise, it is not a general-purpose utility.
Install
pyang on PyPI
Before you install
Low install friction; pure Python wheel with a single runtime dependency (lxml). Actively maintained with a recent release (2025-08-29) and ongoing repository activity.
License in practice
BSD permissive license allows use in most commercial and open-source projects without significant restriction.
Quickstart
pip install pyang
python -c "from pyang import context; ctx = context.Context()"
Verify before relying
- Whether the plugin framework is documented well enough for custom code generation without reading source code.
- Performance characteristics when validating large or deeply nested YANG modules.
- Whether all IETF RFCs listed (RFC 6020, 6087, 6110, 6643, 7950, 7952, 8040, 8407, 8791, 9595) are fully implemented or partially supported.
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagelxml |
| Maintenance | Actively maintained 350 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 591,014 / month, #5,856 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: pyang-2.7.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “YANG validator”
- pyangpyang validates YANG data models (RFC 7950), converts between YANG…
- pyangbindPyangBind converts YANG data models into Python class hierarchies,…
- yang.connectorProvides NETCONF and gRPC/GNMI client implementations for connecting…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also pyangbind · yang.connector · abnf · jschon · rfc3986-validator · fqdn · eido · iregexp-check · xsdata · asdf-transform-schemas