Skip to main content

PyangBind is a plugin for pyang which converts YANG data models into a Python class hierarchy, such that Python can be used to manipulate data that conforms with a YANG model.

Project description

PyangBind is a plugin for pyang which converts YANG data models into a Python class hierarchy, such that Python can be used to manipulate data that conforms with a YANG model.

This module provides the supporting classes and functions that PyangBind modules utilise, particularly:

  • pyangbind.base.PybindBase - which is the parent class inherited by all container or module YANG objects.

  • pyangbind.pybindJSON - which containers wrapper functions which can be used to help with serialisation of YANG to JSON.

  • pyangbind.serialise.pybindJSONEncoder - a class that can be used as a custom encoder for the JSON module to serialise PyangBind class hierarchies to JSON.

  • pyangbind.serialise.pybindJSONDecoder - a class that can be used as a custom decoder to load JSON-encoded instances of YANG models into a PyangBind class hierarchy.

  • pyangbind.xpathhelper.YANGPathHelper - a class which can have objects registered against it, and subsequently retrieved from it using XPATH expressions. This module also includes parent classes that can be used to implement other helper modules of this nature.

  • pyangbind.yangtypes: The various functions which generate python types that are used to represent YANG types, and some helper methods.

    • pyangbind.yangtypes.is_yang_list and is_yang_leaflist are self explainatory, but may be useful.

    • pyangbind.yangtypes.safe_name is used throughout PyangBind to determine how to map YANG element names into Python attribute names safely.

    • pyangbind.yangtypes.RestrictedPrecisionDecimalType - generates wrapped Decimal types that has a restricted set of decimal digits - i.e., can deal with fraction-digits arguments in YANG.

    • pyangbind.yangtypes.RestrictedClassType - generates types which wrap a ‘base’ type (e.g., integer) with particular restrictions. The restrictions are supplied as a dictionary, or with specific arguments if single restrictions are required. Currently, the restrictions supported are regexp matches, ranges, lengths, and restrictions to a set of values (provided as keys to a dict).

    • pyangbind.yangtypes.TypedListType - generates types which wrap a list to restrict the objects that it may contain.

    • pyangbind.yangtypes.YANGListType - generates types which wrap a class representing a container, such that it acts as a YANG list.

    • pyangbind.yangtypes.YANGBool - a boolean class.

    • pyangbind.yangtypes.YANGDynClass - generates types which consist of a wrapper (YANGDynClass) and a wrapped object which may be any other class. YANGDynClass is a meta-class that provides additional data on top of the attributes and functions of the wrapped class.

    • pyangbind.yangtypes.ReferenceType - generates types which can use a pyangbind.xpathhelper.PybindXpathHelper instance to look up values - particularly to support leafrefs in YANG.

Usage documentation for PyangBind itself can be found on GitHub: https://github.com/robshakir/pyangbind

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

pyangbind-0.8.7.tar.gz (55.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyangbind-0.8.7-py3-none-any.whl (52.7 kB view details)

Uploaded Python 3

File details

Details for the file pyangbind-0.8.7.tar.gz.

File metadata

  • Download URL: pyangbind-0.8.7.tar.gz
  • Upload date:
  • Size: 55.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyangbind-0.8.7.tar.gz
Algorithm Hash digest
SHA256 95b2d6f54ca4b22d650bfa243d465c638e62db741d0630a7e45cc0929b9a5862
MD5 0c618438b024940e7c7c8423a1bec6ac
BLAKE2b-256 647724a37f7cbe5a72c8cbb358080ecb0a1114fcfdd37d2d5e2e847e17e56d16

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyangbind-0.8.7.tar.gz:

Publisher: pypi.yml on robshakir/pyangbind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyangbind-0.8.7-py3-none-any.whl.

File metadata

  • Download URL: pyangbind-0.8.7-py3-none-any.whl
  • Upload date:
  • Size: 52.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyangbind-0.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 67685aa7da3133e27c19a4637885086ce616cfdcc5ba62c1e87fa682e1f1642f
MD5 aeec8d13f406c65235a89d6e7195942d
BLAKE2b-256 58dd1e5920dcacbaa66a32689aa24f4e6ed6732b48f5a97719053c3bd0f363a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyangbind-0.8.7-py3-none-any.whl:

Publisher: pypi.yml on robshakir/pyangbind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page