Install
-------
In this directory run:
python setup.py install
(this might require root access)
To install in a different location, run:
python setup.py install --prefix=/usr/local
If you do this, it is recommended to set the environment variable
YANG_INSTALL to the prefix directory. This ensures that pyang will
find standard YANG modules.
Run locally without installing
------------------------------
export PATH=`pwd`/bin:$PATH
export MANPATH=`pwd`/man:$MANPATH
export PYTHONPATH=`pwd`:$PYTHONPATH
export YANG_MODPATH=`pwd`/modules:$YANG_MODPATH
export PYANG_XSLT_DIR=`pwd`/xslt
export PYANG_RNG_LIBDIR=`pwd`/schema
or:
source ./env.sh
Usage
-----
pyang -h
man pyang
Code structure
--------------
bin/pyang
The executable script documented in pyang(1).
pyang/
Contains the pyang library code.
pyang/__init__.py
Initalization code for the pyang library.
Defines the Context and Repository clasess.
pyang/syntax.py
Generic syntax checking for YANG and YIN statements.
Defines regular expressions for argument checking of core
statements.
pyang/grammar.py
Generic grammar for YANG and YIN.
Defines chk_module_statements() which validates a parse tree
according to the grammar.
pyang/statements.py
Defines the generic Statement class and all validation code.
pyang/yang_parser.py
YANG tokenizer and parser.
pyang/yin_parser.py
YIN parser. Uses the expat library for XML parsing.
pyang/types.py
Contains code for checking built-in types.
pyang/plugin.py
Plugin API. Defines the class PyangPlugin which all plugins
inherits from. All output handlers are written as plugins.
pyang/plugins/
Directory where plugins can be installed. All plugins in this
directory are automatically initialized when the library is
initialized.
pyang/translators/
Contains output plugins for YANG, YIN, XSD, and DSDL translation.
pyang/xslt
Contains XSLT stylesheets for generating RELAX NG, Schematron and
DSRL schemas and validating instance documents. Also included is the
free implementation of ISO Schematron by Rick Jelliffe from
http://www.schematron.com/ (files iso_schematron_skeleton_for_xslt1.xsl,
iso_abstract_expand.xsl and iso_svrl_for_xslt1.xsl).
pyang/schema
Contains RELAX NG schema for YIN and RELAX NG library of common
NETCONF elements which is included by the generated RELAX NG
schemas.